From 010198db1823b285ac537869dad579875215a6af Mon Sep 17 00:00:00 2001 From: Jared-dz Date: Tue, 2 Jun 2026 17:46:37 -0400 Subject: [PATCH 1/2] update rhel req --- docs/quick-connect.es.md | 2 +- docs/quick-connect.fr.md | 2 +- docs/quick-connect.it.md | 2 +- docs/quick-connect.ja.md | 2 +- docs/quick-connect.ko.md | 2 +- docs/quick-connect.md | 2 +- docs/quick-connect.pt.md | 2 +- docs/quick-connect.zh.md | 2 +- docs/setup.es.md | 2 +- docs/setup.fr.md | 2 +- docs/setup.it.md | 2 +- docs/setup.ja.md | 2 +- docs/setup.ko.md | 2 +- docs/setup.md | 2 +- docs/setup.pt.md | 2 +- docs/setup.zh.md | 2 +- site/es/quick-connect/index.html | 2 +- site/es/setup/index.html | 2 +- site/fr/quick-connect/index.html | 2 +- site/fr/setup/index.html | 2 +- site/it/quick-connect/index.html | 2 +- site/it/setup/index.html | 2 +- site/ja/quick-connect/index.html | 2 +- site/ja/setup/index.html | 2 +- site/ko/quick-connect/index.html | 2 +- site/ko/setup/index.html | 2 +- site/pt/quick-connect/index.html | 2 +- site/pt/setup/index.html | 2 +- site/quick-connect/index.html | 2 +- site/search/search_index.json | 2 +- site/setup/index.html | 2 +- site/zh/quick-connect/index.html | 2 +- site/zh/setup/index.html | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/docs/quick-connect.es.md b/docs/quick-connect.es.md index 5290dc3..85a219f 100644 --- a/docs/quick-connect.es.md +++ b/docs/quick-connect.es.md @@ -32,7 +32,7 @@ Responda algunas preguntas y generaremos una guía de conexión personalizada co diff --git a/docs/quick-connect.fr.md b/docs/quick-connect.fr.md index 92182b4..5153b0c 100644 --- a/docs/quick-connect.fr.md +++ b/docs/quick-connect.fr.md @@ -32,7 +32,7 @@ Répondez à quelques questions et nous générerons un guide de connexion perso diff --git a/docs/quick-connect.it.md b/docs/quick-connect.it.md index dee4a53..cdb0369 100644 --- a/docs/quick-connect.it.md +++ b/docs/quick-connect.it.md @@ -32,7 +32,7 @@ Rispondi ad alcune domande e genereremo una guida di connessione personalizzata diff --git a/docs/quick-connect.ja.md b/docs/quick-connect.ja.md index 17fc313..8f5c87c 100644 --- a/docs/quick-connect.ja.md +++ b/docs/quick-connect.ja.md @@ -32,7 +32,7 @@ diff --git a/docs/quick-connect.ko.md b/docs/quick-connect.ko.md index b80ee36..3c28789 100644 --- a/docs/quick-connect.ko.md +++ b/docs/quick-connect.ko.md @@ -32,7 +32,7 @@ diff --git a/docs/quick-connect.md b/docs/quick-connect.md index 07fd277..f305d52 100644 --- a/docs/quick-connect.md +++ b/docs/quick-connect.md @@ -30,7 +30,7 @@ Answer a few questions and we'll generate a personalized connection guide with t diff --git a/docs/quick-connect.pt.md b/docs/quick-connect.pt.md index 93d05cb..4c0be49 100644 --- a/docs/quick-connect.pt.md +++ b/docs/quick-connect.pt.md @@ -32,7 +32,7 @@ Responda algumas perguntas e geraremos um guia de conexão personalizado com as diff --git a/docs/quick-connect.zh.md b/docs/quick-connect.zh.md index 34b10b6..354be0e 100644 --- a/docs/quick-connect.zh.md +++ b/docs/quick-connect.zh.md @@ -32,7 +32,7 @@ diff --git a/docs/setup.es.md b/docs/setup.es.md index 903dc01..353fcfc 100644 --- a/docs/setup.es.md +++ b/docs/setup.es.md @@ -13,7 +13,7 @@ Para validadores: DoubleZero debe instalarse directamente en el host del validador, no en un contenedor. - Conectividad a internet con una dirección IP pública (sin NAT) - Servidor x86_64 -- SO soportado: Ubuntu 22.04+ o Debian 11+, o Rocky Linux / RHEL 8+ +- SO soportado: Ubuntu 22.04+ o Debian 11+, o Rocky Linux / RHEL 9+ - Privilegios de root o sudo en el servidor donde se ejecutará DoubleZero - Opcional pero útil: jq y curl para depuración diff --git a/docs/setup.fr.md b/docs/setup.fr.md index f388fba..6774aee 100644 --- a/docs/setup.fr.md +++ b/docs/setup.fr.md @@ -13,7 +13,7 @@ Pour les validateurs : DoubleZero doit être installé directement sur l'hôte du validateur, pas dans un conteneur. - Connexion internet avec adresse IP publique (sans NAT) - Serveur x86_64 -- Système d'exploitation pris en charge : Ubuntu 22.04+ ou Debian 11+, ou Rocky Linux / RHEL 8+ +- Système d'exploitation pris en charge : Ubuntu 22.04+ ou Debian 11+, ou Rocky Linux / RHEL 9+ - Privilèges root ou sudo sur le serveur exécutant DoubleZero - Facultatif mais utile : jq et curl pour le débogage diff --git a/docs/setup.it.md b/docs/setup.it.md index 44facda..baf5225 100644 --- a/docs/setup.it.md +++ b/docs/setup.it.md @@ -13,7 +13,7 @@ Per i validatori: DoubleZero deve essere installato direttamente sull'host del validatore, non in un container. - Connessione internet con indirizzo IP pubblico (senza NAT) - Server x86_64 -- Sistema operativo supportato: Ubuntu 22.04+ o Debian 11+, oppure Rocky Linux / RHEL 8+ +- Sistema operativo supportato: Ubuntu 22.04+ o Debian 11+, oppure Rocky Linux / RHEL 9+ - Privilegi root o sudo sul server che esegue DoubleZero - Facoltativo ma utile: jq e curl per il debug diff --git a/docs/setup.ja.md b/docs/setup.ja.md index 5b97f25..0d6b6dc 100644 --- a/docs/setup.ja.md +++ b/docs/setup.ja.md @@ -13,7 +13,7 @@ バリデーターの場合:DoubleZeroはコンテナではなく、バリデーターホストに直接インストールする必要があります。 - パブリックIPアドレス(NATなし)を持つインターネット接続 - x86_64サーバー -- 対応OS:Ubuntu 22.04+またはDebian 11+、あるいはRocky Linux / RHEL 8+ +- 対応OS:Ubuntu 22.04+またはDebian 11+、あるいはRocky Linux / RHEL 9+ - DoubleZeroを実行するサーバーのrootまたはsudo権限 - オプションですが有用:デバッグ用のjqとcurl diff --git a/docs/setup.ko.md b/docs/setup.ko.md index 143e281..c899bf4 100644 --- a/docs/setup.ko.md +++ b/docs/setup.ko.md @@ -13,7 +13,7 @@ 검증자의 경우: DoubleZero는 컨테이너가 아닌 검증자 호스트에 직접 설치해야 합니다. - 공개 IP 주소(NAT 없음)를 가진 인터넷 연결 - x86_64 서버 -- 지원 OS: Ubuntu 22.04+ 또는 Debian 11+, 또는 Rocky Linux / RHEL 8+ +- 지원 OS: Ubuntu 22.04+ 또는 Debian 11+, 또는 Rocky Linux / RHEL 9+ - DoubleZero가 실행될 서버의 루트 또는 sudo 권한 - 선택 사항이지만 유용함: 디버깅을 위한 jq 및 curl diff --git a/docs/setup.md b/docs/setup.md index d2067b7..1fcf4c1 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -11,7 +11,7 @@ For validators: DoubleZero needs to be installed directly on your validator host, not in a container. - Internet connectivity with a public IP address (no NAT) - x86_64 server -- Supported OS: Ubuntu 22.04+ or Debian 11+, or Rocky Linux / RHEL 8+ +- Supported OS: Ubuntu 22.04+ or Debian 11+, or Rocky Linux / RHEL 9+ - Root or sudo privileges on the server where DoubleZero will run - Optional but useful: jq and curl for debugging diff --git a/docs/setup.pt.md b/docs/setup.pt.md index e7b12ff..d71884c 100644 --- a/docs/setup.pt.md +++ b/docs/setup.pt.md @@ -13,7 +13,7 @@ Para validadores: o DoubleZero precisa ser instalado diretamente no host do validador, não em um contêiner. - Conectividade à internet com um endereço IP público (sem NAT) - Servidor x86_64 -- SO suportado: Ubuntu 22.04+ ou Debian 11+, ou Rocky Linux / RHEL 8+ +- SO suportado: Ubuntu 22.04+ ou Debian 11+, ou Rocky Linux / RHEL 9+ - Privilégios de root ou sudo no servidor onde o DoubleZero será executado - Opcional, mas útil: jq e curl para depuração diff --git a/docs/setup.zh.md b/docs/setup.zh.md index 6746229..577ac27 100644 --- a/docs/setup.zh.md +++ b/docs/setup.zh.md @@ -13,7 +13,7 @@ 对于验证器:DoubleZero必须直接安装在验证器主机上,而不是容器中。 - 具有公共IP地址(无NAT)的互联网连接 - x86_64服务器 -- 支持的操作系统:Ubuntu 22.04+或Debian 11+,或Rocky Linux / RHEL 8+ +- 支持的操作系统:Ubuntu 22.04+或Debian 11+,或Rocky Linux / RHEL 9+ - 运行DoubleZero的服务器上的root或sudo权限 - 可选但有用:用于调试的jq和curl diff --git a/site/es/quick-connect/index.html b/site/es/quick-connect/index.html index d9835ed..92687fd 100644 --- a/site/es/quick-connect/index.html +++ b/site/es/quick-connect/index.html @@ -1008,7 +1008,7 @@

¿Qué sistema operativo usa su servidor?

diff --git a/site/es/setup/index.html b/site/es/setup/index.html index 262fe69..12fa5a9 100644 --- a/site/es/setup/index.html +++ b/site/es/setup/index.html @@ -1162,7 +1162,7 @@

Requisitos Previos

diff --git a/site/fr/quick-connect/index.html b/site/fr/quick-connect/index.html index be46a63..81dbfd0 100644 --- a/site/fr/quick-connect/index.html +++ b/site/fr/quick-connect/index.html @@ -1008,7 +1008,7 @@

Quel système d'exploitation votre serveur utilise-t-il ?

diff --git a/site/fr/setup/index.html b/site/fr/setup/index.html index 4bb3cad..f8f3e5a 100644 --- a/site/fr/setup/index.html +++ b/site/fr/setup/index.html @@ -1162,7 +1162,7 @@

Prérequis

diff --git a/site/it/quick-connect/index.html b/site/it/quick-connect/index.html index 32eb3e7..f8998ff 100644 --- a/site/it/quick-connect/index.html +++ b/site/it/quick-connect/index.html @@ -1008,7 +1008,7 @@

Quale sistema operativo utilizza il tuo server?

diff --git a/site/it/setup/index.html b/site/it/setup/index.html index 0b65e0c..d42c39b 100644 --- a/site/it/setup/index.html +++ b/site/it/setup/index.html @@ -1162,7 +1162,7 @@

Prerequisiti

diff --git a/site/ja/quick-connect/index.html b/site/ja/quick-connect/index.html index 32b5bcf..b99f2b3 100644 --- a/site/ja/quick-connect/index.html +++ b/site/ja/quick-connect/index.html @@ -1008,7 +1008,7 @@

サーバーのOSは?

diff --git a/site/ja/setup/index.html b/site/ja/setup/index.html index 2a2f690..f4455fb 100644 --- a/site/ja/setup/index.html +++ b/site/ja/setup/index.html @@ -1162,7 +1162,7 @@

前提条件

diff --git a/site/ko/quick-connect/index.html b/site/ko/quick-connect/index.html index 76e74a4..7866246 100644 --- a/site/ko/quick-connect/index.html +++ b/site/ko/quick-connect/index.html @@ -1008,7 +1008,7 @@

서버에서 실행 중인 운영 체제는 무엇인가요?

diff --git a/site/ko/setup/index.html b/site/ko/setup/index.html index ebdc589..7e7e4b7 100644 --- a/site/ko/setup/index.html +++ b/site/ko/setup/index.html @@ -1162,7 +1162,7 @@

사전 요구사항

diff --git a/site/pt/quick-connect/index.html b/site/pt/quick-connect/index.html index 94561e2..d5b1117 100644 --- a/site/pt/quick-connect/index.html +++ b/site/pt/quick-connect/index.html @@ -1008,7 +1008,7 @@

Qual sistema operacional seu servidor está executando?

diff --git a/site/pt/setup/index.html b/site/pt/setup/index.html index b80f58a..118233e 100644 --- a/site/pt/setup/index.html +++ b/site/pt/setup/index.html @@ -1162,7 +1162,7 @@

Pré-requisitos

diff --git a/site/quick-connect/index.html b/site/quick-connect/index.html index 7b30f6d..19de3be 100644 --- a/site/quick-connect/index.html +++ b/site/quick-connect/index.html @@ -1005,7 +1005,7 @@

What operating system is your server running?

diff --git a/site/search/search_index.json b/site/search/search_index.json index a975884..62b400a 100644 --- a/site/search/search_index.json +++ b/site/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en","zh","ja","ko","pt","es","fr","it"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to DoubleZero","text":"

DoubleZero is a high-performance decentralized protocol and network, optimized for distributed systems, like blockchains. Users of DoubleZero enjoy an integrated service for highly- optimized transmission and pre-processing of distributed systems data.

"},{"location":"#who-is-doublezero-for","title":"Who is DoubleZero for?","text":""},{"location":"#contributors","title":"Contributors","text":"

DoubleZero contributors have network capacity in the form of underutilized private fiber links and hardware (e.g. switches and FPGA devices). Configuring these resources to extend the DoubleZero network creates an integrated information service. Using the DZ protocol, network contributors stitch this network capacity into a dynamic and expansive global mesh network and receive token incentives for their contribution.

"},{"location":"#users","title":"Users","text":"

DoubleZero users participate in distributed systems, such as blockchains, that require high-performance network connectivity. Interconnecting a blockchain system with DoubleZero, users gain a bundling of optimization features to accelerate their network I/O.

In its initial implementation, the DoubleZero network is compatible with blockchain validator clients as well as RPC and MEV infrastructure providers. These user systems undergo admission control by verifying their uniquely identifying public key addresses on their respective ledgers before allowing them access to the network. As the network evolves to include user systems from other ecosystems, additional identification and authentication strategies will be added tailored to each user project community.

"},{"location":"#benefits","title":"Benefits","text":"

The only alternative to DoubleZero is the public internet. Compared to the public internet, the DoubleZero network offers two improvements to blockchains.

First, inbound transactions can be edge-filtered in a non-discretionary way at the network contributor hardware level (i.e. removal of spam and duplicates) prior to being sent over to users (e.g., blockchain nodes) of the DoubleZero network. This allows blockchains to benefit from shared system-wide filtration resources rather than needing each individual validator to provision sufficient resources. As a result, validators can reallocate their resources towards directly revenue-generating activities. This feature is not yet functional.

Second, outbound messages are routed more directly and prioritized to improve efficiency. This is possible since in DoubleZero the routing logic of global data movement is optimized for speed, unlike the public internet. Thus, validators benefit from reduced jitter, which is defined as the amount of variation in latency between two data cable endpoints. In essence, blockchain nodes can send and receive blocks faster.

Taken together, these DoubleZero network benefits can achieve levels of performance that are otherwise unobtainable via the public internet.

For more details, see the DoubleZero Protocol whitepaper.

"},{"location":"#next-steps","title":"Next Steps","text":""},{"location":"DZ%20Mainnet-beta%20Connection/","title":"Validator Mainnet-Beta Connection in IBRL Mode","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"DZ%20Mainnet-beta%20Connection/#connecting-to-mainnet-beta-in-ibrl-mode","title":"Connecting to Mainnet-Beta in IBRL Mode","text":"

Note

IBRL mode does not require restarting validator clients, because it uses your existing public IP address.

Solana Mainnet Validators will complete connection to DoubleZero Mainnet-beta, which is detailed on this page.

Each Solana validator has its own identity keypair; from this, extract the public key known as the node ID. This is the validator's unique fingerprint on the Solana network.

With the DoubleZeroID and node ID identified, you will prove ownership of your machine. This is done by creating a message which includes the DoubleZeroID signed with the validator's identity key. The resulting cryptographic signature serves as verifiable proof that you control the validator.

Finally, you will submit a connection request to DoubleZero. This request communicates: \"Here is my identity, here is proof of ownership, and here is how I intend to connect.\" DoubleZero validates this information, accepts the proof, and provisions network access for the validator on DoubleZero.

This guide allows for 1 Primary Validator to register itself, and up to 3 backup/failover machines at the same time.

"},{"location":"DZ%20Mainnet-beta%20Connection/#prerequisites","title":"Prerequisites","text":"

Info

The Validator ID will be checked against Solana gossip to determine the target IP. The target IP, and the DoubleZero ID will then be used when opening a GRE tunnel between your machine and the target DoubleZero Device.

Consider: In the case where you have a junk ID and Primary ID on at the same IP, only the Primary ID will be used in registration of the machine. This is because the junk ID will not appear in gossip, and therefore cannot be used to verify the IP of the target machine.

"},{"location":"DZ%20Mainnet-beta%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero mainnet-beta:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

You should see the following output: \u2705 doublezerod configured for environment mainnet-beta

After about 30 seconds you will see the DoubleZero devices available:

doublezero latency\n
Example output (Mainnet-Beta)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
Testnet output will be identical in structure, but with fewer devices.

"},{"location":"DZ%20Mainnet-beta%20Connection/#2-open-port-44880","title":"2. Open port 44880","text":"

Users need to open port 44880 to utilize some routing features.

To open port 44880 you could update IP tables such as:

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

note the -i doublezero0, -o doublezero0 flags which restrict this rule to only the DoubleZero interface

Or UFW such as:

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

note the in on doublezero0, out on doublezero0 flags which restrict this rule to only the DoubleZero interface

"},{"location":"DZ%20Mainnet-beta%20Connection/#3-attest-validator-ownership","title":"3. Attest Validator Ownership","text":"

With your DoubleZero Environment set, it is now time to attest to your Validator Ownership.

The DoubleZero ID you created in the setup of your primary validator must be used on all backup machines.

The ID on your primary machine can be found with doublezero address The same ID must be in ~/.config/doublezero/id.json on all machines in the cluster.

In order to accomplish this you will first verify the machine you are running the commands from is your Primary Validator with:

doublezero-solana passport find-validator -u mainnet-beta\n

This verifies that the validator is registered in gossip and appears in the leader schedule.

Expected output:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

The same workflow is used for one, or many machines. To register one machine exclude the arguments \"--backup-validator-ids\" or \"backup_ids=\" from any commands on this page.

Now, on all backup machines you intend to run your Primary Validator on execute the following:

doublezero-solana passport find-validator -u mainnet-beta\n

Expected output:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
This output is expected. The backup node cannot be in the leader schedule at time of pass creation.

You will now run this command on all backup machines you plan to use your Primary Validator vote account, and identity on.

"},{"location":"DZ%20Mainnet-beta%20Connection/#prepare-the-connection","title":"Prepare the Connection","text":"

Run the following command on the Primary Validator machine. This is the machine you have active stake on, that is in the leader schedule with your primary validator ID in solana gossip on the machine you are running the command from:

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

Example output:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Note the output at the end of this command. It is the structure for the next step.

"},{"location":"DZ%20Mainnet-beta%20Connection/#4-generate-signature","title":"4. Generate Signature","text":"

At the end of the last step, we received a pre-formatted output for solana sign-offchain-message

From the above output we will run this command on the Primary Validator machine.

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

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"DZ%20Mainnet-beta%20Connection/#5-initiate-a-connection-request-in-doublezero","title":"5. Initiate a Connection Request in DoubleZero","text":"

Use the request-validator-access command to create an account on Solana for the connection request. The DoubleZero Sentinel agent detects the new account, validates its identity and signature, and creates the access pass in DoubleZero so the server can establish a connection.

Use the node ID, DoubleZeroID, and signature.

Note

In this example we use -k /home/user/.config/solana/id.json to find the validator Identity. Use the appropriate location for your local deployment.

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

Output:

This output can be used to see the transaction on a Solana explorer. Be sure to change the explorer to mainnet. This verification is optional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

If successful, DoubleZero will register the primary with its backups. You may now failover between the IPs registered in the access pass. DoubleZero will maintain connectivity automatically when switching to backup nodes registered in this way.

"},{"location":"DZ%20Mainnet-beta%20Connection/#6-connect-in-ibrl-mode","title":"6. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the GRE tunnel to finish setting up. Until the GRE tunnel is done setting up, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Note

Examine this output. Notice that the Tunnel src, and the DoubleZero IP match the public ipv4 address on your machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"DZ%20Mainnet-beta%20Connection/#up-next-publishing-shreds-via-multicast","title":"Up Next: Publishing Shreds via Multicast","text":"

If you have completed this setup and plan publishing shreds via multicast, proceed to the next page.

"},{"location":"DZ%20Testnet%20Connection/","title":"Validator Testnet Connection in IBRL Mode","text":"By connecting to DoubleZero testnet I agree to the terms of the Evaluation Agreement set forth here (click to expand)

DoubleZero Testnet Evaluation Agreement

By accessing or using the Solution (defined below), you agree as of the first date of such access (the \"Effective Date\") that this Evaluation Agreement (the \"Agreement\") sets forth the terms and conditions under which DoubleZero Foundation (\"DZF\") will provide you (\"User\" or \"you\") access to the Solution on an evaluation basis. In consideration of the mutual promises herein, you agree as follows:

1. DEFINITIONS.

1.1 \"Confidential Information\" means any and all information disclosed by either party to the other which is designated as confidential, or which should otherwise be understood to be confidential, including but not limited to, the Solution, product plans, business plans, trade secrets, technology, or any other proprietary information.

1.2 \"Solution\" means the testnet version of the DoubleZero high-performance network infrastructure for web3 projects (\"Testnet\") and related edge filtering service with integrated bandwidth (\"Information Service\") the DZ Software (defined below), any and all materials provided by DZF relating to the DZ Software (\"Documentation\"), and other materials that DZF provides to User hereunder.

2. ACCESS.

2.1 Access to Solution. Subject to the terms and conditions of this Agreement, DZF will provide User access to the Solution through the Internet. User's access is a non-exclusive, non-transferable, limited use of the Solution to enable User to evaluate the Information Service only. With respect to any software comprising the Solution (\"DZ Software\"), DZF hereby grants User a limited, revocable license, during the Evaluation Period, to copy, download, make a reasonable number of copies of, run, and deploy (as applicable) such DZ Software solely as contemplated by the Documentation.

2.2 Restrictions. User may use the Solution in accordance with this Agreement from the Effective Date until terminated by DZF (the \"Evaluation Period\"). User understands that any rights to use the Solution beyond the Evaluation Period will be subject to a separate commercial agreement between the parties with respect thereto, including the payment of fees. User shall not, and shall not permit any third party to: (i) modify or create any derivative works based on the Solution or any portion thereof; (ii) reproduce the Solution except as expressly permitted by this Agreement; (iii) sublicense, distribute, sell, lend, rent, lease, transfer, or grant any rights in or to all or any portion of the Solution or provide access to the Solution to third parties, on a service bureau basis or otherwise, except as an offering of the Information Services through or in connection with User's platform or product and not on a standalone basis; or (iv) use the Solution other than as provided herein.

2.3 Ownership. DZF retains all right, title and interest, including intellectual property rights, in and to the Solution.

3 FEEDBACK. DZF may periodically request that User provide, and User agrees to provide to DZF, feedback regarding the use, operation, and functionality of the Solution (\"Feedback\"). User hereby grants DZF a non-exclusive, worldwide, perpetual, irrevocable, royalty-free, fully paid-up, fully sublicensable and transferable right and license to use and incorporate Feedback into any products and services, to make, use, sell, offer for sale, import, and otherwise exploit such products and services, and to otherwise use, copy, distribute, and otherwise exploit the Feedback without restriction.

4. TERM AND TERMINATION.

4.1 Term. This Agreement will commence as of the Effective Date and will remain in full force and effect for the Evaluation Period. Either party may terminate this Agreement immediately for convenience, for any reason or no reason, upon written notice to the other party (email to suffice).

4.1 Effects of Termination. Upon termination of this Agreement for any reason: (i) the rights granted to User hereunder will immediately terminate; (ii) User shall immediately discontinue any use of the Solution and shall return or destroy all Documentation and any DZ Software under its control; (iii) each party shall promptly return or destroy all Confidential Information and property of the other party; and (iv) Sections 2.2, 2.3, 3, 4.2, and 5 through 8 will survive.

5. CONFIDENTIALITY. Each party agrees that it will use the Confidential Information of the other party solely to perform its obligations and exercise its rights under this Agreement and it will not disclose, or permit to be disclosed, the same, except as otherwise permitted hereunder. However, either party may disclose Confidential Information to its personnel, attorneys, and other representatives who have a need to know and are bound by confidentiality obligations no less protective than those set forth in this Agreement; and as required by law (in which case the receiving party will provide the disclosing party with prior notice thereof and opportunity to contest such disclosure, and will minimize such disclosure to the extent permitted by applicable law). The obligations of confidentiality in this Section 5 shall not apply to information that: (a) is or becomes generally known or publicly available through no fault of the receiving party; (b) was properly known to the receiving party, without restriction, prior to disclosure by the disclosing party; (c) was properly disclosed to the receiving party, without restriction, by another person with the legal authority to do so; or (d) is independently developed by the receiving party without use of or reference to the disclosing party's Confidential Information. Each party agrees to exercise due care in protecting the Confidential Information of the other party from unauthorized use and disclosure. In the event of actual or threatened breach of the provisions of this Section or the licenses contained herein, the non-breaching party will be entitled to seek immediate injunctive and other equitable relief, without waiving any other rights or remedies available to it. User is responsible for maintaining the Solution and the secrecy of any passwords, seed phrases, or codes that provide access to the Solution as the Confidential Information of DZF. Nothing herein limits or restricts DZF's right or ability to use data regarding the performance, availability, usage, integrity and security of the Solution. If either party breaches, or threatens to breach the provisions of this Section 5, each party agrees that the non-breaching party will have no adequate remedy at law and is therefore entitled to immediate injunctive and other equitable relief, without bond and without the necessity of showing actual money damages.

6. WARRANTY DISCLAIMER; LIMITATION OF LIABILITY.

6.1 WARRANTY DISCLAIMER. THE SOLUTION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. DZF MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE WITH RESPECT TO THE SOLUTION AND DOCUMENTATION INCLUDING THEIR CONDITION, CONFORMITY TO ANY REPRESENTATION OR DESCRIPTION, AND DZF SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.

6.2 LIMITATION OF LIABILITY. EXCEPT FOR A BREACH OF SECTIONS 2.1, 2.2, AND 5, IN NO EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER FOR INDIRECT, INCIDENTAL, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS OR USE OR LOSS OF DATA, INCURRED BY YOU OR ANY THIRD PARTY, ARISING OUT OF OR RELATED TO THIS AGREEMENT WHETHER IN AN ACTION IN CONTRACT, TORT, OR OTHERWISE, EVEN IF THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT SHALL DZF'S AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THIS AGREEMENT EXCEED ONE HUNDRED DOLLARS ($100), WHETHER AN ACTION IN CONTRACT, TORT, OR OTHERWISE. THE FOREGOING LIMITATIONS WILL APPLY NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY HEREIN. THE PARTIES AGREE THAT THE FOREGOING LIMITATIONS REPRESENT A REASONABLE ALLOCATION OF RISK UNDER THIS AGREEMENT.

7. GOVERNING LAW. This Agreement and all matters arising out of or relating to this Agreement shall be governed, interpreted and constructed in accordance with the laws of the Cayman Islands. Should a controversy, dispute or claim arise out of or in relation to this Agreement (\"Dispute\"), the relevant party as appropriate, must give 30 days' notice of such Dispute to the other parties (the \"Notice of Dispute\"). Should the Dispute not be resolved at the expiration of 30 days after service of the Notice of Dispute, the relevant party may commence arbitration proceedings as provided herein. Should the Dispute remain at the expiration of 30 days after service of the Notice of Dispute, the Dispute shall be settled by arbitration administered by the Cayman International Mediation & Arbitration Centre (CI-MAC) in accordance with the CI-MAC Arbitration Rules (the \"Arbitration Rules\") in force as at the date of this Agreement, which Arbitration Rules are deemed to be incorporated by reference to this clause, and governed by the Arbitration Act (as amended). The arbitration shall be seated in George Town, Grand Cayman, Cayman Islands and governed by Cayman Islands law. The language of the arbitration shall be English. The arbitration shall be determined by a sole arbitrator to be appointed in accordance with the Arbitration Rules. Any award or decision made by the arbitrator shall be in writing and shall be final and binding on the parties without any right of appeal, and judgment upon any award thus obtained may be entered in or enforced by any court having jurisdiction thereof. No action at law or in equity based upon any claim arising out of or related to this Agreement shall be instituted in any court of any jurisdiction. If any litigation or arbitration is necessary to enforce the terms of this Agreement, the prevailing party will be entitled to have their attorney fees paid by the other party. Each party waives any right it may have to assert the doctrine of forum non conveniens, to assert that it is not subject to the jurisdiction of such arbitration or courts or to object to venue to the extent any proceeding is brought in accordance herewith.

8. GENERAL PROVISIONS. This Agreement may not be transferred or assigned by User without the prior written consent of DZF. DZF may freely assign this Agreement. All notices required to be sent hereunder shall be sent by email (to DZF: legal@doublezero.xyz) and deemed received the day after sending (with transmission confirmed). If any provision of this Agreement is held to be invalid or unenforceable, the remaining provisions of this Agreement will remain in full force and effect. The waiver by either party of any default or breach of this Agreement shall not constitute a waiver of any other or subsequent default or breach. Neither party shall be liable for any delay or failure in performance due to acts of God, earthquakes, shortages of supplies, transportation difficulties, labor disputes, riots, war, fire, epidemics, and similar occurrences beyond its control, whether or not foreseeable. This Agreement together with any attachments constitutes the complete agreement between the parties and supersedes all prior or contemporaneous agreements or representations, written or oral, concerning the subject matter herein. This Agreement may not be modified or amended except in writing signed by a duly authorized representative of each party.

"},{"location":"DZ%20Testnet%20Connection/#connecting-to-testnet-in-ibrl-mode","title":"Connecting to Testnet in IBRL Mode","text":"

Note

IBRL mode does not require restarting validator clients, because it uses your existing public IP address.

Solana Testnet Validators will complete connection to DoubleZero Testnet, which is detailed on this page.

Each Solana validator has its own identity keypair; from this, extract the public key known as the node ID. This is the validator's unique fingerprint on the Solana network.

With the DoubleZeroID and node ID identified, you will prove ownership of your machine. This is done by creating a message which includes the DoubleZeroID signed with the validator's identity key. The resulting cryptographic signature serves as verifiable proof that you control the validator.

Finally, you will submit a connection request to DoubleZero. This request communicates: \"Here is my identity, here is proof of ownership, and here is how I intend to connect.\" DoubleZero validates this information, accepts the proof, and provisions network access for the validator on DoubleZero.

This guide allows for 1 Primary Validator to register itself, and up to 3 backup/failover machines at the same time.

"},{"location":"DZ%20Testnet%20Connection/#prerequisites","title":"Prerequisites","text":"

Info

The Validator ID will be checked against Solana gossip to determine the target IP. The target IP, and the DoubleZero ID will then be used when opening a GRE tunnel between your machine and the target DoubleZero Device.

Consider: In the case where you have a junk ID and Primary ID on at the same IP, only the Primary ID will be used in registration of the machine. This is because the junk ID will not appear in gossip, and therefore cannot be used to verify the IP of the target machine.

"},{"location":"DZ%20Testnet%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
You should see the following output:
\u2705 doublezerod configured for environment testnet\n

After about 30 seconds you will see the DoubleZero devices available:

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

Mainnet output will be identical in structure, but with many more available devices.

"},{"location":"DZ%20Testnet%20Connection/#2-open-port-44880","title":"2. Open port 44880","text":"

Users need to open port 44880 to utilize some routing features.

To open port 44880 you could update IP tables such as:

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

note the -i doublezero0, -o doublezero0 flags which restrict this rule to only the DoubleZero interface

Or UFW such as:

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

note the in on doublezero0, out on doublezero0 flags which restrict this rule to only the DoubleZero interface

"},{"location":"DZ%20Testnet%20Connection/#3-attest-validator-ownership","title":"3. Attest Validator Ownership","text":"

With your DoubleZero Environment set, it is now time to attest to your Validator Ownership.

The DoubleZero ID you created in the setup of your primary validator must be used on all backup machines.

The ID on your primary machine can be found with doublezero address The same ID must be in ~/.config/doublezero/id.json on all machines in the cluster.

In order to accomplish this you will first verify the machine you are running the commands from is your Primary Validator with:

doublezero-solana passport find-validator -ut\n

This verifies that the validator is registered in gossip and appears in the leader schedule.

Expected output:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

The same workflow is used for one, or many machines. To register one machine exclude the arguments \"--backup-validator-ids\" or \"backup_ids=\" from any commands on this page.

Now, on all backup machines you intend to run your Primary Validator on execute the following:

doublezero-solana passport find-validator -ut\n

Expected output:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
This output is expected. The backup node cannot be in the leader schedule at time of pass creation.

You will now run this command on all backup machines you plan to use your Primary Validator vote account, and identity on.

"},{"location":"DZ%20Testnet%20Connection/#prepare-the-connection","title":"Prepare the Connection","text":"

Run the following command on the Primary Validator machine. This is the machine you have active stake on, that is in the leader schedule with your primary validator ID in solana gossip on the machine you are running the command from:

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

Example output:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Note the output at the end of this command. It is the structure for the next step.

"},{"location":"DZ%20Testnet%20Connection/#4-generate-signature","title":"4. Generate Signature","text":"

At the end of the last step, we received a pre-formatted output for solana sign-offchain-message

From the above output we will run this command on the Primary Validator machine.

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

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"DZ%20Testnet%20Connection/#5-initiate-a-connection-request-in-doublezero","title":"5. Initiate a Connection Request in DoubleZero","text":"

Use the request-validator-access command to create an account on Solana for the connection request. The DoubleZero Sentinel agent detects the new account, validates its identity and signature, and creates the access pass in DoubleZero so the server can establish a connection.

Use the node ID, DoubleZeroID, and signature.

Note

In this example we use -k /home/user/.config/solana/id.json to find the validator Identity. Use the appropriate location for your local deployment.

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

Output:

This output can be used to see the transaction on a Solana explorer. Be sure to change the explorer to testnet. This verification is optional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

If successful, DoubleZero will register the primary with its backups. You may now failover between the IPs registered in the access pass. DoubleZero will maintain connectivity automatically when switching to backup nodes registered in this way.

"},{"location":"DZ%20Testnet%20Connection/#6-connect-in-ibrl-mode","title":"6. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the GRE tunnel to finish setting up. Until the GRE tunnel is done setting up, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Note

Examine this output. Notice that the Tunnel src, and the DoubleZero IP match the public ipv4 address on your machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"DZ%20Testnet%20Connection/#up-next-publishing-shreds-via-multicast","title":"Up Next: Publishing Shreds via Multicast","text":"

If you have completed this setup and plan publishing shreds via multicast, proceed to the next page.

"},{"location":"New%20Tenant/","title":"New Tenant","text":"

If you would like your distributed system to leverage the DoubleZero network, we\u2019re happy to assist with any technical questions you may have.

Contact Us Form

"},{"location":"Other%20Multicast%20Connection/","title":"Other Multicast Connection","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

Use Case First Step When Approve, connect via: Subscribe to Jito Shredstream Contact Jito for approval. doublezero connect multicast --subscribe jito-shredstream

Detailed connection information:

"},{"location":"Other%20Multicast%20Connection/#1-doublezero-client-installation","title":"1. DoubleZero Client Installation","text":"

Please follow the setup instructions to Install and configure the DoubleZero client.

"},{"location":"Other%20Multicast%20Connection/#2-connection-instructions","title":"2. Connection Instructions","text":"

Connect to DoubleZero in Multicast Mode As a publisher:

doublezero connect multicast --publish <feed name>

or as a subscriber:

doublezero connect multicast --subscribe <feed name>

or to publish and subscribe:

doublezero connect multicast --publish <feed name> --subscribe <feed name>

To publish or subscribe to multiple feeds you can include multiple feed names space separated. This can also be use to publish and subscribe to publish feeds. For example doublezero connect multicast --subscribe feed1 feed2 feed3

You should see output similar to the following:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"Other%20Multicast%20Connection/#3-verify-your-active-multicast-connection","title":"3. Verify your active multicast connection.","text":"

Wait for 60 seconds and then run

doublezero status\n
Expected result: - BGP Session Up on the correct DoubleZero Network - If you are a publisher, your DoubleZero IP will be different than your Tunnel Src IP. This is expected. - If you are a subscriber only, your DoubleZero IP will be the same as your Tunnel Src IP.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verify the groups you're connected to:

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"Permissioned%20Connection/","title":"Non-Validator Permissioned Connection to DoubleZero in IBRL Mode","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"Permissioned%20Connection/#permissioned-user-onboarding-overview","title":"Permissioned User Onboarding Overview","text":"

User onboarding is currently permissioned for non-validators and RPCs. To begin the permissioned flow, please fill out this form. Here is what to expect during this process:

"},{"location":"Permissioned%20Connection/#connecting-to-mainnet-beta-and-testnet-in-ibrl-mode","title":"Connecting to Mainnet-Beta and Testnet in IBRL Mode","text":"

Note

IBRL mode does not require restarting validator clients, because it uses your existing public IP address.

Permissioned Users will complete connection to DoubleZero Mainnet-beta, which is detailed on this page.

"},{"location":"Permissioned%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero mainnet-beta:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

You should see the following output:

\u2705 doublezerod configured for environment mainnet-beta\n
You should see the following output: \u2705 doublezerod configured for environment testnet

After about 30 seconds you will see the DoubleZero devices available:

doublezero latency\n
Example output (Testnet)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable \n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true      \n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true      \n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true      \n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true      \n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true      \n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true      \n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true      \n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true      \n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true      \n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true      \n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true           \n
Testnet output will be identical in structure, but with many more available devices.

"},{"location":"Permissioned%20Connection/#2-contact-the-doublezero-foundation","title":"2. Contact the DoubleZero Foundation","text":"

The DoubleZero foundation. You will need to provide your DoubleZeroID, your Validator ID (node ID), and the public ipv4 address you will be connecting from.

"},{"location":"Permissioned%20Connection/#3-connect-in-ibrl-mode","title":"3. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the tunnel to complete. Until the tunnel is completed, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100 \n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64 \n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64 \n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64 \n...\n
"},{"location":"Permissioned%20Connection/#up-next-multicast","title":"Up Next: Multicast","text":"

If you have completed this setup and plan to use Multicast, proceed to the next page.

"},{"location":"Shelby%20Permissioned%20Connection/","title":"Connection to DoubleZero in IBRL Mode for Shelby Testnet Users","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"Shelby%20Permissioned%20Connection/#get-your-doublezeroid","title":"Get your DoubleZeroID","text":"

You will need to provide your DoubleZeroID, and the public ipv4 address on this form

"},{"location":"Shelby%20Permissioned%20Connection/#connecting-to-testnet-in-ibrl-mode","title":"Connecting to Testnet in IBRL Mode","text":"

Shelby permissioned users will complete connection to DoubleZero Testnet, which is detailed on this page.

"},{"location":"Shelby%20Permissioned%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) to connect to the Shelby tenant on DoubleZero :

doublezero config set --tenant shelby\n

Apply additional Firewall rules specific to Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"Shelby%20Permissioned%20Connection/#2-contact-the-doublezero-foundation","title":"2. Contact the DoubleZero Foundation","text":"

The DoubleZero foundation. You will need to provide your DoubleZeroID, and the public ipv4 address you will be connecting from.

"},{"location":"Shelby%20Permissioned%20Connection/#3-connect-in-ibrl-mode","title":"3. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the tunnel to complete. Until the tunnel is completed, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Review the Disclaimer before accessing or using the code or any related materials.

Disclaimer

This document and the associated code are provided for informational and technical purposes only. The token conversion functionality described herein is non-custodial\u2014users interact directly with the underlying smart contracts and retain full control of their assets at all times.

The system may rely on or interact with third-party code, data sources, or pricing and fee mechanisms (for example, smart contracts, APIs, or decentralized exchanges) that are not developed, controlled, or reviewed by the developer(s) or publisher(s). No representation or warranty is made as to the accuracy, functionality, or security of any third-party component. The developer(s) and publisher(s) of this code do not guarantee its accuracy, completeness, or continued availability. The code and related materials are provided \u201cas is\u201d, and may contain bugs, errors, or vulnerabilities. Use is entirely at your own risk. The developer(s) and publisher(s) do not receive any fees in connection with the use of these contracts. They are under no obligation to maintain, update, or support the code or related documentation.

This document does not constitute an offer to sell, a solicitation to buy, or a recommendation to participate in any token conversion, swap or other transaction. No legal, financial, or investment advice is provided. Users are solely responsible for determining the legality of their activities. They should review the laws and regulations applicable in their jurisdiction and consult independent advisors before using the code or participating in any conversion. Use is prohibited where it would be unlawful, including by persons or entities subject to sanctions or in restricted jurisdictions.

To the maximum extent permitted by law, the developer(s) and publisher(s) disclaim all liability for any loss, damage, or claim arising from or in connection with use of the code or participation in the conversion.

Review and use of this document and the associated code are subject to the Website Terms and Conditions and Protocol Terms and Conditions.

The DoubleZero protocol collects SOL-denominated revenue from its validator users but distributes 2Z-denominated rewards to contributors. Thus, it must convert SOL into 2Z.

To do so, eligible participants can trade against a DoubleZero swap contract, purchasing SOL from the contract and selling it 2Z. Pricing is based on Pyth price feeds with a programmatic discount mechanism.

This short guide explains how to use the program.

Review the Disclaimer at the end of this document before accessing or using the code or any related materials.

"},{"location":"Swapping-sol-to-2z/#program-design","title":"Program Design","text":"

The swap program is effectively a one-sided liquidity pool that sells SOL in a fixed batch size of 1 SOL per trade. Any eligible participant can withdraw SOL from the program by depositing 2Z, at a price that is determined by an oracle price from Pyth and a dynamic discount. Over time, this executes the program\u2019s goal of turning native tokens into 2Z.

To utilize, a trader must provide two recent Pyth prices (SOL/USD and 2Z/USD) and a quantity of 2Z. The program then calculates the 2Z needed to purchase that 1 SOL based on the implied SOL/2Z price. It then takes a few additional steps:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

At this point, if the trader has provided enough 2Z to execute the transaction at this computed price (inclusive of the discount), it executes at this computed price. It returns to the trader the purchased quantity of SOL and any excess 2Z.

The contract then permits no more trades for that slot. This is to prevent the contract from paying excessively high slippage should the Pyth price be far from the true price at any given point in time in ways that the existing filters do not catch issues.

"},{"location":"Swapping-sol-to-2z/#gasless-atomic-execution","title":"Gasless Atomic Execution","text":"

This section will detail how to use the command harvest-dz. This command will atomically perform 2 actions. 1. The command requests a quote from Jupiter vs the native SOL <> 2Z conversion program. 2. When the Jupiter route yields more 2Z per SOL than the native conversion program requires, harvest-2z executes a swap, returning to your wallet 1 SOL plus the difference in 2Z.

"},{"location":"Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

To execute, run the following:

doublezero-solana revenue-distribution harvest-2z\n
Output will resemble:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
The command can also be simulated with the --dry-run argument. Dry-run will produce program logs and an output resembling:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"Swapping-sol-to-2z/#protocol-conversion","title":"Protocol Conversion","text":"

This section discusses checking conversion rates and executing the conversion using the doublezero-solana CLI. And at the end, we discuss the interface for custom-built integrations with the DoubleZero swap contract.

"},{"location":"Swapping-sol-to-2z/#how-to-check-the-sol2z-conversion-price-via-doublezero-solana","title":"How to check the SOL/2Z conversion price via doublezero-solana","text":"

To find the SOL/2Z conversion rates on mainnet-beta, run the following command:

doublezero-solana revenue-distribution fetch sol-conversion\n

And the output you would see will resemble:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

The Journal Balance informs the user how much SOL liquidity there is in the Revenue Distribution smart contract. A user can trade as long as the Journal Balance exceeds the fixed trade size of 1 SOL.

The first row displays the \"true\" SOL/2Z conversion price via an offchain oracle. The second row is the conversion price used on-chain for the swap, which simply adjusts the true price for the algorithmic discount.

"},{"location":"Swapping-sol-to-2z/#how-to-convert-your-2z-to-sol-via-doublezero-solana","title":"How to convert your 2Z to SOL via doublezero-solana","text":"

To convert your 2Z tokens to SOL, run the following command:

doublezero-solana revenue-distribution convert-2z\n

By default, if there is enough SOL liquidity and your ATA has enough 2Z to perform the swap, this transaction will succeed. You can more finely-tune the swap by specifying the following arguments:

      --limit-price <DECIMAL>                    Limit price defaults to the current SOL/2Z oracle price\n      --source-2z-account <PUBKEY>               Token account must be owned by the signer. Defaults to signer ATA if not specified\n      --checked-sol-amount <SOL>                 Explicitly check SOL amount. When specified, this amount will be checked against the fixed fill quantity\n

The specified limit price determines the worst-case price you are willing to accept when performing the SOL/2Z conversion. For example, let us say the discounted 2Z price for SOL is 800, which means 800 2Z tokens for 1 SOL. If you specify a limit price of 790, you are not willing to perform the swap because you are requiring that you only swap at most 790 2Z tokens for 1 SOL. But if you specify 810, the trade will go through because you were willing to swap at most 810 2Z tokens (and in this case, you will have only swapped 800 2Z tokens in this transaction).

The source 2Z token account overrides the default ATA using the signer as the owner of this 2Z ATA. But if you have another token account you want to use to perform the swap, provide the pubkey for it with this argument.

Optionally, you may specify the checked SOL amount to the standard fill size (set to 1 SOL at launch). If it does not align with the program\u2019s fill size, the swap fails. This mitigates the risk that the program\u2019s fill size changes and you do not notice.

"},{"location":"Swapping-sol-to-2z/#interface-to-buy-sol","title":"Interface to Buy SOL","text":"

The interface and doublezero-solana CLI live in this repo. The source code for the DoubleZero swap contract interface can be found here. The program ID is 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

A convenient way of generating the accounts needed for the buy SOL instruction is using the new method (found in instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

The fill_registry_key can be fetched either from the ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // this key\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternatively, you can call getProgramAccounts via Solana RPC with its discriminator. But we recommend caching this pubkey since it will never change.

The user_key is a signer for the buy SOL instruction and must be the owner of the user_token_account_key. As described above, this does NOT need to be an ATA. As long as your 2Z token account is owned by the user_key, this instruction will succeed.

The BuySolAccounts struct implements Into<Vec<AccountMeta>> so you can generate all of the account metas you need in order to build the instruction.

Instruction data is

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

This instruction data is Borsh-serialized and has an 8-byte Anchor selector, which will all serialize when using BorshSerialize::serialize.

The oracle price data can be fetched from this public endpoint: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. The data is serde-deserializable using the OraclePriceData struct found in oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Example of how to fetch using the reqwest crate:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

With the program ID, accounts and instruction data, you should be able to build the instruction to buy SOL from the DoubleZero swap contract.

"},{"location":"Validator%20Multicast%20Connection/","title":"Validator Multicast Connection","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

Trading firms and businesses

If you operate a trading firm or business looking to subscribe to the feed, more details will be shared soon. Please register interest to get more information here.

If you are not already connected to DoubleZero please complete Setup, and Mainnet-Beta validator connection documentation.

If you are a validator who is already connected to DoubleZero you may continue this guide.

"},{"location":"Validator%20Multicast%20Connection/#1-client-configuration","title":"1. Client Configuration","text":""},{"location":"Validator%20Multicast%20Connection/#jito-agave-v319","title":"Jito-Agave (v3.1.9+)","text":"
  1. In your validator start script, add: --shred-receiver-address 233.84.178.1:7733

    You are able to send to Jito and the bebop group at the same time.

    example:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...The rest of your config...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Restart your validator.

  3. Connect to the DoubleZero multicast group bebop as a publisher: doublezero connect ibrl && doublezero connect multicast --publish bebop
"},{"location":"Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. In config.toml, add:

    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Restart your validator.

  3. Connect to the DoubleZero multicast group bebop as a publisher: doublezero connect ibrl && doublezero connect multicast --publish bebop
"},{"location":"Validator%20Multicast%20Connection/#2-confirm-youre-publishing-leader-shreds","title":"2. Confirm you're publishing leader shreds","text":"

Once you are connected you may check this dashboard to confirm you are publishing shreds. You will not see confirmation until after you have published leader shreds for at least one slot.

"},{"location":"Validator%20Multicast%20Connection/#3-validator-rewards","title":"3. Validator Rewards","text":"

For each epoch where validators publish leader shreds, they will be proportionately rewarded for their contribution based on subscriptions. The specifics of this system will be announced, and detailed at a later date.

"},{"location":"Validator%20Multicast%20Connection/#troubleshooting","title":"Troubleshooting","text":""},{"location":"Validator%20Multicast%20Connection/#retransmitting","title":"Retransmitting:","text":"
  1. A common cause of shred retransmission is a simple config. You may have the flag enabled to send retransmit shreds in your startup script; you will need to disable it.

    The flag to remove in Jito-Agave is: --shred-retransmit-receiver-address.

  2. Check the publisher dashboard and see if you have any retransmitted shreds. In the table, look at the No Retransmit Shreds column\u2014a red X means you are retransmitting.

    epoch view

    Note that there are different time windows to view the publisher dashboard. If you see retransmit in the 2 epoch view, but have made a recent change, try switching to the recent slot view.

  3. Find your client IP and look up your user in DoubleZero Data.

  4. Click on Multicast to open your multicast view.

    The screenshot below shows: Retransmitting (undesirable) steady outbound traffic with no leader-slot pattern.

    The screenshot below shows: Healthy (publishing only leader shreds) outbound traffic in spikes, known as a sawtooth pattern, which line up with your leader slots.

The chart shows whether you are sending only leader shreds. Traffic spikes should line up with when you have a leader slot. When you have no leader slot there should be no traffic. If you are retransmitting, you will see a steady flow of traffic instead of slot-aligned spikes.

"},{"location":"architecture/","title":"Architecture","text":"

What makes up the different actors and components of the DoubleZero network?

Figure 1: Network architecture components"},{"location":"architecture/#contributors","title":"Contributors","text":"

The DoubleZero network is made up of connectivity and packet processing contributions from a growing community of distributed network infrastructure providers in cities across the globe. Contributors bring fiber optic cable links and information processing resources to the protocol to provide the decentralized mesh network.

"},{"location":"architecture/#network-bandwidth-contributors","title":"Network Bandwidth Contributors","text":"

Network contributors must provide dedicated bandwidth between two points, operate DoubleZero compatible devices (DZDs) at each end, and a connection to the internet at each end. Network contributors must also run DoubleZero software on each DZD to provide services like multicast, user lookup, and edge filtration services.

The physical links of the DoubleZero network are provided in the form of fiber optic cables, commonly referred to as wavelength services. Network contributors commit underutilized network links, owned or leased from infrastructure providers, between two or more data centers. These links are terminated at both ends by DoubleZero Devices, which are physical network switching enclosures running instances of the DoubleZero Agent software.

"},{"location":"architecture/#doublezero-exchange-dzx-cross-connect-site","title":"DoubleZero Exchange (DZX / Cross-connect Site)","text":"

DoubleZero Exchanges (DZXs) are interconnect points in the mesh network where different contributor links are bridged together. DZXs are located in major metropolitan areas around the world where network intersections occur. Network contributors must cross-connect their links into the broader DoubleZero mesh network at the DZXs geographically located nearest their link endpoints.

"},{"location":"architecture/#computational-resource-contributors","title":"Computational Resource Contributors","text":"

Separate from network contributors, resource contributors are a decentralized group of network participants that perform various maintenance and monitoring duties necessary to sustain the technical integrity and ongoing functionality of the DoubleZero network. Specifically, they (i) track user transactions and payments; (ii) calculate fees for network contributors; (iii) record the results of (i) and (ii); (iv) administer, strictly on a non-discretionary basis, the smart contracts that control protocol tokenomics; (v) relay attestations to the applicable blockchain; and (vi) publish telemetry data regarding link quality and utilization to provide transparent, real-time performance metrics for all network contributors.

"},{"location":"architecture/#components","title":"Components","text":""},{"location":"architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

The DoubleZero Daemon software runs on servers needing to communicate over the DoubleZero network. The daemon interfaces with the host's kernel networking stack to create and manage tunnel interfaces, routing tables, and routes.

"},{"location":"architecture/#activator","title":"Activator","text":"

The Activator service, hosted by one or more computational resource contributing members of the DoubleZero community, monitors contract events that require IP address allocations and state changes and manages those changes on behalf of the network.

"},{"location":"architecture/#controller","title":"Controller","text":"

The Controller service, hosted by one or more computational resource contributors of the DoubleZero community, serves as the configuration interface for DoubleZero Device Agents to render their current configuration based on smart contract events.

"},{"location":"architecture/#agent","title":"Agent","text":"

The Agent software runs directly on DoubleZero Devices and applies configuration changes to the devices as interpreted by the Controller service. The Agent software polls the Controller for configuration changes, computes any differences between the canonical on-chain version of the Device state and the active configuration on the device and applies the necessary changes to reconcile the active configuration.

"},{"location":"architecture/#device","title":"Device","text":"

The physical device enclosure providing the routing and link termination for the DoubleZero network. DZDs run the DoubleZero Agent software and are configured based on data read from the Controller service.

"},{"location":"connect/","title":"Connect","text":"

If you are not redirected, click here.

"},{"location":"contribute-operations/","title":"Operations Guide for Contributors","text":"

This guide covers the ongoing operational tasks for maintaining your DoubleZero Devices (DZDs), including agent upgrades, device/interface updates, and link management.

Prerequisites: Before using this guide, ensure you have:

"},{"location":"contribute-operations/#device-updates","title":"Device Updates","text":"

Use doublezero device update to modify device settings after initial provisioning.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Common update options:

Option Description --device-type <TYPE> Change operating mode: hybrid, transit, edge (see Device Types) --location <LOCATION> Move device to a different location --metrics-publisher <PUBKEY> Change the metrics publisher key"},{"location":"contribute-operations/#interface-updates","title":"Interface Updates","text":"

Use doublezero device interface update to modify existing interfaces. This command accepts the same options as interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

For the full list of interface options including CYOA/DIA settings, see Creating Interfaces.

Example - Add CYOA settings to an existing interface:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"contribute-operations/#list-interfaces","title":"List Interfaces","text":"
doublezero device interface list              # All interfaces across all devices\ndoublezero device interface list <DEVICE>     # Interfaces for a specific device\n
"},{"location":"contribute-operations/#config-agent-upgrade","title":"Config Agent Upgrade","text":"

When a new version of the Config Agent is released, follow these steps to upgrade.

"},{"location":"contribute-operations/#1-download-the-latest-version","title":"1. Download the latest version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"contribute-operations/#2-shutdown-the-agent","title":"2. Shutdown the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#3-remove-the-old-version","title":"3. Remove the old version","text":"

First, find the filename of the old version:

switch# show extensions\n

Run the following commands to remove the old version. Replace <OLD_VERSION> with the old version from the output above:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"contribute-operations/#4-install-the-new-version","title":"4. Install the new version","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-operations/#5-unshut-the-agent","title":"5. Unshut the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#6-verify-the-upgrade","title":"6. Verify the upgrade","text":"

The Status should be \"A, I, B\".

switch# show extensions\n

"},{"location":"contribute-operations/#7-verify-config-agent-log-output","title":"7. Verify Config Agent Log Output","text":"
show agent doublezero-agent log\n
"},{"location":"contribute-operations/#telemetry-agent-upgrade","title":"Telemetry Agent Upgrade","text":"

When a new version of the Telemetry Agent is released, follow these steps to upgrade.

"},{"location":"contribute-operations/#1-download-the-latest-version_1","title":"1. Download the latest version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"contribute-operations/#2-shutdown-the-agent_1","title":"2. Shutdown the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#3-remove-the-old-version_1","title":"3. Remove the old version","text":"

First, find the filename of the old version:

switch# show extensions\n

Run the following commands to remove the old version. Replace <OLD_VERSION> with the old version from the output above:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"contribute-operations/#4-install-the-new-version_1","title":"4. Install the new version","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-operations/#5-unshut-the-agent_1","title":"5. Unshut the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#6-verify-the-upgrade_1","title":"6. Verify the upgrade","text":"

The Status should be \"A, I, B\".

switch# show extensions\n

"},{"location":"contribute-operations/#7-verify-telemetry-agent-log-output","title":"7. Verify Telemetry Agent Log Output","text":"
show agent doublezero-telemetry log\n
"},{"location":"contribute-operations/#monitoring","title":"Monitoring","text":"

\u26a0\ufe0f Important:

  1. For the configuration examples below, please be mindful of whether your agents are using a management VRF.
  2. The configuration agent and telemetry agent use the same listening port (:8080) for their metrics endpoint by default. If you are enabling metrics on both, use the -metrics-addr flag to set unique listening ports for each agent.
"},{"location":"contribute-operations/#config-agent-metrics","title":"Config Agent Metrics","text":"

The configuration agent on the DoubleZero device has the ability to expose prometheus compatible metrics by setting the -metrics-enable flag in the doublezero-agent daemon configuration. The default listening port is tcp/8080 but can be changed to suit the environment via the -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

The following DoubleZero specific metrics are exposed along with go-specific runtime metrics:

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"contribute-operations/#high-signal-errors","title":"High Signal Errors","text":""},{"location":"contribute-operations/#telemetry-agent-metrics","title":"Telemetry Agent Metrics","text":"

The telemetry agent on the DoubleZero device has the ability to expose prometheus compatible metrics by setting the -metrics-enable flag in the doublezero-telemetry daemon configuration. The default listening port is tcp/8080 but can be changed to suit the environment via the -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

The following DoubleZero specific metrics are exposed along with go-specific runtime metrics:

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"contribute-operations/#high-signal-errors_1","title":"High Signal Errors","text":""},{"location":"contribute-operations/#link-management","title":"Link Management","text":""},{"location":"contribute-operations/#link-draining","title":"Link Draining","text":"

Link draining allows contributors to gracefully remove a link from active service for maintenance or troubleshooting. There are two drain states:

Status IS-IS Behavior Description soft-drained Metric set to 1,000,000 Link is deprioritized. Traffic will use alternate paths if available, but will still use this link if it's the only option. hard-drained Set to passive Link is completely removed from routing. No traffic will traverse this link."},{"location":"contribute-operations/#state-transitions","title":"State Transitions","text":"

The following state transitions are allowed:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (must go through soft-drained first)\n

\u26a0\ufe0f Note: You cannot go directly from hard-drained to activated. You must first transition to soft-drained, then to activated.

"},{"location":"contribute-operations/#soft-drain-a-link","title":"Soft Drain a Link","text":"

Soft draining deprioritizes a link by setting its IS-IS metric to 1,000,000. Traffic will prefer alternate paths but can still use this link if necessary.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"contribute-operations/#hard-drain-a-link","title":"Hard Drain a Link","text":"

Hard draining removes the link from routing entirely by setting IS-IS to passive mode. No traffic will traverse this link.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"contribute-operations/#restore-a-link-to-active","title":"Restore a Link to Active","text":"

To return a drained link to normal operation:

# From soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# From hard-drained (must go through soft-drained first)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"contribute-operations/#delay-override","title":"Delay Override","text":"

The delay override feature allows contributors to temporarily change a link's effective delay without modifying the actual measured delay value. This is useful for temporary demoting a link from primary to secondary path.

"},{"location":"contribute-operations/#set-a-delay-override","title":"Set a Delay Override","text":"

To override a link's delay (making it less preferred in routing):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

Valid values are 0.01 to 1000 milliseconds.

"},{"location":"contribute-operations/#clear-a-delay-override","title":"Clear a Delay Override","text":"

To remove the override and return to using the actual measured delay:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Note: When a link is soft-drained, both delay_ms and delay_override_ms are overridden to 1000ms (1 second) to ensure deprioritization.

"},{"location":"contribute-overview/","title":"Contributor Documentation","text":"

Terminology

New to DoubleZero? See the Glossary for definitions of key terms like DZD, DZX, and CYOA.

Welcome to the DoubleZero contributor documentation. This section covers everything you need to become a network contributor.

Interested in becoming a network contributor?

Review the Requirements & Architecture page to understand the hardware, bandwidth, and connectivity needed to contribute to the DoubleZero network.

"},{"location":"contribute-overview/#onboarding-checklist","title":"Onboarding Checklist","text":"

Use this checklist to track your progress. All items must be complete before your contribution is technically operational.

"},{"location":"contribute-overview/#phase-1-prerequisites","title":"Phase 1: Prerequisites","text":""},{"location":"contribute-overview/#phase-2-account-setup","title":"Phase 2: Account Setup","text":""},{"location":"contribute-overview/#phase-3-device-provisioning","title":"Phase 3: Device Provisioning","text":""},{"location":"contribute-overview/#phase-4-link-establishment-agent-installation","title":"Phase 4: Link Establishment & Agent Installation","text":""},{"location":"contribute-overview/#phase-5-link-burn-in","title":"Phase 5: Link Burn-in","text":""},{"location":"contribute-overview/#phase-6-verification-activation","title":"Phase 6: Verification & Activation","text":""},{"location":"contribute-overview/#getting-help","title":"Getting Help","text":"

As part of onboarding, DZF will add you to the contributor Slack channels:

Channel Purpose #dz-contributor-announcements Official communications from DZF and Malbec Labs \u2014 CLI/agent upgrades, breaking changes, security announcements. Monitor for critical updates; ask questions in threads. #dz-contributor-incidents Unplanned service-impacting events. Incidents are posted automatically via the API/web form with severity and affected devices/links. Discussion and troubleshooting happens in threads. #dz-contributor-maintenance Planned maintenance activities (upgrades, repairs). Scheduled via the API/web form with planned start/end times. Discussion in threads. #dz-contributor-ops Open discussion for all contributors \u2014 operational questions, CLI help, sharing runbooks and playbooks.

You will also get a private DZ/Malbec Labs channel for direct support for your organization.

"},{"location":"contribute-overview/#dz-prefix-rules","title":"DZ Prefix Rules","text":"

Critical: DZ Prefix Pool Usage

The DZ prefix pool you provide is managed by the DoubleZero protocol for IP allocation.

How DZ prefixes are used:

You CANNOT use these addresses for:

Requirements:

If you need addresses for your own equipment (DIA interface IPs, management, etc.), use a separate address pool.

"},{"location":"contribute-overview/#quick-reference-key-terms","title":"Quick Reference: Key Terms","text":"

New to DoubleZero? Here are the essential terms (see full Glossary):

Term Definition DZD DoubleZero Device - your physical Arista switch running DZ agents DZX DoubleZero Exchange - metro interconnect point where contributors peer CYOA Choose Your Own Adventure - user connectivity method (GREOverDIA, GREOverFabric, etc.) DIA Direct Internet Access - internet connectivity required by all DZDs for controller and telemetry, commonly used as a CYOA type for user connectivity on edge/hybrid devices WAN Link Link between your own DZDs (same contributor) DZX Link Link to another contributor's DZD (requires mutual acceptance) Config Agent Polls controller, applies configuration to your DZD Telemetry Agent Collects TWAMP latency/loss metrics, submits to onchain ledger Service Key Your contributor identity key for CLI operations Metrics Publisher Key Key for signing telemetry submissions onchain"},{"location":"contribute-overview/#documentation-structure","title":"Documentation Structure","text":"Guide Description Requirements & Architecture Hardware specs, network architecture, bandwidth options Device Provisioning Step-by-step: keys \u2192 repo access \u2192 device \u2192 links \u2192 agents Operations Agent upgrades, link management, monitoring Glossary All DoubleZero terminology defined"},{"location":"contribute-overview/#network-basics-for-non-network-engineers","title":"Network Basics for Non-Network Engineers","text":"

If you're not from a network engineering background, here's a primer on concepts used in this documentation:

"},{"location":"contribute-overview/#ip-addressing","title":"IP Addressing","text":""},{"location":"contribute-overview/#network-layers","title":"Network Layers","text":""},{"location":"contribute-overview/#common-terms","title":"Common Terms","text":""},{"location":"contribute-overview/#doublezero-specific","title":"DoubleZero-Specific","text":"

Ready to begin? Start with Requirements & Architecture.

"},{"location":"contribute-provisioning/","title":"Device Provisioning Guide","text":"

This guide walks you through provisioning a DoubleZero Device (DZD) from start to finish. Each phase matches the Onboarding Checklist.

"},{"location":"contribute-provisioning/#how-it-all-fits-together","title":"How It All Fits Together","text":"

Before diving into the steps, here's the big picture of what you're building:

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero Ledger]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[Management Server<br/>DoubleZero CLI]\n        DZD[Your DZD<br/>Arista Switch]\n        DZD ---|WAN Link| DZD2[Your other DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[Their DZD]\n    end\n\n    subgraph Users\n        VAL[Validators]\n        RPC[RPC Nodes]\n    end\n\n    MGMT -.->|Registers devices,<br/>links, interfaces| SC\n    DZD ---|DZX Link| OtherDZD\n    VAL ---|Connect via Internet| DZD\n    RPC ---|Connect via Internet| DZD
"},{"location":"contribute-provisioning/#phase-1-prerequisites","title":"Phase 1: Prerequisites","text":"

Before you can provision a device, you need the physical hardware set up and some IP addresses allocated.

"},{"location":"contribute-provisioning/#what-you-need","title":"What You Need","text":"Requirement Why It's Needed DZD Hardware Arista 7280CR3A switch (see hardware specs) Rack Space 4U with proper airflow Power Redundant feeds, ~4KW recommended Management Access SSH/console access to configure the switch Internet Connectivity For metrics publishing and to fetch configuration from the controller Public IPv4 Block Minimum /29 for the DZ prefix pool (see below)"},{"location":"contribute-provisioning/#install-the-doublezero-cli","title":"Install the DoubleZero CLI","text":"

The DoubleZero CLI (doublezero) is used throughout provisioning to register devices, create links, and manage your contribution. It should be installed on a management server or VM \u2014 not on the DZD switch itself. The switch only runs the Config Agent and Telemetry Agent (installed in Phase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verify the daemon is running:

sudo systemctl status doublezerod\n

"},{"location":"contribute-provisioning/#understanding-your-dz-prefix","title":"Understanding Your DZ Prefix","text":"

Your DZ prefix is a block of public IP addresses that the DoubleZero protocol manages for IP allocation.

flowchart LR\n    subgraph \"Your /29 Block (8 IPs)\"\n        IP1[\"First IP<br/>Reserved for<br/>your device\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Assigned to| LO[Loopback100<br/>on your DZD]\n    IP2 -->|Allocated to| U1[User 1]\n    IP3 -->|Allocated to| U2[User 2]

How DZ prefixes are used:

DZ Prefix Rules

You CANNOT use these addresses for:

Requirements:

If you need addresses for your own equipment (DIA interface IPs, management, etc.), use a separate address pool.

"},{"location":"contribute-provisioning/#phase-2-account-setup","title":"Phase 2: Account Setup","text":"

In this phase, you create the cryptographic keys that identify you and your devices on the network.

"},{"location":"contribute-provisioning/#where-to-run-the-cli","title":"Where to Run the CLI","text":"

Do NOT install the CLI on your switch

The DoubleZero CLI (doublezero) should be installed on a management server or VM, not on your Arista switch.

flowchart LR\n    subgraph \"Management Server/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[Your Keypairs]\n    end\n\n    subgraph \"Your DZD Switch\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|Creates devices, links| BC[Blockchain]\n    CA -->|Pulls config| CTRL[Controller]\n    TA -->|Submits metrics| BC
Install on Management Server Install on Switch doublezero CLI Config Agent Your service keypair Telemetry Agent Your metrics publisher keypair Metrics publisher keypair (copy)"},{"location":"contribute-provisioning/#what-are-keys","title":"What Are Keys?","text":"

Think of keys like secure login credentials:

Both are cryptographic keypairs (a public key you share, a private key you keep secret).

flowchart LR\n    subgraph \"Your Keys\"\n        SK[Service Key<br/>~/.config/solana/id.json]\n        MK[Metrics Publisher Key<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Used for| CLI[CLI Commands<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Used for| TEL[Telemetry Agent<br/>Submits metrics onchain]
"},{"location":"contribute-provisioning/#step-21-generate-your-service-key","title":"Step 2.1: Generate Your Service Key","text":"

This is your main identity for interacting with DoubleZero.

doublezero keygen\n

This creates a keypair at the default location. The output shows your public key - this is what you'll share with DZF.

"},{"location":"contribute-provisioning/#step-22-generate-your-metrics-publisher-key","title":"Step 2.2: Generate Your Metrics Publisher Key","text":"

This key is used by the Telemetry Agent to sign metric submissions.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"contribute-provisioning/#step-23-submit-keys-to-dzf","title":"Step 2.3: Submit Keys to DZF","text":"

Contact the DoubleZero Foundation or Malbec Labs and provide:

  1. Your service key public key
  2. Your GitHub username (for repo access)

They will:

"},{"location":"contribute-provisioning/#step-24-verify-your-account","title":"Step 2.4: Verify Your Account","text":"

Once confirmed, verify your contributor account exists:

doublezero contributor list\n

You should see your contributor code in the list.

"},{"location":"contribute-provisioning/#step-25-access-the-contributors-repository","title":"Step 2.5: Access the Contributors Repository","text":"

The malbeclabs/contributors repository contains:

Follow the instructions there for device-specific configuration.

"},{"location":"contribute-provisioning/#phase-3-device-provisioning","title":"Phase 3: Device Provisioning","text":"

Now you'll register your physical device on the blockchain and configure its interfaces.

"},{"location":"contribute-provisioning/#understanding-device-types","title":"Understanding Device Types","text":"
flowchart TB\n    subgraph \"Edge Device\"\n        E[Edge DZD]\n        EU[Users connect here]\n        EU --> E\n        E <-->|DZX Link| ED[Other DZD]\n    end\n\n    subgraph \"Transit Device\"\n        T[Transit DZD]\n        T <-->|WAN Link| T2[Another DZD]\n        T <-->|DZX Link| TD[Other DZD]\n    end\n\n    subgraph \"Hybrid Device\"\n        H[Hybrid DZD]\n        HU[Users connect here]\n        HU --> H\n        H <-->|WAN Link| H2[Another DZD]\n        H <-->|DZX Link| HD[Other DZD]\n    end
Type What It Does When to Use Edge Accepts user connections only Single location, user-facing only Transit Moves traffic between devices Backbone connectivity, no users Hybrid Both user connections AND backbone Most common - does everything"},{"location":"contribute-provisioning/#step-31-find-your-location-and-exchange","title":"Step 3.1: Find Your Location and Exchange","text":"

Before creating your device, look up the codes for your data center location and nearest exchange:

# List available locations (data centers)\ndoublezero location list\n\n# List available exchanges (interconnect points)\ndoublezero exchange list\n
"},{"location":"contribute-provisioning/#step-32-create-your-device-onchain","title":"Step 3.2: Create Your Device Onchain","text":"

Register your device on the blockchain:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

Example:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Expected output:

Signature: 4vKz8H...truncated...7xPq2\n

Verify your device was created:

doublezero device list | grep nyc-dz001\n

Parameters explained:

Parameter What It Means --code A unique name for your device (e.g., nyc-dz001) --contributor Your contributor code (given by DZF) --device-type hybrid, transit, or edge --location Data center code from location list --exchange Nearest exchange code from exchange list --public-ip The public IP where users connect to your device via internet --dz-prefixes Your allocated IP block for users"},{"location":"contribute-provisioning/#step-33-create-required-loopback-interfaces","title":"Step 3.3: Create Required Loopback Interfaces","text":"

Every device needs two loopback interfaces for internal routing:

# VPNv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

Expected output (for each command):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"contribute-provisioning/#step-34-create-physical-interfaces","title":"Step 3.4: Create Physical Interfaces","text":"

Register the physical ports you'll use:

# Basic interface\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

Expected output:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"contribute-provisioning/#step-35-create-cyoa-interface-for-edgehybrid-devices","title":"Step 3.5: Create CYOA Interface (for Edge/Hybrid devices)","text":"

If your device accepts user connections, you need a CYOA (Choose Your Own Adventure) interface. This tells the system how users connect to you.

CYOA Types Explained:

Type Plain English Use When gre-over-dia Users connect via regular internet Most common - users connect via the dia to your DZD gre-over-private-peering Users connect via private link Users have direct connection to your network gre-over-public-peering Users connect via IX Users peer with you at an internet exchange gre-over-fabric Users on same local network Users in same data center gre-over-cable Direct cable to user Single dedicated user

Example - Standard internet users:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Expected output:

Signature: 2wLp8N...truncated...5vHt3\n

Parameters explained:

Parameter What It Means --interface-cyoa How users connect (see table above) --interface-dia dia if this is an internet-facing port --bandwidth Port speed in Mbps (10000 = 10Gbps) --cir Committed rate in Mbps (guaranteed bandwidth) --user-tunnel-endpoint This port accepts user tunnels"},{"location":"contribute-provisioning/#step-36-verify-your-device","title":"Step 3.6: Verify Your Device","text":"
doublezero device list\n

Example output:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Your device should appear with status activated.

"},{"location":"contribute-provisioning/#phase-4-link-establishment-agent-installation","title":"Phase 4: Link Establishment & Agent Installation","text":"

Links connect your device to the rest of the DoubleZero network.

"},{"location":"contribute-provisioning/#understanding-links","title":"Understanding Links","text":"
flowchart LR\n    subgraph \"Your Network\"\n        D1[Your DZD 1<br/>NYC]\n        D2[Your DZD 2<br/>LAX]\n    end\n\n    subgraph \"Other Contributor\"\n        O1[Their DZD<br/>NYC]\n    end\n\n    D1 ---|WAN Link<br/>Same contributor| D2\n    D1 ---|DZX Link<br/>Different contributors| O1
Link Type Connects Acceptance WAN Link Two of YOUR devices Automatic (you own both) DZX Link Your device to ANOTHER contributor Requires their acceptance"},{"location":"contribute-provisioning/#step-41-create-wan-links-if-you-have-multiple-devices","title":"Step 4.1: Create WAN Links (if you have multiple devices)","text":"

WAN links connect your own devices:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Example:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Expected output:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"contribute-provisioning/#step-42-create-dzx-links","title":"Step 4.2: Create DZX Links","text":"

DZX links connect your device directly to another contributor's DZD:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

Expected output:

Signature: 8mKp3W...truncated...2nRx7\n

After creating a DZX link, the other contributor must accept it:

# The OTHER contributor runs this\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

Expected output (for the accepting contributor):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"contribute-provisioning/#step-43-verify-links","title":"Step 4.3: Verify Links","text":"
doublezero link list\n

Example output:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Links should show status activated once both sides are configured.

"},{"location":"contribute-provisioning/#agent-installation","title":"Agent Installation","text":"

Two software agents run on your DZD:

flowchart TB\n    subgraph \"Your DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[Switch Hardware/Software]\n    end\n\n    CA -->|Polls for config| CTRL[Controller Service]\n    CA -->|Applies config| HW\n\n    HW -->|Metrics| TA\n    TA -->|Submits onchain| BC[DoubleZero Ledger]
Agent What It Does Config Agent Pulls configuration from controller, applies it to your switch Telemetry Agent Measures latency/loss to other devices, reports metrics onchain"},{"location":"contribute-provisioning/#step-44-install-config-agent","title":"Step 4.4: Install Config Agent","text":""},{"location":"contribute-provisioning/#enable-the-api-on-your-switch","title":"Enable the API on your switch","text":"

Add to EOS configuration:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF Note

Replace default with your management VRF name if different (e.g., management).

"},{"location":"contribute-provisioning/#download-and-install-the-agent","title":"Download and install the agent","text":"
# Enter bash on the switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-provisioning/#verify-the-extension","title":"Verify the extension","text":"
switch# show extensions\n

The Status should be \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"contribute-provisioning/#configure-and-start-the-agent","title":"Configure and start the agent","text":"

Add to EOS configuration:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

VRF Note

If your management VRF is not default (i.e. the namespace is not ns-default), prefix the exec command with exec /sbin/ip netns exec ns-<VRF>. For example, if your VRF is management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Get your device pubkey from doublezero device list (the account column).

"},{"location":"contribute-provisioning/#verify-its-running","title":"Verify it's running","text":"
switch# show agent doublezero-agent logs\n

You should see \"Starting doublezero-agent\" and successful controller connections.

"},{"location":"contribute-provisioning/#step-45-install-telemetry-agent","title":"Step 4.5: Install Telemetry Agent","text":""},{"location":"contribute-provisioning/#copy-the-metrics-publisher-key-to-your-device","title":"Copy the metrics publisher key to your device","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"contribute-provisioning/#register-the-metrics-publisher-onchain","title":"Register the metrics publisher onchain","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

Get the pubkey from your metrics-publisher.json file.

"},{"location":"contribute-provisioning/#download-and-install-the-agent_1","title":"Download and install the agent","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-provisioning/#verify-the-extension_1","title":"Verify the extension","text":"
switch# show extensions\n

The Status should be \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"contribute-provisioning/#configure-and-start-the-agent_1","title":"Configure and start the agent","text":"

Add to EOS configuration:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF Note

If your management VRF is not default (i.e. the namespace is not ns-default), add --management-namespace ns-<VRF> to the exec command. For example, if your VRF is management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"contribute-provisioning/#verify-its-running_1","title":"Verify it's running","text":"
switch# show agent doublezero-telemetry logs\n

You should see \"Starting telemetry collector\" and \"Starting submission loop\".

"},{"location":"contribute-provisioning/#phase-5-link-burn-in","title":"Phase 5: Link Burn-in","text":"

All new links must burn in before carrying traffic

New links must be drained for at least 24 hours before being activated for production traffic. This burn-in requirement is defined in RFC12: Network Provisioning, which specifies ~200,000 DZ Ledger slots (~20 hours) of clean metrics before a link is ready for service.

With agents installed and running, monitor your links on metrics.doublezero.xyz for at least 24 consecutive hours:

Only undrain the link once the burn-in period shows a clean link with zero loss and zero errors.

"},{"location":"contribute-provisioning/#phase-6-verification-activation","title":"Phase 6: Verification & Activation","text":"

Run through this checklist to confirm everything is working.

Your device starts locked (max_users = 0)

When a device is created, max_users is set to 0 by default. This means no users can connect to it yet. This is intentional \u2014 you must verify everything works before accepting user traffic.

Before setting max_users above 0, you must:

  1. Confirm all links have completed their 24-hour burn-in with zero loss/errors on metrics.doublezero.xyz
  2. Coordinate with DZ/Malbec Labs to run a connectivity test:
    • Can a test user connect to your device?
    • Does the user receive routes over the DZ network?
    • Can the user route traffic over the DZ network end-to-end?
  3. Only after DZ/ML confirms the tests pass, set max_users to 96:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"contribute-provisioning/#device-checks","title":"Device Checks","text":"
# Your device should appear with status \"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

Expected output:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Your interfaces should be listed\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

Expected output:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"contribute-provisioning/#link-checks","title":"Link Checks","text":"
# Links should show status \"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

Expected output:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"contribute-provisioning/#agent-checks","title":"Agent Checks","text":"

On the switch:

# Config agent should show successful config pulls\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry agent should show successful submissions\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"contribute-provisioning/#final-verification-diagram","title":"Final Verification Diagram","text":"
flowchart TB\n    subgraph \"Verification Checklist\"\n        D[Device Status: activated?]\n        I[Interfaces: registered?]\n        L[Links: activated?]\n        CA[Config Agent: pulling config?]\n        TA[Telemetry Agent: submitting metrics?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[All Checks Pass] --> NOTIFY[Notify DZF/Malbec Labs<br/>You are technically ready!]
"},{"location":"contribute-provisioning/#troubleshooting","title":"Troubleshooting","text":""},{"location":"contribute-provisioning/#device-creation-fails","title":"Device creation fails","text":""},{"location":"contribute-provisioning/#link-stuck-in-requested-status","title":"Link stuck in \"requested\" status","text":""},{"location":"contribute-provisioning/#config-agent-not-connecting","title":"Config Agent not connecting","text":""},{"location":"contribute-provisioning/#telemetry-agent-not-submitting","title":"Telemetry Agent not submitting","text":""},{"location":"contribute-provisioning/#next-steps","title":"Next Steps","text":""},{"location":"contribute/","title":"Contributors Requirements & Architecture","text":""},{"location":"contribute/#summary","title":"Summary","text":"

Anyone who wishes to monetize their underutilized fiber optic cables and network hardware may contribute to the DoubleZero network. Network contributors must provide dedicated bandwidth between two points, operate DoubleZero compatible devices (DZDs) at each end, and a connection to the public internet at each end. Network contributors must also run DoubleZero software on each DZD to provide services like multicast, user lookup, and edge filtration.

The DoubleZero smart contract is the cornerstone of ensuring that the network maintains high-quality links that can be measured and integrated into the topology, allowing our network controllers to develop the most efficient end-to-end path between our different users and endpoints. Upon execution of the smart contract and deployment of the network equipment and bandwidth, an entity is classified as a network contributor. See DoubleZero Economics to further understand the economics behind participating in DoubleZero as a network contributor.

"},{"location":"contribute/#requirements-to-be-a-doublezero-network-contributor","title":"Requirements to be a DoubleZero Network Contributor","text":""},{"location":"contribute/#quick-start-guide","title":"Quick Start Guide","text":"

As a network contributor, the simplest way to get started in DoubleZero is by identifying capacity in your network that can be dedicated for DoubleZero. Once identified, DZDs must be deployed, facilitating the DoubleZero overlay network which only requires IPv4 reachability and a minimum MTU of 2048 bytes as its dependencies from the contributor's network.

Figure 1 highlights the simplest model for contributing bandwidth and packet sending and processing services. A DZD is deployed in each data center, interfacing with the network contributor's internal network to provide DoubleZero WAN connectivity. This is complemented by local internet, typically a Direct Internet Access (DIA) solution, that is used as on-ramps for DoubleZero users. While it is expected that DIA will be the preferred option for facilitating access to users of DoubleZero, numerous connectivity models are possible e.g. physical cabling to servers, network fabric extension, etc. We refer to these options as Choose Your Own Adventure (CYOA), providing the contributor flexibility to connect local or remote users in a way that best fits their internal network policies.

As with any network, reachability is a fundamental part of the architecture as network contributors cannot live in isolation. As such, the DZD must have a link to a DoubleZero Exchange (DZX) to create a contiguous network between participants.

Figure 1: DoubleZero Network Bandwidth Contribution Between 2 Data Centers - Single Contributor"},{"location":"contribute/#example-contributions","title":"Example Contributions","text":"

The ways in which a network contributor can grow their DoubleZero contributions are many, including:

"},{"location":"contribute/#example-1-single-contributor-3-data-centers-two-links","title":"Example 1: Single Contributor, 3 Data Centers, Two Links","text":"Figure 2: DoubleZero Network Bandwidth Contribution Between 3 Data Centers - Single Contributor

A single DZD can support multiple links contributed to DoubleZero. Figure 2 illustrates a potential topology if a single data center, denoted as 1, terminates bandwidth to two different remote data centers 2 and 3. In this scenario, each data center contains only 1 DZD. All DZDs are using DIA for user on-ramps as their CYOA interface.

"},{"location":"contribute/#example-2-single-contributor-3-data-centers-three-links","title":"Example 2: Single Contributor, 3 Data Centers, Three Links","text":"

Figure 3 describes the DoubleZero topology when a single contributor deploys three links in a triangle topology between 3 data centers. In a scenario similar to example 1, a single DZD is deployed in data centers 1, 2 and 3, each supporting 2 independent network links. The resulting topology is a triangle or ring between data centers.

Figure 3: DoubleZero Network Bandwidth Contribution Between 3 Data Centers - Single Contributor"},{"location":"contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

The creation of a contiguous network is a fundamental building block of the DoubleZero architecture. Contributors interface via a DoubleZero Exchange (DZX) within a metropolitan area, which is a city such as New York (NYC), London (LON) or Tokyo (TYO). A DZX is a network fabric similar to an Internet Exchange, allowing peering and route exchange.

In figure 4, network contributor 1 operates in data centers 1, 2 and 3, while network contributor 2 operates in data centers 2, 4 and 5. By interconnecting in data center 2, the DoubleZero network reach increases to 5 contiguous data centers.

Figure 4: DoubleZero Network Bandwidth Contribution Between 2 Network Bandwidth Contributors"},{"location":"contribute/#bandwidth-contribution-options","title":"Bandwidth Contribution Options","text":"

DoubleZero requires a network contributor to offer integrated connectivity via a guaranteed bandwidth, latency and jitter profile between DZDs at two terminating data centers expressed via a smart contract. DoubleZero does not mandate how a network contributor implements their contribution, however, in the following sections we provide indicative options for use at their sole discretion.

Important areas to consider for a network contributor might be:

"},{"location":"contribute/#layer-1-bandwidth","title":"Layer 1 Bandwidth","text":"Figure 5: Layer 1 Optical Services

Layer 1 bandwidth, more formally described as wavelength services, may see dedicated capacity provisioned on an existing optical infrastructure, such as DWDM, CWDM or via optical multiplexers (MUX). In figure 5, the DZDs use a colored optic that is cabled to an L1 MUX, which interleaves the DZD wavelength on to an existing dark fiber.

This solution has numerous benefits for network contributors who already operate an existing core network. The iterative operational changes, as well as additional CAPEX and OPEX requirements, are modest. This option is particularly robust in offering segregation from the network contributor's network services.

"},{"location":"contribute/#packet-switched-bandwidth","title":"Packet Switched Bandwidth","text":"

Packet switched networks can be considered a typical enterprise network, running standard routing and switching protocols supporting business applications. There are numerous networking technologies that achieve connectivity, for example, layer 2 (L2) extensions using VLAN tags.

"},{"location":"contribute/#l2-extension","title":"L2 Extension","text":"Figure 6: Packet Switched Networks - L2 Extension

An L2 extension as shown in Figure 6 can be facilitated through VLAN tagging. A DZD's port can be cabled to a contributor's internal network switch, with the switch port being set as an access port in, for example, VLAN 10. Through 802.1q tagging, this VLAN can be carried over multiple switch-hops on the contributor's network, terminating at the switch interfacing with the remote DZD.

This solution benefits from being widely supported and relatively easy to implement while creating segmentation between DoubleZero and internal layer 3 services. Bandwidth can be controlled based on the interface speed of the contributor's internal switch or router. Careful consideration must be given to performance across the shared internal L2 network through technologies such as Quality of Service (QoS) or other traffic management policies. However, additional CAPEX and OPEX investments should be modest if existing capacity is available within the contributor's core network.

"},{"location":"contribute/#dedicated-3rd-party-bandwidth","title":"Dedicated 3rd Party Bandwidth","text":"Figure 7: Dedicated 3rd Party Bandwidth

While reusing available capacity will be attractive to many network contributors, one can also dedicate newly acquired bandwidth to DoubleZero. In such a scenario, the DZD would connect directly to the 3rd party carrier without any internal devices of the contributor sitting inline (figure 7).

This option is attractive as it ensures dedicated bandwidth for DoubleZero, is simple operationally and ensures complete segmentation from any other network services. This option will likely have the highest OPEX increase and requires new service contracts with 3rd party carriers.

"},{"location":"contribute/#hardware-requirements","title":"Hardware Requirements","text":""},{"location":"contribute/#100gbps-bandwidth-contribution","title":"100Gbps Bandwidth Contribution","text":"

Note that quantities below reflect equipment needed in two data centers, i.e. the total required hardware necessary to deploy 1 fiber optic cable for bandwidth contribution.

*All FPGAs are subject to final testing. 10G contributions may be supported using Arista 7130LBR switches with inbuilt dual Virtex\u00ae UltraScale+\u2122 FPGAs (if you have any questions, DoubleZero Foundation / Malbec Labs are happy to provide more information)."},{"location":"contribute/#function-port-requirements","title":"Function & Port Requirements","text":"Function Port Speed DZ Requirement QTY Note Private Bandwidth 100G Yes 1 Direct Internet Access (DIA) 10G Yes 2 DoubleZero eXchange (DZX) 100G Yes* 1 Must be supported once more than 3 providers operate in the same metro area, preceding this, cross-connects or other peering arrangements can be used to interconnect to other providers. Management No 1 Determined by contributor's own internal management policies. Console No 1 Determined by contributor's own internal management policies."},{"location":"contribute/#dzd-network-hardware","title":"DZD Network Hardware","text":"Make Model Part Number DZ Requirement QTY Note AMD* V80* 24540474 Yes 4 Arista 7280CR3A DCS-7280CR3A-32S Yes 2 Alternatives may be possible if lead times are challenging."},{"location":"contribute/#optics-100g","title":"Optics - 100G","text":"Make Model Part Number DZ Requirement QTY Note Arista 100GBASE-LR QSFP-100G-LR No 16 Cabling and optic choice available at contributor's discretion. 100G required to connect FPGAs."},{"location":"contribute/#optics-10g","title":"Optics - 10G","text":"Make Model Part Number DZ Requirement QTY Note Arista 10GBASE-LR SFP-10G-LR No 2 Cabling and optic choice available at contributor's discretion. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 2 Cabling and optic choice available at contributor's discretion."},{"location":"contribute/#ip-addressing","title":"IP Addressing","text":"IP Addressing Minimum Subnet Size DZ Requirement Note Public IPv4 /29 Yes (for edge/hybrid DZDs) Must be routable via DIA. We may eliminate the need for this over time.

Please ensure that the full /29 pool is available for the DZ protocol. Any requirements for point-to-point addressing, e.g., on DIA interfaces, should be managed via a different address pool.

"},{"location":"contribute/#10gbps-bandwidth-contribution","title":"10Gbps Bandwidth Contribution","text":"

Note that quantities reflect two data centers' equipment i.e. the total required hardware necessary to deploy 1 bandwidth contribution.

"},{"location":"contribute/#function-port-requirements_1","title":"Function & Port Requirements","text":"Function Port Speed DZ Requirement QTY Note Private Bandwidth 10G Yes 1 Direct Internet Access (DIA) 10G Yes 2 DoubleZero eXchange (DZX) 100G Yes* 1 Must be supported once more than 3 providers operate in the same metro area; preceding this, cross-connects or other peering arrangements can be used to interconnect to other providers. Management No 1 Determined by contributor's own internal management policies. Console No 1 Determined by contributor's own internal management policies."},{"location":"contribute/#hardware","title":"Hardware","text":"Make Model Part Number DZ Requirement QTY Note AMD* V80* 24540474* Yes 4 Arista 7280CR3A DCS-7280CR3A-32S Yes 2 Alternatives may be possible if lead times are challenging."},{"location":"contribute/#optics-100g_1","title":"Optics - 100G","text":"Make Model Part Number DZ Requirement QTY Note Arista 100GBASE-LR QSFP-100G-LR No 14 Cabling and optic choice available at contributor's discretion. 100G required to connect FPGAs."},{"location":"contribute/#optics-10g_1","title":"Optics - 10G","text":"Make Model Part Number DZ Requirement QTY Note Arista 10GBASE-LR SFP-10G-LR No 4 Cabling and optic choice available at contributor's discretion. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 4 Cabling and optic choice available at contributor's discretion. ---"},{"location":"contribute/#ip-addressing_1","title":"IP Addressing","text":"IP Addressing Minimum Subnet Size DZ Requirement Note Public IPv4 /29 Yes (for edge/hybrid DZDs) Must be routable via DIA. We may eliminate the need for this over time.

Please ensure that the full /29 pool is available for the DZ protocol. Any requirements for point-to-point addressing, e.g., on DIA interfaces, should be managed via a different address pool.

"},{"location":"contribute/#data-center-requirements","title":"Data Center Requirements","text":""},{"location":"contribute/#rack-power-requirements","title":"Rack & Power Requirements","text":"Requirement Specification Rack Space 4U Power 4KW (recommended)"},{"location":"contribute/#next-steps","title":"Next Steps","text":"

Ready to provision your first DZD? Continue to the Device Provisioning Guide.

"},{"location":"glossary/","title":"Glossary","text":"

This page defines DoubleZero-specific terminology used throughout the documentation.

"},{"location":"glossary/#network-infrastructure","title":"Network Infrastructure","text":""},{"location":"glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

The physical network switching hardware that terminates DoubleZero links and runs the DoubleZero Agent software. DZDs are deployed at data centers and provide routing, packet processing, and user connectivity services. Each DZD requires specific hardware specifications and runs both the Config Agent and Telemetry Agent.

"},{"location":"glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Interconnect points in the mesh network where different contributor links are bridged together. DZXs are located in major metropolitan areas (e.g., NYC, LON, TYO) where network intersections occur. Network contributors must cross-connect their links into the broader DoubleZero mesh at the nearest DZX. Similar in concept to an Internet Exchange (IX).

"},{"location":"glossary/#wan-link","title":"WAN Link","text":"

A Wide Area Network link between two DZDs operated by the same contributor. WAN links provide backbone connectivity within a single contributor's infrastructure.

"},{"location":"glossary/#dzx-link","title":"DZX Link","text":"

A link between DZDs operated by different contributors, established at a DZX. DZX links require explicit acceptance by both parties.

"},{"location":"glossary/#dz-prefix","title":"DZ Prefix","text":"

IP address allocations in CIDR format assigned to a DZD for overlay network addressing. Specified during device creation using the --dz-prefixes parameter.

"},{"location":"glossary/#device-types","title":"Device Types","text":""},{"location":"glossary/#edge-device","title":"Edge Device","text":"

A DZD that provides user connectivity to the DoubleZero network. Edge devices leverage CYOA interfaces to terminate users (validators, RPC operators) and connect them to the network.

"},{"location":"glossary/#transit-device","title":"Transit Device","text":"

A DZD that provides backbone connectivity within the DoubleZero network. Transit devices move traffic between DZDs but do not terminate user connections directly.

"},{"location":"glossary/#hybrid-device","title":"Hybrid Device","text":"

A DZD that combines both edge and transit functionality, providing both user connectivity and backbone routing.

"},{"location":"glossary/#connectivity","title":"Connectivity","text":""},{"location":"glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Interface types that allow contributors to register connectivity options for users to connect to the DoubleZero network. CYOA interfaces include various methods like DIA, GRE tunnels, and private peering. See Creating CYOA Interfaces for configuration details.

"},{"location":"glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

A standard networking term for connectivity provided over the public internet. In DoubleZero, DIA is a CYOA interface type where users (validators, RPC operators) connect to a DZD over their existing internet connection.

"},{"location":"glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

A connection mode that allows validators and RPC nodes to connect to DoubleZero without restarting their blockchain clients. IBRL uses the existing public IP address and establishes an overlay tunnel to the nearest DZD. See Mainnet-Beta Connection for setup instructions.

"},{"location":"glossary/#multicast","title":"Multicast","text":"

A one-to-many packet delivery method supported by DoubleZero. Multicast mode has two roles: publisher (sends packets across the network) and subscriber (receives packets from the publisher). Used by development teams for efficient data distribution. See Other Multicast Connection for connection details.

"},{"location":"glossary/#software-components","title":"Software Components","text":""},{"location":"glossary/#doublezerod","title":"doublezerod","text":"

The DoubleZero daemon service that runs on user servers (validators, RPC nodes). It manages the connection to the DoubleZero network, handles tunnel establishment, and maintains connectivity to DZDs. Configured via systemd and controlled through the doublezero CLI.

"},{"location":"glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

The command-line interface for interacting with the DoubleZero network. Used for connecting, managing identities, checking status, and administrative operations. Communicates with the doublezerod daemon.

"},{"location":"glossary/#config-agent","title":"Config Agent","text":"

Software agent running on DZDs that manages device configuration. Reads configuration from the Controller service and applies changes to the device. See Config Agent Installation for setup.

"},{"location":"glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Software agent running on DZDs that collects performance metrics (latency, jitter, packet loss) and submits them to the DoubleZero ledger. See Telemetry Agent Installation for setup.

"},{"location":"glossary/#controller","title":"Controller","text":"

A service that provides configuration to DZD agents. The Controller derives device configurations from onchain state on the DoubleZero ledger.

"},{"location":"glossary/#link-states","title":"Link States","text":""},{"location":"glossary/#activated","title":"Activated","text":"

The normal operational state for a link. Traffic flows through the link and it participates in routing decisions.

"},{"location":"glossary/#soft-drained","title":"Soft-Drained","text":"

A maintenance state where traffic will be discouraged on a specific link. Used for graceful maintenance windows. Can transition to activated or hard-drained.

"},{"location":"glossary/#hard-drained","title":"Hard-Drained","text":"

A maintenance state where the link is completely removed from service. No traffic flows through the link. Must transition to soft-drained before returning to activated.

"},{"location":"glossary/#organizations-tokens","title":"Organizations & Tokens","text":""},{"location":"glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

DoubleZero Foundation is a memberless nonprofit Cayman Islands foundation company that was formed to support the development, decentralization, security and adoption of the DoubleZero network.

"},{"location":"glossary/#2z-token","title":"2Z Token","text":"

The native token of the DoubleZero network. Used for paying validator fees and distributed as rewards to contributors. Validators can pay fees in 2Z via an onchain swap program. See Swapping SOL to 2Z.

"},{"location":"glossary/#contributor","title":"Contributor","text":"

A network infrastructure provider who contributes bandwidth and hardware to the DoubleZero network. Contributors operate DZDs, provide WAN and DZX links, and receive 2Z token incentives for their contribution. See Contributor Documentation to get started.

"},{"location":"glossary/#networking-concepts","title":"Networking Concepts","text":""},{"location":"glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

The largest packet size (in bytes) that can be transmitted over a network link. DoubleZero WAN links typically use MTU 9000 (jumbo frames) for efficiency.

"},{"location":"glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

A technology that allows multiple isolated routing tables to exist on the same physical router. Contributors often use a separate management VRF to isolate switch management traffic from production traffic.

"},{"location":"glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

A tunneling protocol that encapsulates network packets inside IP packets. Used by IBRL and CYOA connections to create overlay tunnels between users and DZDs.

"},{"location":"glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

The routing protocol used for exchanging routing information between networks on the internet. DoubleZero uses BGP internally with ASN 65342.

"},{"location":"glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

A unique identifier assigned to a network for BGP routing. All DoubleZero devices use ASN 65342 for the internal BGP process.

"},{"location":"glossary/#loopback-interface","title":"Loopback Interface","text":"

A virtual network interface on a router/switch used for management and routing purposes. DZDs use Loopback255 (VPNv4) and Loopback256 (IPv4) for internal routing.

"},{"location":"glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

A notation for specifying IP address ranges. The format is IP/prefix-length where the prefix length indicates network size (e.g., /29 = 8 addresses, /24 = 256 addresses).

"},{"location":"glossary/#jitter","title":"Jitter","text":"

Variation in packet latency over time. Low jitter is critical for real-time applications.

"},{"location":"glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

The time for a packet to travel from source to destination and back. Used to measure network latency between devices.

"},{"location":"glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

A protocol for measuring network performance metrics like latency and packet loss. The Telemetry Agent uses TWAMP to collect metrics between DZDs.

"},{"location":"glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

A link-state routing protocol used internally by the DoubleZero network. IS-IS metrics are adjusted during link draining operations.

"},{"location":"glossary/#blockchain-keys","title":"Blockchain & Keys","text":""},{"location":"glossary/#onchain","title":"Onchain","text":"

In the DoubleZero context, onchain refers to data and operations recorded on the DoubleZero ledger. Unlike traditional networks where device and link configurations live in centralized management systems, DoubleZero records device registrations, link configurations, and telemetry submissions onchain \u2014 making the network state transparent and verifiable by all participants.

"},{"location":"glossary/#service-key","title":"Service Key","text":"

A cryptographic keypair used to authenticate CLI operations. This is your contributor identity for interacting with the DoubleZero smart contract. Stored at ~/.config/solana/id.json.

"},{"location":"glossary/#metrics-publisher-key","title":"Metrics Publisher Key","text":"

A cryptographic keypair used by the Telemetry Agent to sign metric submissions to the blockchain. Separate from the service key for security isolation. Stored at ~/.config/doublezero/metrics-publisher.json.

"},{"location":"glossary/#hardware-software","title":"Hardware & Software","text":""},{"location":"glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

Arista's network operating system that runs on DZD switches. Contributors install Config Agent and Telemetry Agent as EOS extensions.

"},{"location":"glossary/#eos-extension","title":"EOS Extension","text":"

A software package that can be installed on Arista EOS switches. DZ agents are distributed as .rpm files and installed via the extension command.

"},{"location":"multicast-admin/","title":"Multicast Group Management in DoubleZero","text":"

A multicast group is a logical collection of devices or network nodes that share a common identifier (typically a multicast IP address) to efficiently transmit data to multiple recipients. Unlike unicast (one-to-one) or broadcast (one-to-all) communication, multicast enables a sender to transmit a single data stream that is replicated by the network only for receivers who have joined the group.

This approach optimizes bandwidth usage and reduces load on both the sender and the network infrastructure, as packets are transmitted only once per link and are duplicated only when necessary to reach multiple subscribers. Multicast groups are commonly used in scenarios such as live video streaming, conferencing, financial data distribution, and real-time messaging systems.

In DoubleZero, multicast groups provide a secure and controlled mechanism to manage who can send (publishers) and receive (subscribers) data within each group, ensuring efficient and governed information distribution.

flowchart LR\n    subgraph Publishers\n        P1[Publisher 1]\n        P2[Publisher 2]\n        P3[Publisher 3]\n    end\n    subgraph Subscribers\n        S1[Subscriber 1]\n        S2[Subscriber 2]\n        S3[Subscriber 3]\n        S4[Subscriber 4]\n    end\n    P1 --> B[Multicast Group]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

The diagram above shows how multiple users can publish messages to a multicast group, and multiple users can subscribe to receive those messages. The DoubleZero network efficiently replicates packets, ensuring all subscribers receive messages without unnecessary transmission overhead.

"},{"location":"multicast-admin/#1-creating-and-listing-multicast-groups","title":"1. Creating and Listing Multicast Groups","text":"

Multicast groups are the foundation for secure and efficient data distribution in DoubleZero. Each group is uniquely identified and configured with a specific bandwidth and owner. Only DoubleZero Foundation administrators can create new multicast groups, ensuring proper governance and resource allocation.

Once created, multicast groups can be listed to provide an overview of all available groups, their configuration, and their current status. This is essential for network operators and group owners to monitor resources and manage access.

Creating a multicast group:

Only the DoubleZero Foundation can create new multicast groups. The creation command requires a unique code, the maximum bandwidth, and the owner public key (or 'me' for the current payer).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Listing all multicast groups:

To list all multicast groups and view summary information (including group code, multicast IP, bandwidth, number of publishers and subscribers, status, and owner):

doublezero multicast group list\n

Sample output:

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

This command displays a table with all multicast groups and their main properties: - account: Group account address - code: Multicast group code - multicast_ip: Multicast IP address assigned to the group - max_bandwidth: Maximum allowed bandwidth for the group - publishers: Number of publishers in the group - subscribers: Number of subscribers in the group - status: Current status (e.g., activated) - owner: Owner public key

Once a group is created, the owner can manage which users are allowed to connect as publishers or subscribers.

"},{"location":"multicast-admin/#2-managing-publishersubscriber-allowlists","title":"2. Managing Publisher/Subscriber Allowlists","text":"

Publisher and subscriber allowlists are essential for controlling access to multicast groups in DoubleZero. These lists explicitly define which users are permitted to publish (send data) or subscribe (receive data) within a specific multicast group.

Managing these lists is the responsibility of the group owner, who can add, remove, or view authorized publishers and subscribers using the DoubleZero CLI. Proper allowlist management is critical for maintaining the security, integrity, and traceability of multicast communications.

Note: To subscribe or publish to a multicast group, a user must first be authorized to connect to DoubleZero by following the standard connection procedures. The allowlist commands described here only associate an already authorized DoubleZero user with a multicast group. Adding a new IP to a multicast group\u2019s allowlist does not by itself grant access to DoubleZero; the user must have already completed the general authorization process before interacting with multicast groups.

"},{"location":"multicast-admin/#adding-a-publisher-to-the-allowlist","title":"Adding a publisher to the allowlist","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#removing-a-publisher-from-the-allowlist","title":"Removing a publisher from the allowlist","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#listing-the-publisher-allowlist-for-a-group","title":"Listing the publisher allowlist for a group","text":"

To list all publishers in the allowlist for a specific multicast group, use:

doublezero multicast group allowlist publisher list --code <CODE>\n

Example:

doublezero multicast group allowlist publisher list --code mg01\n

Sample output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

This command displays all publishers currently allowed to connect to the specified group, including their account, group code, client IP, and user payer.

"},{"location":"multicast-admin/#adding-a-subscriber-to-the-allowlist","title":"Adding a subscriber to the allowlist","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#removing-a-subscriber-from-the-allowlist","title":"Removing a subscriber from the allowlist","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#listing-the-subscriber-allowlist-for-a-group","title":"Listing the subscriber allowlist for a group","text":"

To list all subscribers in the allowlist for a specific multicast group, use:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Example:

doublezero multicast group allowlist subscriber list --code mg01\n

Sample output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

This command displays all subscribers currently allowed to connect to the specified group, including their account, group code, client IP, and user payer.

For more information about connecting and using multicast, see Other Multicast Connection.

"},{"location":"quick-connect/","title":"Quick Connect","text":"

Answer a few questions and we'll generate a personalized connection guide with the exact steps and commands for your setup.

Simplified Guide

This wizard provides key snippets from the full documentation to get you connected as quickly as possible. For complete details, see the Setup and Tenant guides.

Which network are you connecting to? Mainnet-Beta Production network for active validators and RPC operators Testnet Testing and development network What operating system is your server running? Ubuntu / Debian Ubuntu 22.04+ or Debian 11+ Rocky Linux / RHEL Rocky Linux or RHEL 8+ Which ecosystem? Solana Validators and RPC operators on Solana Shelby RPCs and Storage Nodes on Shelby (Testnet only) New Tenant Other ecosystems Which firewall tool do you use? iptables Direct iptables rules UFW Uncomplicated Firewall What type of node are you running? Validator Leader-scheduled Solana validator with identity keypair Non-validator (RPC) RPC node or MEV infrastructure What connection mode do you need? Unicast (IBRL) Standard point-to-point connection Multicast One-to-many packet delivery (publisher/subscriber) Both Simultaneous unicast and multicast tunnels What is your multicast role? Publisher Send data to a multicast group (e.g., block producer) Subscriber Receive data from a multicast group"},{"location":"setup/","title":"How to set up DoubleZero","text":"

Terminology

New to DoubleZero? See the Glossary for definitions of terms like doublezerod, IBRL, and DZD.

By connecting to the DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"setup/#prerequisites","title":"Prerequisites","text":"

Warning

For validators: DoubleZero needs to be installed directly on your validator host, not in a container.

"},{"location":"setup/#connecting-to-doublezero","title":"Connecting to DoubleZero","text":"

DoubleZero Testnet and DoubleZero Mainnet-Beta are physically distinct networks. Please choose the appropriate network during install.

When onboarding to DoubleZero you will establish a DoubleZero identity, represented by a public key called the DoubleZero ID. This key is pat of how DoubleZero recognizes your machine.

"},{"location":"setup/#1-install-doublezero-packages","title":"1. Install DoubleZero Packages","text":"

Current Versions

Package Mainnet-Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Follow these steps depending on your operating system:

"},{"location":"setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

The current recommended deployment for Mainnet-Beta is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

The current recommended deployment for Testnet is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

The current recommended deployment for Mainnet-Beta is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

The current recommended deployment for Testnet is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Existing Users Only: Chang a package from Testnet to Mainnet-Beta, or Mainnet-Beta to Testnet

When you install from one of the package repositories above it is specific to DoubleZero Testnet or DoubleZero Mainnet Beta. If you swap networks at any point you will need to remove the previously installed package repositories and update to the target repo.

This example will walk through Testnet to Mainnet-Beta Migration

The same steps may be completed to move from Mainnet-Beta to Testnet, by replacing the step 3 with the the install command for Testnet above.

  1. Find Old Repository Files

    First, locate any existing DoubleZero repository configuration files on your system:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Remove Old Repository Files

    Remove the old repository files found in the previous step, for example

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Install from New Repository

    Add the new Mainnet-Beta repository and install the latest package:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"setup/#check-the-status-of-doublezerod","title":"Check the status of doublezerod","text":"

After the package is installed, a new systemd unit is installed, activated and started. To see the status you may run:

sudo systemctl status doublezerod\n

"},{"location":"setup/#configure-firewall-for-gre-and-bgp","title":"Configure Firewall for GRE and BGP","text":"

DoubleZero uses GRE tunneling (IP protocol 47) and BGP routing (tcp/179 on link-local addresses). Ensure your firewall allows these protocols:

Allow GRE and BGP through iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

Or allow GRE and BGP through UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"setup/#2-create-new-doublezero-identity","title":"2. Create New DoubleZero Identity","text":"

Create a DoubleZero Identity on your server with the following command:

doublezero keygen\n

Info

If you have an existing ID you would like to use, you may follow these optional steps.

Create doublezero config directory

mkdir -p ~/.config/doublezero\n

Copy or link the id.json you want to use with DoubleZero to the doublezero config directory.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"setup/#3-retrieve-the-servers-doublezero-identity","title":"3. Retrieve the server's DoubleZero identity","text":"

Review your DoubleZero Identity. This identity will be used to create the connection between your machine and DoubleZero

doublezero address\n

Output:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"setup/#4-check-that-doublezerod-has-discovered-dz-devices","title":"4. Check that doublezerod has discovered DZ devices","text":"

Before connecting, be sure doublezerod has discovered and pinged each of the available DZ testnet switches:

doublezero latency\n

Sample output:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

If no devices are returned in the output, wait 10-20 seconds and retry.

"},{"location":"setup/#5-disconnect-from-doublezero","title":"5. Disconnect from DoubleZero","text":"

In the next sections you will set your DoubleZero Environment. In order to ensure success, disconnect the current session. This will avoid issues related to multiple tunnels open on your machine.

Check

doublezero status\n

if it is up run:

doublezero disconnect\n
"},{"location":"setup/#up-next-tenant","title":"Up Next: Tenant","text":"

Connection to DoubleZero will differ based on your use case. On DoubleZero, Tenants are groups which have similiar user profiles. Examples include Blockchains, Data Transfer Layers, etc.

"},{"location":"setup/#proceed-to-chose-your-tenant-here","title":"Proceed to chose your tenant here","text":""},{"location":"setup/#optional-enable-prometheus-metrics","title":"Optional: Enable Prometheus Metrics","text":"

Operators familiar with Prometheus metrics may want to enable them for DoubleZero monitoring. This provides visibility into DoubleZero client performance, connection status, and operational health.

"},{"location":"setup/#what-metrics-are-available","title":"What Metrics Are Available","text":"

DoubleZero exposes several key metrics: - Build Information: Version, commit hash, and build date - Session Status: Whether the DoubleZero session is active - Connection Metrics: Latency and connectivity information - Performance Data: Throughput and error rates

"},{"location":"setup/#enable-prometheus-metrics","title":"Enable Prometheus Metrics","text":"

To enable Prometheus metrics on the DoubleZero client follow these steps:

"},{"location":"setup/#1-modify-the-doublezerod-systemd-service-startup-command","title":"1. Modify the doublezerod systemd service startup command","text":"

Create or edit the systemd override configuration:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Replace with this configuration:

Note that the -env flag needs to point to either testnet or mainnet-beta depending on which network you would like to gather data from. In the sample block testnet is used. You may swap this out for mainnet-beta if needed.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"setup/#2-reload-and-restart-the-service","title":"2. Reload and restart the service","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"setup/#3-verify-metrics-are-available","title":"3. Verify metrics are available","text":"

Test that the metrics endpoint is responding:

curl -s localhost:2113/metrics | grep doublezero\n

Expected output:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"setup/#troubleshooting","title":"Troubleshooting","text":"

If metrics are not appearing:

  1. Check service status: sudo systemctl status doublezerod
  2. Verify configuration: sudo systemctl cat doublezerod
  3. Check logs: sudo journalctl -u doublezerod -f
  4. Test endpoint: curl -v localhost:2113/metrics
  5. Verify port: netstat -tlnp | grep 2113
"},{"location":"setup/#configure-prometheus-server","title":"Configure Prometheus Server","text":"

Configuration, and security are beyond the scope of this documentation. Grafana is an excellent option for visualization, and has documentation available here detailing how to collect Prometheus metrics.

"},{"location":"setup/#grafana-dashboard-optional","title":"Grafana Dashboard (Optional)","text":"

For visualization, you can create a Grafana dashboard using the DoubleZero metrics. Common panels include: - Session status over time - Build information - Connection latency trends - Error rate monitoring

"},{"location":"tenant/","title":"Tenants","text":"

Tenants on DoubleZero are groups of users with similar profiles and connection requirements, typically representing different blockchain ecosystems, data transfer layers, or distributed systems.

Examine the table below, and chose the use case which best describes how you plan to interact with the DoubleZero Network.

Solana

Use Case Next Stop Solana Mainnet Validator, including backups DoubleZero Mainnet-Beta Connection Solana Testnet Validator, including backups DoubleZero Testnet Connection Non-Validators - RPCs, and others. DoubleZero Mainnet-Beta and Testnet Connection

Shelby

Use Case Next Stop Shelby Testnet RPCs and Storage Nodes DoubleZero Testnet Connection

New Tenant

Use Case Next Stop You have a new protocol, application, or other use case for leveraging DoubleZero Add A New Tenant"},{"location":"troubleshooting/","title":"Troubleshooting","text":"

This guide will cover a variety of issues, and is ongoing. If you complete the guide you can seek further support in the DoubleZero Tech discord.

"},{"location":"troubleshooting/#common-commands-and-outputs","title":"Common Commands and Outputs","text":"

To begin examine the output of the following commands, and their expected output. These will assist you in more detailed troubleshooting. If you open a ticket, you may be asked for their output.

"},{"location":"troubleshooting/#1-check-version","title":"1. Check Version","text":"

Command:

doublezero --version

Sample Output:

DoubleZero 0.6.3\n

"},{"location":"troubleshooting/#2-check-doublezero-address","title":"2. Check DoubleZero Address","text":"

Command:

doublezero address

Sample Output:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"troubleshooting/#3-verify-your-access-pass","title":"3. Verify your Access Pass","text":"

Sample pubkey: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 replace this with your pubkey when running command.

Command:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Output: [note we use doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' to show you the header now in this output]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \n

"},{"location":"troubleshooting/#4-check-doublezero-ledger-credits","title":"4. Check DoubleZero Ledger Credits","text":"

Command:

doublezero balance

Sample Output:

0.78 Credits\n

"},{"location":"troubleshooting/#5-check-connection-status","title":"5. Check Connection Status","text":"

Command:

doublezero status

Sample Output:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network \n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"troubleshooting/#6-check-latency","title":"6. Check Latency","text":"

Command:

doublezero latency

Sample Output:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable \n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"troubleshooting/#troubleshooting-examples","title":"Troubleshooting Examples","text":"

Now that we have examined basic outputs, and what is expected in a healthy deployment we can examine some common troubleshooting examples.

"},{"location":"troubleshooting/#issue-error-creating-user","title":"Issue: \u274c Error creating user","text":"

This issue is generally related to a mismatch between the expected pubkey/IP pairing and the pubkey/IP pairing the user is trying to access DoubleZero with.

Symptoms: - When connecting with doublezero connect ibrl the user encounters \u274c Error creating user

Solutions: 1. Check

`doublezero address`\n\nSample Output:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. verify that this address is allow listed:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Sample Output:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \n
    The pubkey from doublezero address must match the user_payer pubkey and the IP Address you are trying to connect from must match the ip in the Access-Pass. doublezero address is sourced from the id.json file in in ~/.config/doublezero/ by default. See the step 6 here

  2. If the above looks correct and you are getting an error while connecting or if the above mapping is incorrect please contact support in DoubleZero Tech

"},{"location":"troubleshooting/#issue-error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Issue: \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

This error signifies that a device is already connected to DoubleZero.

Symptoms: - User tries to connect to DoubleZero - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time is encountered.

Solutions: 1. Check doublezero status

Output:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network \nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. -up- signifies a healthy connection.
  2. The error appears because a tunnel to DoubleZero with the specific DoubleZero IP is already active on this machine.

    This error is often encountered after a DoubleZero client upgrade. DoubleZero upgrades automatically restart the doublezerod service and will reconnect you if you were connected prior to the service restart.

"},{"location":"troubleshooting/#issue-doublezero-status-is-unknown-or-down","title":"Issue: DoubleZero Status is unknown, or down","text":"

This issue is often related to the GRE tunnel being successfully activated between the server and the DoubleZero Device, but a firewall preventing BGP session establishment. Because of this you are not receiving routes from the network or sending traffic over DoubleZero.

Symptoms: - doublezero connect ibrl was successful. However, doublezero status returns down or unknown

doublezero connect ibrl                                                                                                                                                                                                                                                                                                                                  \nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network \nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

Solutions: 1. Check your firewall rules!

DoubleZero uses link local address space: 169.254.0.0/16 for the GRE tunnel interfaces between your machine and the DoubleZero Device. 169.254.0.0/16 is typically \"non-routable\" space and thus good security practices will recommend you blocking communications to/from this space. You will need to permit a rule in your firewall which enables src 169.254.0.0/16 to communicate with dst 169.254.0.0/16 on tcp port 179. That rule will need to be place above any rules that Deny traffic to 169.254.0.0/16.

In a firewall like ufw you can run `sudo ufw status` to view the firewalls rules and\n\nSample Output which may be something similar to what a Solana validator would have. \n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\nIn the above output you see all traffic to 169.254.0.0/16, except for the ports specified, is denied. \n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` to insert the rule in the <N> position. ie. if N = 1 then you will insert this rules as the first rule.\n`sudo ufw status numbered` will show you the numerical ordering of rules.\n
"},{"location":"troubleshooting/#issue-nearest-doublezero-device-has-changed","title":"Issue: Nearest DoubleZero device has changed","text":"

This is not an error, but can be an optimization. Below is a best practice which can be run from time to time, or automated.

Solutions:

  1. Check latency to the nearest device

    • run doublezero latency

      output

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable \n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true      \n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true      \n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true      \n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true      \n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true   \n
      note above the nearest device is dz-ny7-sw01

      We want to connect to this device. :

  2. Determine if you are already connected to the target device

    • run doublezero user list --env testnet | grep 111.11.11.11 replace 111.11.11.11 with your devices public ipv4 address which is connected to DoubleZero. You may also use your validator ID, or doublezero ID.

      output

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner                                        \n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \n
      In this example, we are already connected to the nearest device. No more steps are needed, we can stop here.

      Let us consider instead if the output was account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn This would be a sub-optimal connection. Let us consider if reconnection is needed.

      Prior to connection, we will check if the device has available user tunnels.

  3. Optional: examine the network for available devices

    For educational purposes we will first: - run doublezero device list for a full list of devices. We have pulled 2 devices as an example to explain the output.

    output:\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner                                        \nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp \n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp \n```\nNote above that `ams001-dz002` has 69 users, and 128 max users. This device is able to add 59 users.\n\nHowever, `dz-fr5-sw01` has 0 users, and 0 max users. You will not be able to connect to this device. With a max users of 0, the device is not accepting any connections.\n\nNow let us return to connecting to our nearest device.\n
  4. Determine if the target device has an available connection

    • run doublezero device list | grep dz-ny7-sw01 replace dz-ny7-sw01 with your target device

      output

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp \n
      here we can see that dz-ny7-sw01 has available space for connection.

  5. Connect to the nearest DoubleZero Device

    We will disconnect, and then reconnect to doublezero.

    First run - doublezero disconnect

    output

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    now we check the status to confirm our disconnection with - doublezero status

    output

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type \ndisconnected  | no session data     |             |            |            |               |    \n
    Last we will reconnect with - doublezero connect ibrl

    output

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01 \nService provisioned with status: ok\n\u2705  User Provisioned\n
    notice in the above output that we Connected to device: dz-ny7-sw01 this is the desired result from our initial investigation in step 1, where we discovered that dz-ny7-sw01 was the device with the lowest latency.

"},{"location":"troubleshooting/#issue-doublezero-status-returns-some-fields-with-na","title":"Issue: doublezero status returns some fields with N/A","text":"

This issue is generally related to a mismatch between the current daemon and client, vs the daemon and client the connected DZ tunnel was established in.

Symptoms: - When running doublezero status the user encounters N/A in some fields

Solutions: 1. Run doublezero status

Example:\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\nNotice in our example output above that the `Tunnel status` is `up`. Our `Network` is `mainnet-beta` However, `Current Device` and `Metro` are `N/A`\n\nThis is indicative of an open tunnel on your machine which is not in your current environment.\nIn this case the `up` status, with no found `Current Device` on `mainnet-beta` reveals to us that our tunnel is on testnet!\n
  1. Change your environment.

    In order to rectify the mismatch you will change your environment to the opposite of the environment returning the N/A

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero mainnet-beta:

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Check your status

    After switching environments run:

    doublezero status\n

    The expected output should be similar to:

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network \nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet \n
    With all fields populated you are now in the correct environment.

"},{"location":"zh/","title":"\u6b22\u8fce\u6765\u5230DoubleZero","text":"

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\u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u53bb\u4e2d\u5fc3\u5316\u534f\u8bae\u548c\u7f51\u7edc\uff0c\u4e13\u4e3a\u5206\u5e03\u5f0f\u7cfb\u7edf\uff08\u5982\u533a\u5757\u94fe\uff09\u4f18\u5316\u3002DoubleZero\u7684\u7528\u6237\u4eab\u6709\u4e00\u4f53\u5316\u670d\u52a1\uff0c\u7528\u4e8e\u5206\u5e03\u5f0f\u7cfb\u7edf\u6570\u636e\u7684\u9ad8\u5ea6\u4f18\u5316\u4f20\u8f93\u548c\u9884\u5904\u7406\u3002

"},{"location":"zh/#doublezero_1","title":"DoubleZero\u9002\u5408\u54ea\u4e9b\u4eba\uff1f","text":""},{"location":"zh/#_1","title":"\u8d21\u732e\u8005","text":"

DoubleZero\u8d21\u732e\u8005\u62e5\u6709\u4ee5\u672a\u5145\u5206\u5229\u7528\u7684\u79c1\u6709\u5149\u7ea4\u94fe\u8def\u548c\u786c\u4ef6\uff08\u5982\u4ea4\u6362\u673a\u548cFPGA\u8bbe\u5907\uff09\u5f62\u5f0f\u7684\u7f51\u7edc\u5bb9\u91cf\u3002\u5c06\u8fd9\u4e9b\u8d44\u6e90\u914d\u7f6e\u4e3a\u6269\u5c55DoubleZero\u7f51\u7edc\uff0c\u53ef\u521b\u5efa\u4e00\u4f53\u5316\u4fe1\u606f\u670d\u52a1\u3002\u4f7f\u7528DZ\u534f\u8bae\uff0c\u7f51\u7edc\u8d21\u732e\u8005\u5c06\u8fd9\u4e9b\u7f51\u7edc\u5bb9\u91cf\u7f16\u7ec7\u6210\u4e00\u4e2a\u52a8\u6001\u3001\u5e7f\u6cdb\u7684\u5168\u7403\u7f51\u72b6\u7f51\u7edc\uff0c\u5e76\u56e0\u5176\u8d21\u732e\u800c\u83b7\u5f97\u4ee3\u5e01\u6fc0\u52b1\u3002

"},{"location":"zh/#_2","title":"\u7528\u6237","text":"

DoubleZero\u7528\u6237\u53c2\u4e0e\u9700\u8981\u9ad8\u6027\u80fd\u7f51\u7edc\u8fde\u63a5\u7684\u5206\u5e03\u5f0f\u7cfb\u7edf\uff0c\u4f8b\u5982\u533a\u5757\u94fe\u3002\u5c06\u533a\u5757\u94fe\u7cfb\u7edf\u4e0eDoubleZero\u4e92\u8fde\u540e\uff0c\u7528\u6237\u83b7\u5f97\u4e00\u5957\u4f18\u5316\u529f\u80fd\u5305\uff0c\u4ee5\u52a0\u901f\u5176\u7f51\u7edcI/O\u3002

\u5728\u6700\u521d\u5b9e\u65bd\u4e2d\uff0cDoubleZero\u7f51\u7edc\u4e0e\u533a\u5757\u94fe\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\u4ee5\u53caRPC\u548cMEV\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u517c\u5bb9\u3002\u8fd9\u4e9b\u7528\u6237\u7cfb\u7edf\u5728\u5141\u8bb8\u5176\u8bbf\u95ee\u7f51\u7edc\u4e4b\u524d\uff0c\u901a\u8fc7\u5728\u5404\u81ea\u8d26\u672c\u4e0a\u9a8c\u8bc1\u5176\u552f\u4e00\u6807\u8bc6\u516c\u94a5\u5730\u5740\u6765\u8fdb\u884c\u51c6\u5165\u63a7\u5236\u3002\u968f\u7740\u7f51\u7edc\u53d1\u5c55\u4e3a\u5305\u542b\u5176\u4ed6\u751f\u6001\u7cfb\u7edf\u7684\u7528\u6237\u7cfb\u7edf\uff0c\u5c06\u6dfb\u52a0\u9488\u5bf9\u6bcf\u4e2a\u7528\u6237\u9879\u76ee\u793e\u533a\u5b9a\u5236\u7684\u989d\u5916\u8bc6\u522b\u548c\u8eab\u4efd\u9a8c\u8bc1\u7b56\u7565\u3002

"},{"location":"zh/#_3","title":"\u4f18\u52bf","text":"

DoubleZero\u552f\u4e00\u7684\u66ff\u4ee3\u65b9\u6848\u662f\u516c\u5171\u4e92\u8054\u7f51\u3002\u4e0e\u516c\u5171\u4e92\u8054\u7f51\u76f8\u6bd4\uff0cDoubleZero\u7f51\u7edc\u4e3a\u533a\u5757\u94fe\u63d0\u4f9b\u4e86\u4e24\u9879\u6539\u8fdb\u3002

\u9996\u5148\uff0c\u5165\u7ad9\u4ea4\u6613\u53ef\u4ee5\u5728\u7f51\u7edc\u8d21\u732e\u8005\u786c\u4ef6\u5c42\u9762\u4ee5\u975e\u81ea\u7531\u88c1\u91cf\u65b9\u5f0f\u8fdb\u884c\u8fb9\u7f18\u8fc7\u6ee4\uff08\u5373\u5220\u9664\u5783\u573e\u90ae\u4ef6\u548c\u91cd\u590d\u5185\u5bb9\uff09\uff0c\u7136\u540e\u518d\u53d1\u9001\u7ed9DoubleZero\u7f51\u7edc\u7684\u7528\u6237\uff08\u5982\u533a\u5757\u94fe\u8282\u70b9\uff09\u3002\u8fd9\u4f7f\u533a\u5757\u94fe\u80fd\u591f\u53d7\u76ca\u4e8e\u5171\u4eab\u7684\u5168\u7cfb\u7edf\u8fc7\u6ee4\u8d44\u6e90\uff0c\u800c\u65e0\u9700\u6bcf\u4e2a\u5355\u72ec\u7684\u9a8c\u8bc1\u5668\u914d\u7f6e\u8db3\u591f\u7684\u8d44\u6e90\u3002\u56e0\u6b64\uff0c\u9a8c\u8bc1\u5668\u53ef\u4ee5\u5c06\u5176\u8d44\u6e90\u91cd\u65b0\u5206\u914d\u5230\u76f4\u63a5\u4ea7\u751f\u6536\u5165\u7684\u6d3b\u52a8\u4e2d\u3002\u6b64\u529f\u80fd\u5c1a\u672a\u542f\u7528\u3002

\u5176\u6b21\uff0c\u51fa\u7ad9\u6d88\u606f\u88ab\u66f4\u76f4\u63a5\u5730\u8def\u7531\u548c\u4f18\u5148\u5904\u7406\uff0c\u4ee5\u63d0\u9ad8\u6548\u7387\u3002\u8fd9\u662f\u53ef\u80fd\u7684\uff0c\u56e0\u4e3a\u5728DoubleZero\u4e2d\uff0c\u5168\u7403\u6570\u636e\u79fb\u52a8\u7684\u8def\u7531\u903b\u8f91\u662f\u4e3a\u901f\u5ea6\u4f18\u5316\u7684\uff0c\u4e0d\u50cf\u516c\u5171\u4e92\u8054\u7f51\u3002\u56e0\u6b64\uff0c\u9a8c\u8bc1\u5668\u53d7\u76ca\u4e8e\u51cf\u5c11\u6296\u52a8\u2014\u2014\u6296\u52a8\u5b9a\u4e49\u4e3a\u4e24\u4e2a\u6570\u636e\u7ebf\u7f06\u7aef\u70b9\u4e4b\u95f4\u5ef6\u8fdf\u53d8\u5316\u7684\u6570\u91cf\u3002\u4ece\u672c\u8d28\u4e0a\u8bb2\uff0c\u533a\u5757\u94fe\u8282\u70b9\u53ef\u4ee5\u66f4\u5feb\u5730\u53d1\u9001\u548c\u63a5\u6536\u533a\u5757\u3002

\u7efc\u5408\u6765\u770b\uff0c\u8fd9\u4e9bDoubleZero\u7f51\u7edc\u4f18\u52bf\u53ef\u4ee5\u5b9e\u73b0\u901a\u8fc7\u516c\u5171\u4e92\u8054\u7f51\u65e0\u6cd5\u8fbe\u5230\u7684\u6027\u80fd\u6c34\u5e73\u3002

\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605DoubleZero\u534f\u8bae\u767d\u76ae\u4e66\u3002

"},{"location":"zh/#_4","title":"\u540e\u7eed\u6b65\u9aa4","text":""},{"location":"zh/DZ%20Mainnet-beta%20Connection/","title":"\u9a8c\u8bc1\u5668\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u4e3b\u7f51Beta","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#ibrlbeta_1","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u4e3b\u7f51Beta","text":"

Note

IBRL\u6a21\u5f0f\u4e0d\u9700\u8981\u91cd\u542f\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\uff0c\u56e0\u4e3a\u5b83\u4f7f\u7528\u60a8\u73b0\u6709\u7684\u516c\u5171IP\u5730\u5740\u3002

Solana\u4e3b\u7f51\u9a8c\u8bc1\u5668\u5c06\u5b8c\u6210\u5230DoubleZero\u4e3b\u7f51Beta\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

\u6bcf\u4e2aSolana\u9a8c\u8bc1\u5668\u90fd\u6709\u5176\u81ea\u5df1\u7684\u8eab\u4efd\u5bc6\u94a5\u5bf9\uff1b\u4ece\u4e2d\u63d0\u53d6\u79f0\u4e3a\u8282\u70b9ID\u7684\u516c\u94a5\u3002\u8fd9\u662f\u9a8c\u8bc1\u5668\u5728Solana\u7f51\u7edc\u4e0a\u7684\u552f\u4e00\u6307\u7eb9\u3002

\u786e\u8ba4DoubleZero ID\u548c\u8282\u70b9ID\u540e\uff0c\u60a8\u5c06\u8bc1\u660e\u60a8\u5bf9\u673a\u5668\u7684\u6240\u6709\u6743\u3002\u8fd9\u901a\u8fc7\u521b\u5efa\u5305\u542b\u4f7f\u7528\u9a8c\u8bc1\u5668\u8eab\u4efd\u5bc6\u94a5\u7b7e\u540d\u7684DoubleZero ID\u7684\u6d88\u606f\u6765\u5b8c\u6210\u3002\u7531\u6b64\u4ea7\u751f\u7684\u52a0\u5bc6\u7b7e\u540d\u4f5c\u4e3a\u60a8\u63a7\u5236\u8be5\u9a8c\u8bc1\u5668\u7684\u53ef\u9a8c\u8bc1\u8bc1\u660e\u3002

\u6700\u540e\uff0c\u60a8\u5c06\u5411DoubleZero\u63d0\u4ea4\u8fde\u63a5\u8bf7\u6c42\u3002\u6b64\u8bf7\u6c42\u4f20\u8fbe\uff1a\"\u8fd9\u662f\u6211\u7684\u8eab\u4efd\uff0c\u8fd9\u662f\u6240\u6709\u6743\u8bc1\u660e\uff0c\u8fd9\u662f\u6211\u6253\u7b97\u5982\u4f55\u8fde\u63a5\u3002\" DoubleZero\u9a8c\u8bc1\u6b64\u4fe1\u606f\uff0c\u63a5\u53d7\u8bc1\u660e\uff0c\u5e76\u4e3aDoubleZero\u4e0a\u7684\u9a8c\u8bc1\u5668\u914d\u7f6e\u7f51\u7edc\u8bbf\u95ee\u3002

\u672c\u6307\u5357\u5141\u8bb81\u4e2a\u4e3b\u9a8c\u8bc1\u5668\u6ce8\u518c\u81ea\u8eab\uff0c\u4ee5\u53ca\u540c\u65f6\u6ce8\u518c\u6700\u591a3\u53f0\u5907\u4efd/\u6545\u969c\u8f6c\u79fb\u673a\u5668\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u9a8c\u8bc1\u5668ID\u5c06\u4e0eSolana gossip\u8fdb\u884c\u6838\u5bf9\u4ee5\u786e\u5b9a\u76ee\u6807IP\u3002\u7136\u540e\u5c06\u4f7f\u7528\u76ee\u6807IP\u548cDoubleZero ID\u5728\u60a8\u7684\u673a\u5668\u548c\u76ee\u6807DoubleZero\u8bbe\u5907\u4e4b\u95f4\u5efa\u7acbGRE\u96a7\u9053\u3002

\u6ce8\u610f\uff1a\u5982\u679c\u60a8\u5728\u540c\u4e00IP\u4e0a\u540c\u65f6\u6709\u5783\u573eID\u548c\u4e3bID\uff0c\u53ea\u6709\u4e3bID\u5c06\u7528\u4e8e\u673a\u5668\u6ce8\u518c\u3002\u8fd9\u662f\u56e0\u4e3a\u5783\u573eID\u4e0d\u4f1a\u51fa\u73b0\u5728gossip\u4e2d\uff0c\u56e0\u6b64\u65e0\u6cd5\u7528\u4e8e\u9a8c\u8bc1\u76ee\u6807\u673a\u5668\u7684IP\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u4e3b\u7f51Beta\uff1a

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a \u2705 doublezerod configured for environment mainnet-beta

\u5927\u7ea630\u79d2\u540e\uff0c\u60a8\u5c06\u770b\u5230\u53ef\u7528\u7684DoubleZero\u8bbe\u5907\uff1a

doublezero latency\n
\u793a\u4f8b\u8f93\u51fa\uff08\u4e3b\u7f51Beta\uff09
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u6d4b\u8bd5\u7f51\u8f93\u51fa\u7ed3\u6784\u76f8\u540c\uff0c\u4f46\u8bbe\u5907\u8f83\u5c11\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#2-44880","title":"2. \u5f00\u653e44880\u7aef\u53e3","text":"

\u7528\u6237\u9700\u8981\u5f00\u653e44880\u7aef\u53e3\u4ee5\u4f7f\u7528\u67d0\u4e9b\u8def\u7531\u529f\u80fd\u3002

\u8981\u5f00\u653e44880\u7aef\u53e3\uff0c\u60a8\u53ef\u4ee5\u66f4\u65b0IP\u8868\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610f-i doublezero0\u3001-o doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

\u6216UFW\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610fin on doublezero0\u3001out on doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#3","title":"3. \u8bc1\u660e\u9a8c\u8bc1\u5668\u6240\u6709\u6743","text":"

\u8bbe\u7f6e\u597dDoubleZero\u73af\u5883\u540e\uff0c\u73b0\u5728\u662f\u8bc1\u660e\u60a8\u7684\u9a8c\u8bc1\u5668\u6240\u6709\u6743\u7684\u65f6\u5019\u4e86\u3002

\u60a8\u5728\u4e3b\u9a8c\u8bc1\u5668\u8bbe\u7f6e\u4e2d\u521b\u5efa\u7684DoubleZero ID\u5fc5\u987b\u7528\u4e8e\u6240\u6709\u5907\u4efd\u673a\u5668\u3002

\u60a8\u4e3b\u673a\u5668\u4e0a\u7684ID\u53ef\u4ee5\u901a\u8fc7doublezero address\u627e\u5230\u3002\u76f8\u540c\u7684ID\u5fc5\u987b\u5728\u96c6\u7fa4\u4e2d\u6240\u6709\u673a\u5668\u7684~/.config/doublezero/id.json\u4e2d\u3002

\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e00\u70b9\uff0c\u60a8\u9996\u5148\u9700\u8981\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u662f\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u8fd9\u9a8c\u8bc1\u4e86\u9a8c\u8bc1\u5668\u5df2\u5728gossip\u4e2d\u6ce8\u518c\u5e76\u51fa\u73b0\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u65e0\u8bba\u662f\u4e00\u53f0\u8fd8\u662f\u591a\u53f0\u673a\u5668\uff0c\u5de5\u4f5c\u6d41\u7a0b\u76f8\u540c\u3002 \u8981\u6ce8\u518c\u4e00\u53f0\u673a\u5668\uff0c\u8bf7\u4ece\u672c\u9875\u4e0a\u7684\u4efb\u4f55\u547d\u4ee4\u4e2d\u6392\u9664\u53c2\u6570\"--backup-validator-ids\"\u6216\"backup_ids=\"\u3002

\u73b0\u5728\uff0c\u5728\u60a8\u6253\u7b97\u8fd0\u884c\u4e3b\u9a8c\u8bc1\u5668\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u6b64\u8f93\u51fa\u662f\u9884\u671f\u7684\u3002\u5907\u4efd\u8282\u70b9\u5728\u901a\u884c\u8bc1\u521b\u5efa\u65f6\u4e0d\u80fd\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u73b0\u5728\u60a8\u5c06\u5728\u60a8\u8ba1\u5212\u4f7f\u7528\u4e3b\u9a8c\u8bc1\u5668\u6295\u7968\u8d26\u6237\u548c\u8eab\u4efd\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#_2","title":"\u51c6\u5907\u8fde\u63a5","text":"

\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002\u8fd9\u662f\u60a8\u62e5\u6709\u6d3b\u8dc3\u8d28\u62bc\u7684\u673a\u5668\uff0c\u8be5\u673a\u5668\u5728\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u4e0aSolana gossip\u4e2d\u4ee5\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668ID\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\uff1a

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

\u793a\u4f8b\u8f93\u51fa\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u6ce8\u610f\u6b64\u547d\u4ee4\u672b\u5c3e\u7684\u8f93\u51fa\u3002\u8fd9\u662f\u4e0b\u4e00\u6b65\u7684\u7ed3\u6784\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#4","title":"4. \u751f\u6210\u7b7e\u540d","text":"

\u5728\u4e0a\u4e00\u6b65\u7ed3\u675f\u65f6\uff0c\u6211\u4eec\u6536\u5230\u4e86solana sign-offchain-message\u7684\u9884\u683c\u5f0f\u5316\u8f93\u51fa\u3002

\u4ece\u4e0a\u8ff0\u8f93\u51fa\u4e2d\uff0c\u6211\u4eec\u5c06\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

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

\u8f93\u51fa\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#5-doublezero","title":"5. \u5728DoubleZero\u4e2d\u53d1\u8d77\u8fde\u63a5\u8bf7\u6c42","text":"

\u4f7f\u7528request-validator-access\u547d\u4ee4\u5728Solana\u4e0a\u4e3a\u8fde\u63a5\u8bf7\u6c42\u521b\u5efa\u8d26\u6237\u3002DoubleZero Sentinel\u4ee3\u7406\u68c0\u6d4b\u65b0\u8d26\u6237\uff0c\u9a8c\u8bc1\u5176\u8eab\u4efd\u548c\u7b7e\u540d\uff0c\u5e76\u5728DoubleZero\u4e2d\u521b\u5efa\u8bbf\u95ee\u901a\u884c\u8bc1\uff0c\u4f7f\u670d\u52a1\u5668\u80fd\u591f\u5efa\u7acb\u8fde\u63a5\u3002

\u4f7f\u7528\u8282\u70b9ID\u3001DoubleZero ID\u548c\u7b7e\u540d\u3002

Note

\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u4f7f\u7528-k /home/user/.config/solana/id.json\u6765\u67e5\u627e\u9a8c\u8bc1\u5668\u8eab\u4efd\u3002\u8bf7\u4f7f\u7528\u9002\u5408\u60a8\u672c\u5730\u90e8\u7f72\u7684\u4f4d\u7f6e\u3002

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

\u8f93\u51fa\uff1a

\u6b64\u8f93\u51fa\u53ef\u7528\u4e8e\u5728Solana\u6d4f\u89c8\u5668\u4e2d\u67e5\u770b\u4ea4\u6613\u3002\u786e\u4fdd\u5c06\u6d4f\u89c8\u5668\u5207\u6362\u5230\u4e3b\u7f51\u3002\u6b64\u9a8c\u8bc1\u662f\u53ef\u9009\u7684\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u5982\u679c\u6210\u529f\uff0cDoubleZero\u5c06\u6ce8\u518c\u4e3b\u9a8c\u8bc1\u5668\u53ca\u5176\u5907\u4efd\u3002\u60a8\u73b0\u5728\u53ef\u4ee5\u5728\u8bbf\u95ee\u901a\u884c\u8bc1\u4e2d\u6ce8\u518c\u7684IP\u4e4b\u95f4\u8fdb\u884c\u6545\u969c\u8f6c\u79fb\u3002\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u6ce8\u518c\u5907\u4efd\u8282\u70b9\u65f6\uff0cDoubleZero\u5c06\u81ea\u52a8\u7ef4\u62a4\u8fde\u63a5\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#6-ibrl","title":"6. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u3002\u5728GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Note

\u68c0\u67e5\u6b64\u8f93\u51fa\u3002\u6ce8\u610fTunnel src\u548cDoubleZero IP\u4e0e\u60a8\u673a\u5668\u4e0a\u7684\u516c\u5171IPv4\u5730\u5740\u5339\u914d\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#_3","title":"\u4e0b\u4e00\u6b65\uff1a\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247","text":"

\u5982\u679c\u60a8\u5df2\u5b8c\u6210\u6b64\u8bbe\u7f6e\u5e76\u8ba1\u5212\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247\uff0c\u8bf7\u7ee7\u7eed\u8bbf\u95ee\u4e0b\u4e00\u9875\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/","title":"\u9a8c\u8bc1\u5668\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u6d4b\u8bd5\u7f51","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\u6d4b\u8bd5\u7f51\uff0c\u6211\u540c\u610f\u6b64\u5904\u89c4\u5b9a\u7684\u8bc4\u4f30\u534f\u8bae\u6761\u6b3e\uff08\u70b9\u51fb\u5c55\u5f00\uff09

DoubleZero\u6d4b\u8bd5\u7f51 \u8bc4\u4f30\u534f\u8bae

\u901a\u8fc7\u8bbf\u95ee\u6216\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\uff08\u5b9a\u4e49\u5982\u4e0b\uff09\uff0c\u60a8\u540c\u610f\u81ea\u9996\u6b21\u8bbf\u95ee\u4e4b\u65e5\uff08\"\u751f\u6548\u65e5\u671f\"\uff09\u8d77\uff0c\u672c\u8bc4\u4f30\u534f\u8bae\uff08\"\u534f\u8bae\"\uff09\u89c4\u5b9a\u4e86DoubleZero\u57fa\u91d1\u4f1a\uff08\"DZF\"\uff09\u5c06\u4ee5\u8bc4\u4f30\u4e3a\u57fa\u7840\u5411\u60a8\uff08\"\u7528\u6237\"\u6216\"\u60a8\"\uff09\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u8bbf\u95ee\u6743\u7684\u6761\u6b3e\u548c\u6761\u4ef6\u3002\u51fa\u4e8e\u76f8\u4e92\u627f\u8bfa\u7684\u5bf9\u4ef7\uff0c\u60a8\u540c\u610f\u5982\u4e0b\uff1a

1. \u5b9a\u4e49\u3002

1.1 \"\u4fdd\u5bc6\u4fe1\u606f\"\u6307\u4efb\u4f55\u4e00\u65b9\u5411\u53e6\u4e00\u65b9\u62ab\u9732\u7684\u3001\u88ab\u6307\u5b9a\u4e3a\u4fdd\u5bc6\u7684\u3001\u6216\u672c\u5e94\u88ab\u7406\u89e3\u4e3a\u4fdd\u5bc6\u7684\u6240\u6709\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u89e3\u51b3\u65b9\u6848\u3001\u4ea7\u54c1\u8ba1\u5212\u3001\u5546\u4e1a\u8ba1\u5212\u3001\u5546\u4e1a\u673a\u5bc6\u3001\u6280\u672f\u6216\u4efb\u4f55\u5176\u4ed6\u4e13\u6709\u4fe1\u606f\u3002

1.2 \"\u89e3\u51b3\u65b9\u6848\"\u6307\u7528\u4e8eweb3\u9879\u76ee\u7684DoubleZero\u9ad8\u6027\u80fd\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u7684\u6d4b\u8bd5\u7f51\u7248\u672c\uff08\"\u6d4b\u8bd5\u7f51\"\uff09\u53ca\u76f8\u5173\u7684\u96c6\u6210\u5e26\u5bbd\u8fb9\u7f18\u8fc7\u6ee4\u670d\u52a1\uff08\"\u4fe1\u606f\u670d\u52a1\"\uff09\u3001DZ\u8f6f\u4ef6\uff08\u5b9a\u4e49\u5982\u4e0b\uff09\u3001DZF\u63d0\u4f9b\u7684\u4e0eDZ\u8f6f\u4ef6\u76f8\u5173\u7684\u6240\u6709\u6750\u6599\uff08\"\u6587\u6863\"\uff09\uff0c\u4ee5\u53caDZF\u5728\u6b64\u63d0\u4f9b\u7ed9\u7528\u6237\u7684\u5176\u4ed6\u6750\u6599\u3002

2. \u8bbf\u95ee\u3002

2.1 \u8bbf\u95ee\u89e3\u51b3\u65b9\u6848\u3002\u5728\u672c\u534f\u8bae\u6761\u6b3e\u548c\u6761\u4ef6\u7684\u7ea6\u675f\u4e0b\uff0cDZF\u5c06\u901a\u8fc7\u4e92\u8054\u7f51\u5411\u7528\u6237\u63d0\u4f9b\u5bf9\u89e3\u51b3\u65b9\u6848\u7684\u8bbf\u95ee\u3002\u7528\u6237\u7684\u8bbf\u95ee\u662f\u5bf9\u89e3\u51b3\u65b9\u6848\u7684\u975e\u72ec\u5360\u3001\u4e0d\u53ef\u8f6c\u8ba9\u7684\u6709\u9650\u4f7f\u7528\uff0c\u4ec5\u4f9b\u7528\u6237\u8bc4\u4f30\u4fe1\u606f\u670d\u52a1\u3002\u5173\u4e8e\u6784\u6210\u89e3\u51b3\u65b9\u6848\u7684\u4efb\u4f55\u8f6f\u4ef6\uff08\"DZ\u8f6f\u4ef6\"\uff09\uff0cDZF\u7279\u6b64\u5728\u8bc4\u4f30\u671f\u5185\u6388\u4e88\u7528\u6237\u6709\u9650\u7684\u3001\u53ef\u64a4\u9500\u7684\u8bb8\u53ef\uff0c\u4ec5\u6309\u6587\u6863\u7684\u89c4\u5b9a\u590d\u5236\u3001\u4e0b\u8f7d\u3001\u5236\u4f5c\u5408\u7406\u6570\u91cf\u7684\u526f\u672c\u3001\u8fd0\u884c\u548c\u90e8\u7f72\uff08\u5982\u9002\u7528\uff09\u8be5DZ\u8f6f\u4ef6\u3002

2.2 \u9650\u5236\u3002\u7528\u6237\u53ef\u4ece\u751f\u6548\u65e5\u671f\u8d77\u81f3DZF\u7ec8\u6b62\uff08\"\u8bc4\u4f30\u671f\"\uff09\u671f\u95f4\uff0c\u6309\u7167\u672c\u534f\u8bae\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\u3002\u7528\u6237\u7406\u89e3\uff0c\u5728\u8bc4\u4f30\u671f\u4e4b\u540e\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\u7684\u4efb\u4f55\u6743\u5229\u5c06\u987b\u670d\u4ece\u53cc\u65b9\u4e4b\u95f4\u5173\u4e8e\u6b64\u7684\u5355\u72ec\u5546\u4e1a\u534f\u8bae\uff0c\u5305\u62ec\u652f\u4ed8\u8d39\u7528\u3002\u7528\u6237\u4e0d\u5f97\uff0c\u4e5f\u4e0d\u5f97\u5141\u8bb8\u4efb\u4f55\u7b2c\u4e09\u65b9\uff1a\uff08i\uff09\u4fee\u6539\u89e3\u51b3\u65b9\u6848\u6216\u5176\u4efb\u4f55\u90e8\u5206\uff0c\u6216\u57fa\u4e8e\u89e3\u51b3\u65b9\u6848\u6216\u5176\u4efb\u4f55\u90e8\u5206\u521b\u5efa\u4efb\u4f55\u884d\u751f\u4f5c\u54c1\uff1b\uff08ii\uff09\u9664\u672c\u534f\u8bae\u660e\u786e\u5141\u8bb8\u5916\u590d\u5236\u89e3\u51b3\u65b9\u6848\uff1b\uff08iii\uff09\u4ee5\u670d\u52a1\u5c40\u7684\u5f62\u5f0f\u6216\u4ee5\u5176\u4ed6\u65b9\u5f0f\uff0c\u5411\u7b2c\u4e09\u65b9\u8f6c\u8bb8\u53ef\u3001\u5206\u53d1\u3001\u51fa\u552e\u3001\u501f\u51fa\u3001\u51fa\u79df\u3001\u79df\u8d41\u3001\u8f6c\u8ba9\u6216\u6388\u4e88\u89e3\u51b3\u65b9\u6848\u5168\u90e8\u6216\u4efb\u4f55\u90e8\u5206\u7684\u4efb\u4f55\u6743\u5229\uff0c\u6216\u5411\u7b2c\u4e09\u65b9\u63d0\u4f9b\u5bf9\u89e3\u51b3\u65b9\u6848\u7684\u8bbf\u95ee\u6743\uff0c\u9664\u975e\u662f\u901a\u8fc7\u6216\u4e0e\u7528\u6237\u5e73\u53f0\u6216\u4ea7\u54c1\u76f8\u5173\u8054\u7684\u4fe1\u606f\u670d\u52a1\u4ea7\u54c1\uff0c\u4e14\u975e\u72ec\u7acb\u57fa\u7840\u4e0a\uff1b\u6216\uff08iv\uff09\u4ee5\u672c\u534f\u8bae\u89c4\u5b9a\u4ee5\u5916\u7684\u65b9\u5f0f\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\u3002

2.3 \u6240\u6709\u6743\u3002DZF\u4fdd\u7559\u89e3\u51b3\u65b9\u6848\u7684\u6240\u6709\u6743\u5229\u3001\u6240\u6709\u6743\u548c\u5229\u76ca\uff0c\u5305\u62ec\u77e5\u8bc6\u4ea7\u6743\u3002

3. \u53cd\u9988\u3002 DZF\u53ef\u80fd\u5b9a\u671f\u8981\u6c42\u7528\u6237\u63d0\u4f9b\uff0c\u7528\u6237\u540c\u610f\u5411DZF\u63d0\u4f9b\u5173\u4e8e\u89e3\u51b3\u65b9\u6848\u4f7f\u7528\u3001\u64cd\u4f5c\u548c\u529f\u80fd\u7684\u53cd\u9988\uff08\"\u53cd\u9988\"\uff09\u3002\u7528\u6237\u7279\u6b64\u6388\u4e88DZF\u975e\u72ec\u5360\u3001\u5168\u7403\u8303\u56f4\u3001\u6c38\u4e45\u3001\u4e0d\u53ef\u64a4\u9500\u3001\u514d\u7248\u7a0e\u3001\u5168\u989d\u4ed8\u6e05\u3001\u53ef\u5b8c\u5168\u8f6c\u8bb8\u53ef\u548c\u53ef\u8f6c\u8ba9\u7684\u6743\u5229\u548c\u8bb8\u53ef\uff0c\u5c06\u53cd\u9988\u7528\u4e8e\u548c\u7eb3\u5165\u4efb\u4f55\u4ea7\u54c1\u548c\u670d\u52a1\uff0c\u5236\u9020\u3001\u4f7f\u7528\u3001\u51fa\u552e\u3001\u8981\u7ea6\u51fa\u552e\u3001\u8fdb\u53e3\u548c\u4ee5\u5176\u4ed6\u65b9\u5f0f\u5229\u7528\u6b64\u7c7b\u4ea7\u54c1\u548c\u670d\u52a1\uff0c\u4ee5\u53ca\u4ee5\u5176\u4ed6\u65b9\u5f0f\u4f7f\u7528\u3001\u590d\u5236\u3001\u5206\u53d1\u548c\u4ee5\u5176\u4ed6\u65b9\u5f0f\u5229\u7528\u53cd\u9988\u800c\u4e0d\u53d7\u9650\u5236\u3002

4. \u671f\u9650\u548c\u7ec8\u6b62\u3002

4.1 \u671f\u9650\u3002\u672c\u534f\u8bae\u81ea\u751f\u6548\u65e5\u671f\u8d77\u751f\u6548\uff0c\u5e76\u5728\u6574\u4e2a\u8bc4\u4f30\u671f\u5185\u4fdd\u6301\u5b8c\u5168\u6548\u529b\u3002\u4efb\u4f55\u4e00\u65b9\u5747\u53ef\u51fa\u4e8e\u4efb\u4f55\u539f\u56e0\u6216\u65e0\u539f\u56e0\uff0c\u901a\u8fc7\u4e66\u9762\u901a\u77e5\u53e6\u4e00\u65b9\uff08\u7535\u5b50\u90ae\u4ef6\u5373\u53ef\uff09\u7acb\u5373\u4ee5\u4fbf\u5229\u4e3a\u7531\u7ec8\u6b62\u672c\u534f\u8bae\u3002

4.1 \u7ec8\u6b62\u7684\u6548\u679c\u3002\u672c\u534f\u8bae\u56e0\u4efb\u4f55\u539f\u56e0\u7ec8\u6b62\u540e\uff1a\uff08i\uff09\u6388\u4e88\u7528\u6237\u7684\u6743\u5229\u5c06\u7acb\u5373\u7ec8\u6b62\uff1b\uff08ii\uff09\u7528\u6237\u5e94\u7acb\u5373\u505c\u6b62\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\uff0c\u5e76\u9000\u8fd8\u6216\u9500\u6bc1\u5176\u63a7\u5236\u4e0b\u7684\u6240\u6709\u6587\u6863\u548c\u4efb\u4f55DZ\u8f6f\u4ef6\uff1b\uff08iii\uff09\u5404\u65b9\u5e94\u7acb\u5373\u9000\u8fd8\u6216\u9500\u6bc1\u53e6\u4e00\u65b9\u7684\u6240\u6709\u4fdd\u5bc6\u4fe1\u606f\u548c\u8d22\u4ea7\uff1b\u4ee5\u53ca\uff08iv\uff09\u7b2c2.2\u30012.3\u30013\u30014.2\u6761\u548c\u7b2c5\u81f38\u6761\u5c06\u7ee7\u7eed\u6709\u6548\u3002

5. \u4fdd\u5bc6\u3002 \u5404\u65b9\u540c\u610f\uff0c\u5b83\u5c06\u4ec5\u4f7f\u7528\u53e6\u4e00\u65b9\u7684\u4fdd\u5bc6\u4fe1\u606f\u5c65\u884c\u5176\u5728\u672c\u534f\u8bae\u4e0b\u7684\u4e49\u52a1\u548c\u884c\u4f7f\u5176\u6743\u5229\uff0c\u4e14\u4e0d\u5f97\u62ab\u9732\u6216\u5141\u8bb8\u62ab\u9732\u76f8\u540c\u4fe1\u606f\uff0c\u9664\u975e\u672c\u534f\u8bae\u53e6\u6709\u5141\u8bb8\u3002\u4f46\u662f\uff0c\u4efb\u4f55\u4e00\u65b9\u53ef\u5411\u6709\u77e5\u60c5\u9700\u8981\u4e14\u53d7\u4e0d\u4f4e\u4e8e\u672c\u534f\u8bae\u89c4\u5b9a\u7684\u4fdd\u5bc6\u4e49\u52a1\u7ea6\u675f\u7684\u5176\u4eba\u5458\u3001\u5f8b\u5e08\u548c\u5176\u4ed6\u4ee3\u8868\u62ab\u9732\u4fdd\u5bc6\u4fe1\u606f\uff1b\u4ee5\u53ca\u5728\u6cd5\u5f8b\u8981\u6c42\u65f6\uff08\u5728\u6b64\u60c5\u51b5\u4e0b\uff0c\u63a5\u6536\u65b9\u5c06\u5728\u62ab\u9732\u524d\u901a\u77e5\u62ab\u9732\u65b9\uff0c\u5e76\u63d0\u4f9b\u5bf9\u6b64\u7c7b\u62ab\u9732\u63d0\u51fa\u5f02\u8bae\u7684\u673a\u4f1a\uff0c\u4e14\u5c06\u5728\u9002\u7528\u6cd5\u5f8b\u5141\u8bb8\u7684\u8303\u56f4\u5185\u5c06\u6b64\u7c7b\u62ab\u9732\u6700\u5c0f\u5316\uff09\u3002\u7b2c5\u6761\u7684\u4fdd\u5bc6\u4e49\u52a1\u4e0d\u9002\u7528\u4e8e\u4ee5\u4e0b\u4fe1\u606f\uff1a\uff08a\uff09\u975e\u56e0\u63a5\u6536\u65b9\u7684\u8fc7\u9519\u800c\u6210\u4e3a\u6216\u53d8\u5f97\u666e\u904d\u5df2\u77e5\u6216\u516c\u5f00\u53ef\u83b7\u5f97\u7684\u4fe1\u606f\uff1b\uff08b\uff09\u5728\u62ab\u9732\u65b9\u62ab\u9732\u4e4b\u524d\uff0c\u63a5\u6536\u65b9\u5df2\u5728\u65e0\u9650\u5236\u60c5\u51b5\u4e0b\u9002\u5f53\u77e5\u6653\u7684\u4fe1\u606f\uff1b\uff08c\uff09\u6709\u5408\u6cd5\u6388\u6743\u7684\u5176\u4ed6\u4eba\u58eb\u5728\u65e0\u9650\u5236\u60c5\u51b5\u4e0b\u9002\u5f53\u5411\u63a5\u6536\u65b9\u62ab\u9732\u7684\u4fe1\u606f\uff1b\u6216\uff08d\uff09\u63a5\u6536\u65b9\u672a\u4f7f\u7528\u6216\u53c2\u8003\u62ab\u9732\u65b9\u7684\u4fdd\u5bc6\u4fe1\u606f\u800c\u72ec\u7acb\u5f00\u53d1\u7684\u4fe1\u606f\u3002\u5404\u65b9\u540c\u610f\u5728\u4fdd\u62a4\u53e6\u4e00\u65b9\u7684\u4fdd\u5bc6\u4fe1\u606f\u514d\u53d7\u672a\u7ecf\u6388\u6743\u7684\u4f7f\u7528\u548c\u62ab\u9732\u65b9\u9762\u5c3d\u804c\u5c3d\u8d23\u3002\u5982\u679c\u672c\u6761\u6b3e\u6216\u672c\u534f\u8bae\u6240\u542b\u8bb8\u53ef\u7684\u6761\u6b3e\u5b9e\u9645\u6216\u5a01\u80c1\u906d\u53d7\u8fdd\u53cd\uff0c\u975e\u8fdd\u7ea6\u65b9\u5c06\u6709\u6743\u5bfb\u6c42\u5373\u65f6\u7981\u4ee4\u6551\u6d4e\u548c\u5176\u4ed6\u8861\u5e73\u6cd5\u6551\u6d4e\uff0c\u800c\u4e0d\u653e\u5f03\u5176\u53ef\u83b7\u5f97\u7684\u4efb\u4f55\u5176\u4ed6\u6743\u5229\u6216\u6551\u6d4e\u3002\u7528\u6237\u8d1f\u8d23\u7ef4\u62a4\u89e3\u51b3\u65b9\u6848\u7684\u5b89\u5168\u4ee5\u53ca\u4efb\u4f55\u63d0\u4f9b\u5bf9\u89e3\u51b3\u65b9\u6848\u8bbf\u95ee\u6743\u7684\u5bc6\u7801\u3001\u52a9\u8bb0\u8bcd\u6216\u4ee3\u7801\u4f5c\u4e3aDZF\u4fdd\u5bc6\u4fe1\u606f\u7684\u4fdd\u5bc6\u6027\u3002\u6b64\u5904\u4efb\u4f55\u5185\u5bb9\u5747\u4e0d\u9650\u5236\u6216\u9650\u5236DZF\u4f7f\u7528\u6709\u5173\u89e3\u51b3\u65b9\u6848\u6027\u80fd\u3001\u53ef\u7528\u6027\u3001\u4f7f\u7528\u60c5\u51b5\u3001\u5b8c\u6574\u6027\u548c\u5b89\u5168\u6027\u6570\u636e\u7684\u6743\u5229\u6216\u80fd\u529b\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u8fdd\u53cd\u6216\u5a01\u80c1\u8fdd\u53cd\u7b2c5\u6761\u7684\u89c4\u5b9a\uff0c\u5404\u65b9\u540c\u610f\u975e\u8fdd\u7ea6\u65b9\u5c06\u6ca1\u6709\u5145\u5206\u7684\u6cd5\u5f8b\u6551\u6d4e\uff0c\u56e0\u6b64\u6709\u6743\u83b7\u5f97\u5373\u65f6\u7981\u4ee4\u548c\u5176\u4ed6\u8861\u5e73\u6cd5\u6551\u6d4e\uff0c\u65e0\u9700\u4fdd\u8bc1\u91d1\uff0c\u4e5f\u65e0\u9700\u8bc1\u660e\u5b9e\u9645\u91d1\u94b1\u635f\u5bb3\u3002

6. \u4fdd\u8bc1\u514d\u8d23\u58f0\u660e\uff1b\u8d23\u4efb\u9650\u5236\u3002

6.1 \u4fdd\u8bc1\u514d\u8d23\u58f0\u660e\u3002\u89e3\u51b3\u65b9\u6848\u6309\"\u539f\u6837\"\u63d0\u4f9b\uff0c\u4e0d\u9644\u4efb\u4f55\u5f62\u5f0f\u7684\u4fdd\u8bc1\u3002DZF\u4e0d\u505a\u4efb\u4f55\u660e\u793a\u3001\u9ed8\u793a\u3001\u6cd5\u5b9a\u6216\u5176\u4ed6\u5f62\u5f0f\u7684\u4fdd\u8bc1\uff0c\u5305\u62ec\u89e3\u51b3\u65b9\u6848\u548c\u6587\u6863\u7684\u72b6\u51b5\u3001\u7b26\u5408\u4efb\u4f55\u9648\u8ff0\u6216\u63cf\u8ff0\uff0cDZF\u7279\u522b\u58f0\u660e\u4e0d\u627f\u62c5\u6240\u6709\u5173\u4e8e\u9002\u9500\u6027\u3001\u7279\u5b9a\u7528\u9014\u9002\u7528\u6027\u3001\u6240\u6709\u6743\u548c\u4e0d\u4fb5\u6743\u7684\u9ed8\u793a\u4fdd\u8bc1\u3002

6.2 \u8d23\u4efb\u9650\u5236\u3002 \u9664\u7b2c2.1\u30012.2\u548c5\u6761\u7684\u8fdd\u53cd\u5916\uff0c\u5728\u4efb\u4f55\u60c5\u51b5\u4e0b\uff0c\u4efb\u4f55\u4e00\u65b9\u5747\u4e0d\u5bf9\u53e6\u4e00\u65b9\u56e0\u672c\u534f\u8bae\u5f15\u8d77\u7684\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u95f4\u63a5\u3001\u9644\u5e26\u3001\u7279\u6b8a\u6216\u5176\u4ed6\u95f4\u63a5\u635f\u5bb3\u8d1f\u8d23\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5229\u6da6\u635f\u5931\u6216\u4f7f\u7528\u635f\u5931\u6216\u6570\u636e\u635f\u5931\uff0c\u65e0\u8bba\u662f\u5408\u540c\u8bc9\u8bbc\u3001\u4fb5\u6743\u884c\u4e3a\u8fd8\u662f\u5176\u4ed6\u60c5\u51b5\uff0c\u5373\u4f7f\u53e6\u4e00\u65b9\u5df2\u88ab\u544a\u77e5\u53ef\u80fd\u53d1\u751f\u6b64\u7c7b\u635f\u5bb3\u3002\u5728\u4efb\u4f55\u60c5\u51b5\u4e0b\uff0cDZF\u56e0\u672c\u534f\u8bae\u5f15\u8d77\u7684\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u603b\u8d23\u4efb\u4e0d\u5f97\u8d85\u8fc7\u4e00\u767e\u7f8e\u5143\uff08$100\uff09\uff0c\u65e0\u8bba\u662f\u5408\u540c\u884c\u4e3a\u3001\u4fb5\u6743\u884c\u4e3a\u8fd8\u662f\u5176\u4ed6\u60c5\u51b5\u3002\u4e0a\u8ff0\u9650\u5236\u5c06\u4e0d\u987e\u672c\u534f\u8bae\u4e2d\u4efb\u4f55\u6709\u9650\u6551\u6d4e\u7684\u57fa\u672c\u76ee\u7684\u5931\u8d25\u800c\u9002\u7528\u3002\u53cc\u65b9\u540c\u610f\uff0c\u4e0a\u8ff0\u9650\u5236\u4ee3\u8868\u672c\u534f\u8bae\u4e0b\u5408\u7406\u7684\u98ce\u9669\u5206\u914d\u3002

7. \u9002\u7528\u6cd5\u5f8b\u3002 \u672c\u534f\u8bae\u53ca\u56e0\u672c\u534f\u8bae\u5f15\u8d77\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u6240\u6709\u4e8b\u9879\u5e94\u53d7\u5f00\u66fc\u7fa4\u5c9b\u6cd5\u5f8b\u7684\u7ba1\u8f96\u3001\u89e3\u91ca\u548c\u6784\u5efa\u3002\u5982\u679c\u56e0\u672c\u534f\u8bae\u4ea7\u751f\u6216\u4e0e\u672c\u534f\u8bae\u6709\u5173\u7684\u4e89\u8bae\u3001\u7ea0\u7eb7\u6216\u7d22\u8d54\uff08\"\u4e89\u8bae\"\uff09\uff0c\u76f8\u5173\u65b9\u5e94\u89c6\u60c5\u51b5\u5411\u5176\u4ed6\u5404\u65b9\u53d1\u51fa30\u5929\u7684\u4e89\u8bae\u901a\u77e5\uff08\"\u4e89\u8bae\u901a\u77e5\"\uff09\u3002\u5982\u679c\u4e89\u8bae\u5728\u4e89\u8bae\u901a\u77e5\u9001\u8fbe\u540e30\u5929\u5c4a\u6ee1\u65f6\u4ecd\u672a\u89e3\u51b3\uff0c\u76f8\u5173\u65b9\u53ef\u6309\u7167\u672c\u534f\u8bae\u7684\u89c4\u5b9a\u542f\u52a8\u4ef2\u88c1\u7a0b\u5e8f\u3002\u5982\u679c\u4e89\u8bae\u5728\u4e89\u8bae\u901a\u77e5\u9001\u8fbe\u540e30\u5929\u5c4a\u6ee1\u65f6\u4ecd\u672a\u89e3\u51b3\uff0c\u4e89\u8bae\u5e94\u901a\u8fc7\u5f00\u66fc\u56fd\u9645\u8c03\u89e3\u4e0e\u4ef2\u88c1\u4e2d\u5fc3\uff08CI-MAC\uff09\u6309\u7167\u672c\u534f\u8bae\u7b7e\u7f72\u4e4b\u65e5\u6709\u6548\u7684CI-MAC\u4ef2\u88c1\u89c4\u5219\uff08\"\u4ef2\u88c1\u89c4\u5219\"\uff09\u8fdb\u884c\u4ef2\u88c1\u89e3\u51b3\uff0c\u8be5\u4ef2\u88c1\u89c4\u5219\u89c6\u4e3a\u901a\u8fc7\u5f15\u7528\u5e76\u5165\u672c\u6761\u6b3e\uff0c\u5e76\u53d7\u300a\u4ef2\u88c1\u6cd5\u300b\uff08\u7ecf\u4fee\u8ba2\uff09\u7ba1\u8f96\u3002\u4ef2\u88c1\u5730\u70b9\u5e94\u5728\u5f00\u66fc\u7fa4\u5c9b\u5927\u5f00\u66fc\u7684\u4e54\u6cbb\u6566\uff0c\u5e76\u53d7\u5f00\u66fc\u7fa4\u5c9b\u6cd5\u5f8b\u7ba1\u8f96\u3002\u4ef2\u88c1\u8bed\u8a00\u5e94\u4e3a\u82f1\u8bed\u3002\u4ef2\u88c1\u5e94\u7531\u6839\u636e\u4ef2\u88c1\u89c4\u5219\u6307\u5b9a\u7684\u72ec\u4efb\u4ef2\u88c1\u5458\u88c1\u5b9a\u3002\u4ef2\u88c1\u5458\u505a\u51fa\u7684\u4efb\u4f55\u88c1\u51b3\u6216\u51b3\u5b9a\u5e94\u4ee5\u4e66\u9762\u5f62\u5f0f\u4f5c\u51fa\uff0c\u5e76\u5bf9\u5404\u65b9\u6700\u7ec8\u5177\u6709\u7ea6\u675f\u529b\uff0c\u4e0d\u5f97\u4e0a\u8bc9\uff0c\u5bf9\u4efb\u4f55\u6b64\u7c7b\u88c1\u51b3\u7684\u5224\u51b3\u53ef\u5728\u4efb\u4f55\u6709\u7ba1\u8f96\u6743\u7684\u6cd5\u9662\u6267\u884c\u3002\u4e0d\u5f97\u5728\u4efb\u4f55\u53f8\u6cd5\u7ba1\u8f96\u533a\u7684\u4efb\u4f55\u6cd5\u9662\u63d0\u51fa\u57fa\u4e8e\u672c\u534f\u8bae\u5f15\u8d77\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u4efb\u4f55\u7d22\u8d54\u7684\u6cd5\u5f8b\u8bc9\u8bbc\u6216\u8861\u5e73\u6cd5\u8bc9\u8bbc\u3002\u5982\u679c\u9700\u8981\u8bc9\u8bf8\u6cd5\u5f8b\u6216\u4ef2\u88c1\u6765\u6267\u884c\u672c\u534f\u8bae\u7684\u6761\u6b3e\uff0c\u80dc\u8bc9\u65b9\u5c06\u6709\u6743\u7531\u53e6\u4e00\u65b9\u652f\u4ed8\u5176\u5f8b\u5e08\u8d39\u3002\u5404\u65b9\u653e\u5f03\u5176\u53ef\u80fd\u62e5\u6709\u7684\u4e3b\u5f20\u4e0d\u65b9\u4fbf\u6cd5\u9662\u539f\u5219\u7684\u4efb\u4f55\u6743\u5229\u3001\u4e3b\u5f20\u5176\u4e0d\u53d7\u6b64\u7c7b\u4ef2\u88c1\u6216\u6cd5\u9662\u7ba1\u8f96\u7684\u4efb\u4f55\u6743\u5229\uff0c\u6216\u5728\u6309\u7167\u672c\u534f\u8bae\u63d0\u8d77\u8bc9\u8bbc\u7684\u8303\u56f4\u5185\u5bf9\u5730\u70b9\u63d0\u51fa\u5f02\u8bae\u7684\u6743\u5229\u3002

8. \u4e00\u822c\u6761\u6b3e\u3002 \u672a\u7ecfDZF\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u7528\u6237\u4e0d\u5f97\u8f6c\u8ba9\u6216\u8f6c\u79fb\u672c\u534f\u8bae\u3002DZF\u53ef\u81ea\u7531\u8f6c\u8ba9\u672c\u534f\u8bae\u3002\u672c\u534f\u8bae\u89c4\u5b9a\u7684\u6240\u6709\u901a\u77e5\u5e94\u901a\u8fc7\u7535\u5b50\u90ae\u4ef6\u53d1\u9001\uff08\u53d1\u9001\u7ed9DZF\uff1alegal@doublezero.xyz\uff09\uff0c\u5e76\u89c6\u4e3a\u53d1\u9001\u540e\u6b21\u65e5\u6536\u5230\uff08\u5df2\u786e\u8ba4\u4f20\u8f93\uff09\u3002\u5982\u679c\u672c\u534f\u8bae\u7684\u4efb\u4f55\u6761\u6b3e\u88ab\u8ba4\u5b9a\u4e3a\u65e0\u6548\u6216\u4e0d\u53ef\u6267\u884c\uff0c\u672c\u534f\u8bae\u7684\u5176\u4f59\u6761\u6b3e\u5c06\u7ee7\u7eed\u5b8c\u5168\u6709\u6548\u3002\u4efb\u4f55\u4e00\u65b9\u5bf9\u672c\u534f\u8bae\u7684\u4efb\u4f55\u8fdd\u7ea6\u6216\u8fdd\u53cd\u7684\u653e\u5f03\u4e0d\u6784\u6210\u5bf9\u4efb\u4f55\u5176\u4ed6\u6216\u540e\u7eed\u8fdd\u7ea6\u6216\u8fdd\u53cd\u7684\u653e\u5f03\u3002\u4efb\u4f55\u4e00\u65b9\u5747\u4e0d\u5bf9\u56e0\u4e0d\u53ef\u6297\u529b\u4e8b\u4ef6\u3001\u5730\u9707\u3001\u7269\u8d44\u77ed\u7f3a\u3001\u8fd0\u8f93\u56f0\u96be\u3001\u52b3\u8d44\u7ea0\u7eb7\u3001\u9a9a\u4e71\u3001\u6218\u4e89\u3001\u706b\u707e\u3001\u6d41\u884c\u75c5\u4ee5\u53ca\u5176\u63a7\u5236\u8303\u56f4\u4e4b\u5916\u7684\u7c7b\u4f3c\u60c5\u51b5\uff08\u65e0\u8bba\u662f\u5426\u53ef\u9884\u89c1\uff09\u5bfc\u81f4\u7684\u4efb\u4f55\u5ef6\u8fdf\u6216\u5c65\u884c\u5931\u8d25\u8d1f\u8d23\u3002\u672c\u534f\u8bae\u8fde\u540c\u4efb\u4f55\u9644\u4ef6\u6784\u6210\u53cc\u65b9\u4e4b\u95f4\u5173\u4e8e\u672c\u534f\u8bae\u4e3b\u9898\u7684\u5b8c\u6574\u534f\u8bae\uff0c\u5e76\u53d6\u4ee3\u6240\u6709\u4e4b\u524d\u6216\u540c\u671f\u7684\u534f\u8bae\u6216\u9648\u8ff0\uff0c\u65e0\u8bba\u662f\u4e66\u9762\u7684\u8fd8\u662f\u53e3\u5934\u7684\u3002\u672c\u534f\u8bae\u4e0d\u5f97\u4ee5\u4e66\u9762\u5f62\u5f0f\u4fee\u6539\u6216\u4fee\u8ba2\uff0c\u9664\u975e\u7ecf\u5404\u65b9\u6388\u6743\u4ee3\u8868\u7b7e\u7f72\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#ibrl_1","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u6d4b\u8bd5\u7f51","text":"

Note

IBRL\u6a21\u5f0f\u4e0d\u9700\u8981\u91cd\u542f\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\uff0c\u56e0\u4e3a\u5b83\u4f7f\u7528\u60a8\u73b0\u6709\u7684\u516c\u5171IP\u5730\u5740\u3002

Solana\u6d4b\u8bd5\u7f51\u9a8c\u8bc1\u5668\u5c06\u5b8c\u6210\u5230DoubleZero\u6d4b\u8bd5\u7f51\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

\u6bcf\u4e2aSolana\u9a8c\u8bc1\u5668\u90fd\u6709\u5176\u81ea\u5df1\u7684\u8eab\u4efd\u5bc6\u94a5\u5bf9\uff1b\u4ece\u4e2d\u63d0\u53d6\u79f0\u4e3a\u8282\u70b9ID\u7684\u516c\u94a5\u3002\u8fd9\u662f\u9a8c\u8bc1\u5668\u5728Solana\u7f51\u7edc\u4e0a\u7684\u552f\u4e00\u6307\u7eb9\u3002

\u786e\u8ba4DoubleZero ID\u548c\u8282\u70b9ID\u540e\uff0c\u60a8\u5c06\u8bc1\u660e\u60a8\u5bf9\u673a\u5668\u7684\u6240\u6709\u6743\u3002\u8fd9\u901a\u8fc7\u521b\u5efa\u5305\u542b\u4f7f\u7528\u9a8c\u8bc1\u5668\u8eab\u4efd\u5bc6\u94a5\u7b7e\u540d\u7684DoubleZero ID\u7684\u6d88\u606f\u6765\u5b8c\u6210\u3002\u7531\u6b64\u4ea7\u751f\u7684\u52a0\u5bc6\u7b7e\u540d\u4f5c\u4e3a\u60a8\u63a7\u5236\u8be5\u9a8c\u8bc1\u5668\u7684\u53ef\u9a8c\u8bc1\u8bc1\u660e\u3002

\u6700\u540e\uff0c\u60a8\u5c06\u5411DoubleZero\u63d0\u4ea4\u8fde\u63a5\u8bf7\u6c42\u3002\u6b64\u8bf7\u6c42\u4f20\u8fbe\uff1a\"\u8fd9\u662f\u6211\u7684\u8eab\u4efd\uff0c\u8fd9\u662f\u6240\u6709\u6743\u8bc1\u660e\uff0c\u8fd9\u662f\u6211\u6253\u7b97\u5982\u4f55\u8fde\u63a5\u3002\" DoubleZero\u9a8c\u8bc1\u6b64\u4fe1\u606f\uff0c\u63a5\u53d7\u8bc1\u660e\uff0c\u5e76\u4e3aDoubleZero\u4e0a\u7684\u9a8c\u8bc1\u5668\u914d\u7f6e\u7f51\u7edc\u8bbf\u95ee\u3002

\u672c\u6307\u5357\u5141\u8bb81\u4e2a\u4e3b\u9a8c\u8bc1\u5668\u6ce8\u518c\u81ea\u8eab\uff0c\u4ee5\u53ca\u540c\u65f6\u6ce8\u518c\u6700\u591a3\u53f0\u5907\u4efd/\u6545\u969c\u8f6c\u79fb\u673a\u5668\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u9a8c\u8bc1\u5668ID\u5c06\u4e0eSolana gossip\u8fdb\u884c\u6838\u5bf9\u4ee5\u786e\u5b9a\u76ee\u6807IP\u3002\u7136\u540e\u5c06\u4f7f\u7528\u76ee\u6807IP\u548cDoubleZero ID\u5728\u60a8\u7684\u673a\u5668\u548c\u76ee\u6807DoubleZero\u8bbe\u5907\u4e4b\u95f4\u5efa\u7acbGRE\u96a7\u9053\u3002

\u6ce8\u610f\uff1a\u5982\u679c\u60a8\u5728\u540c\u4e00IP\u4e0a\u540c\u65f6\u6709\u5783\u573eID\u548c\u4e3bID\uff0c\u53ea\u6709\u4e3bID\u5c06\u7528\u4e8e\u673a\u5668\u6ce8\u518c\u3002\u8fd9\u662f\u56e0\u4e3a\u5783\u573eID\u4e0d\u4f1a\u51fa\u73b0\u5728gossip\u4e2d\uff0c\u56e0\u6b64\u65e0\u6cd5\u7528\u4e8e\u9a8c\u8bc1\u76ee\u6807\u673a\u5668\u7684IP\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u6d4b\u8bd5\u7f51\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a
\u2705 doublezerod configured for environment testnet\n

\u5927\u7ea630\u79d2\u540e\uff0c\u60a8\u5c06\u770b\u5230\u53ef\u7528\u7684DoubleZero\u8bbe\u5907\uff1a

doublezero latency\n
\u793a\u4f8b\u8f93\u51fa\uff08\u6d4b\u8bd5\u7f51\uff09
doublezero latency\n pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.44ms   | 2.63ms   | 2.50ms   | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 71.97ms  | 72.01ms  | 71.99ms  | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.08ms  | 72.00ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.55ms  | 76.65ms  | 76.61ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.01ms  | 83.10ms  | 83.05ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.87ms  | 84.91ms  | 84.89ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 95.27ms  | 95.30ms  | 95.29ms  | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 180.96ms | 181.08ms | 181.02ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 220.87ms | 221.14ms | 220.97ms | true\n

\u4e3b\u7f51\u8f93\u51fa\u7ed3\u6784\u76f8\u540c\uff0c\u4f46\u53ef\u7528\u8bbe\u5907\u66f4\u591a\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#2-44880","title":"2. \u5f00\u653e44880\u7aef\u53e3","text":"

\u7528\u6237\u9700\u8981\u5f00\u653e44880\u7aef\u53e3\u4ee5\u4f7f\u7528\u67d0\u4e9b\u8def\u7531\u529f\u80fd\u3002

\u8981\u5f00\u653e44880\u7aef\u53e3\uff0c\u60a8\u53ef\u4ee5\u66f4\u65b0IP\u8868\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610f-i doublezero0\u3001-o doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

\u6216UFW\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610fin on doublezero0\u3001out on doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#3","title":"3. \u8bc1\u660e\u9a8c\u8bc1\u5668\u6240\u6709\u6743","text":"

\u8bbe\u7f6e\u597dDoubleZero\u73af\u5883\u540e\uff0c\u73b0\u5728\u662f\u8bc1\u660e\u60a8\u7684\u9a8c\u8bc1\u5668\u6240\u6709\u6743\u7684\u65f6\u5019\u4e86\u3002

\u60a8\u5728\u4e3b\u9a8c\u8bc1\u5668\u8bbe\u7f6e\u4e2d\u521b\u5efa\u7684DoubleZero ID\u5fc5\u987b\u7528\u4e8e\u6240\u6709\u5907\u4efd\u673a\u5668\u3002

\u60a8\u4e3b\u673a\u5668\u4e0a\u7684ID\u53ef\u4ee5\u901a\u8fc7doublezero address\u627e\u5230\u3002\u76f8\u540c\u7684ID\u5fc5\u987b\u5728\u96c6\u7fa4\u4e2d\u6240\u6709\u673a\u5668\u7684~/.config/doublezero/id.json\u4e2d\u3002

\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e00\u70b9\uff0c\u60a8\u9996\u5148\u9700\u8981\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u662f\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668\uff1a

doublezero-solana passport find-validator -ut\n

\u8fd9\u9a8c\u8bc1\u4e86\u9a8c\u8bc1\u5668\u5df2\u5728gossip\u4e2d\u6ce8\u518c\u5e76\u51fa\u73b0\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u65e0\u8bba\u662f\u4e00\u53f0\u8fd8\u662f\u591a\u53f0\u673a\u5668\uff0c\u5de5\u4f5c\u6d41\u7a0b\u76f8\u540c\u3002 \u8981\u6ce8\u518c\u4e00\u53f0\u673a\u5668\uff0c\u8bf7\u4ece\u672c\u9875\u4e0a\u7684\u4efb\u4f55\u547d\u4ee4\u4e2d\u6392\u9664\u53c2\u6570\"--backup-validator-ids\"\u6216\"backup_ids=\"\u3002

\u73b0\u5728\uff0c\u5728\u60a8\u6253\u7b97\u8fd0\u884c\u4e3b\u9a8c\u8bc1\u5668\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana passport find-validator -ut\n

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u6b64\u8f93\u51fa\u662f\u9884\u671f\u7684\u3002\u5907\u4efd\u8282\u70b9\u5728\u901a\u884c\u8bc1\u521b\u5efa\u65f6\u4e0d\u80fd\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u73b0\u5728\u60a8\u5c06\u5728\u60a8\u8ba1\u5212\u4f7f\u7528\u4e3b\u9a8c\u8bc1\u5668\u6295\u7968\u8d26\u6237\u548c\u8eab\u4efd\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#_2","title":"\u51c6\u5907\u8fde\u63a5","text":"

\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002\u8fd9\u662f\u60a8\u62e5\u6709\u6d3b\u8dc3\u8d28\u62bc\u7684\u673a\u5668\uff0c\u8be5\u673a\u5668\u5728\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u4e0aSolana gossip\u4e2d\u4ee5\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668ID\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\uff1a

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

\u793a\u4f8b\u8f93\u51fa\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u6ce8\u610f\u6b64\u547d\u4ee4\u672b\u5c3e\u7684\u8f93\u51fa\u3002\u8fd9\u662f\u4e0b\u4e00\u6b65\u7684\u7ed3\u6784\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#4","title":"4. \u751f\u6210\u7b7e\u540d","text":"

\u5728\u4e0a\u4e00\u6b65\u7ed3\u675f\u65f6\uff0c\u6211\u4eec\u6536\u5230\u4e86solana sign-offchain-message\u7684\u9884\u683c\u5f0f\u5316\u8f93\u51fa\u3002

\u4ece\u4e0a\u8ff0\u8f93\u51fa\u4e2d\uff0c\u6211\u4eec\u5c06\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

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

\u8f93\u51fa\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"zh/DZ%20Testnet%20Connection/#5-doublezero","title":"5. \u5728DoubleZero\u4e2d\u53d1\u8d77\u8fde\u63a5\u8bf7\u6c42","text":"

\u4f7f\u7528request-validator-access\u547d\u4ee4\u5728Solana\u4e0a\u4e3a\u8fde\u63a5\u8bf7\u6c42\u521b\u5efa\u8d26\u6237\u3002DoubleZero Sentinel\u4ee3\u7406\u68c0\u6d4b\u65b0\u8d26\u6237\uff0c\u9a8c\u8bc1\u5176\u8eab\u4efd\u548c\u7b7e\u540d\uff0c\u5e76\u5728DoubleZero\u4e2d\u521b\u5efa\u8bbf\u95ee\u901a\u884c\u8bc1\uff0c\u4f7f\u670d\u52a1\u5668\u80fd\u591f\u5efa\u7acb\u8fde\u63a5\u3002

\u4f7f\u7528\u8282\u70b9ID\u3001DoubleZero ID\u548c\u7b7e\u540d\u3002

Note

\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u4f7f\u7528-k /home/user/.config/solana/id.json\u6765\u67e5\u627e\u9a8c\u8bc1\u5668\u8eab\u4efd\u3002\u8bf7\u4f7f\u7528\u9002\u5408\u60a8\u672c\u5730\u90e8\u7f72\u7684\u4f4d\u7f6e\u3002

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

\u8f93\u51fa\uff1a

\u6b64\u8f93\u51fa\u53ef\u7528\u4e8e\u5728Solana\u6d4f\u89c8\u5668\u4e2d\u67e5\u770b\u4ea4\u6613\u3002\u786e\u4fdd\u5c06\u6d4f\u89c8\u5668\u5207\u6362\u5230\u6d4b\u8bd5\u7f51\u3002\u6b64\u9a8c\u8bc1\u662f\u53ef\u9009\u7684\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u5982\u679c\u6210\u529f\uff0cDoubleZero\u5c06\u6ce8\u518c\u4e3b\u9a8c\u8bc1\u5668\u53ca\u5176\u5907\u4efd\u3002\u60a8\u73b0\u5728\u53ef\u4ee5\u5728\u8bbf\u95ee\u901a\u884c\u8bc1\u4e2d\u6ce8\u518c\u7684IP\u4e4b\u95f4\u8fdb\u884c\u6545\u969c\u8f6c\u79fb\u3002\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u6ce8\u518c\u5907\u4efd\u8282\u70b9\u65f6\uff0cDoubleZero\u5c06\u81ea\u52a8\u7ef4\u62a4\u8fde\u63a5\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#6-ibrl","title":"6. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u3002\u5728GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Note

\u68c0\u67e5\u6b64\u8f93\u51fa\u3002\u6ce8\u610fTunnel src\u548cDoubleZero IP\u4e0e\u60a8\u673a\u5668\u4e0a\u7684\u516c\u5171IPv4\u5730\u5740\u5339\u914d\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/DZ%20Testnet%20Connection/#_3","title":"\u4e0b\u4e00\u6b65\uff1a\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247","text":"

\u5982\u679c\u60a8\u5df2\u5b8c\u6210\u6b64\u8bbe\u7f6e\u5e76\u8ba1\u5212\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247\uff0c\u8bf7\u7ee7\u7eed\u8bbf\u95ee\u4e0b\u4e00\u9875\u3002

"},{"location":"zh/New%20Tenant/","title":"\u65b0\u79df\u6237","text":"

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.

\u5982\u679c\u60a8\u5e0c\u671b\u60a8\u7684\u5206\u5e03\u5f0f\u7cfb\u7edf\u5229\u7528DoubleZero\u7f51\u7edc\uff0c\u6211\u4eec\u5f88\u4e50\u610f\u534f\u52a9\u89e3\u7b54\u60a8\u53ef\u80fd\u9047\u5230\u7684\u4efb\u4f55\u6280\u672f\u95ee\u9898\u3002

\u8054\u7cfb\u6211\u4eec\u8868\u5355

"},{"location":"zh/Other%20Multicast%20Connection/","title":"\u5176\u4ed6\u591a\u64ad\u8fde\u63a5","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

\u7528\u4f8b \u7b2c\u4e00\u6b65 \u6279\u51c6\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u8fde\u63a5\uff1a \u8ba2\u9605Jito Shredstream \u8054\u7cfbJito\u83b7\u53d6\u6279\u51c6\u3002 doublezero connect multicast --subscribe jito-shredstream

\u8be6\u7ec6\u8fde\u63a5\u4fe1\u606f\uff1a

"},{"location":"zh/Other%20Multicast%20Connection/#1-doublezero","title":"1. DoubleZero\u5ba2\u6237\u7aef\u5b89\u88c5","text":"

\u8bf7\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u5b89\u88c5\u548c\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aef\u3002

"},{"location":"zh/Other%20Multicast%20Connection/#2","title":"2. \u8fde\u63a5\u8bf4\u660e","text":"

\u4ee5\u591a\u64ad\u6a21\u5f0f\u8fde\u63a5\u5230DoubleZero \u4f5c\u4e3a\u53d1\u5e03\u8005\uff1a

doublezero connect multicast --publish <feed name>

\u6216\u4f5c\u4e3a\u8ba2\u9605\u8005\uff1a

doublezero connect multicast --subscribe <feed name>

\u6216\u540c\u65f6\u53d1\u5e03\u548c\u8ba2\u9605\uff1a

doublezero connect multicast --publish <feed name> --subscribe <feed name>

\u8981\u53d1\u5e03\u6216\u8ba2\u9605\u591a\u4e2a\u6570\u636e\u6d41\uff0c\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4ee5\u7a7a\u683c\u5206\u9694\u7684\u6570\u636e\u6d41\u540d\u79f0\u3002 \u4e5f\u53ef\u4ee5\u7528\u4e8e\u53d1\u5e03\u5e76\u8ba2\u9605\u5df2\u53d1\u5e03\u7684\u6570\u636e\u6d41\u3002 \u4f8b\u5982 doublezero connect multicast --subscribe feed1 feed2 feed3

\u60a8\u5e94\u8be5\u770b\u5230\u7c7b\u4f3c\u4ee5\u4e0b\u7684\u8f93\u51fa\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"zh/Other%20Multicast%20Connection/#3","title":"3. \u9a8c\u8bc1\u60a8\u7684\u6d3b\u52a8\u591a\u64ad\u8fde\u63a5","text":"

\u7b49\u5f8560\u79d2\uff0c\u7136\u540e\u8fd0\u884c

doublezero status\n
\u9884\u671f\u7ed3\u679c\uff1a - BGP\u4f1a\u8bdd\u5728\u6b63\u786e\u7684DoubleZero\u7f51\u7edc\u4e0a\u5efa\u7acb - \u5982\u679c\u60a8\u662f\u53d1\u5e03\u8005\uff0c\u60a8\u7684DoubleZero IP\u5c06\u4e0e\u60a8\u7684\u96a7\u9053\u6e90IP\u4e0d\u540c\u3002\u8fd9\u662f\u6b63\u5e38\u73b0\u8c61\u3002 - \u5982\u679c\u60a8\u53ea\u662f\u8ba2\u9605\u8005\uff0c\u60a8\u7684DoubleZero IP\u5c06\u4e0e\u60a8\u7684\u96a7\u9053\u6e90IP\u76f8\u540c\u3002

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

\u9a8c\u8bc1\u60a8\u5df2\u8fde\u63a5\u7684\u7ec4\uff1a

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"zh/Permissioned%20Connection/","title":"\u975e\u9a8c\u8bc1\u5668\u4ee5IBRL\u6a21\u5f0f\u7684Permissioned\u8fde\u63a5\u5230DoubleZero","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/Permissioned%20Connection/#permissioned","title":"Permissioned\u7528\u6237\u5165\u804c\u6982\u8ff0","text":"

\u76ee\u524d\u975e\u9a8c\u8bc1\u5668\u548cRPC\u7684\u7528\u6237\u5165\u804c\u9700\u8981\u8bb8\u53ef\u3002\u8981\u5f00\u59cbpermissioned\u6d41\u7a0b\uff0c\u8bf7\u586b\u5199\u6b64\u8868\u5355\u3002\u4ee5\u4e0b\u662f\u6b64\u8fc7\u7a0b\u4e2d\u7684\u9884\u671f\u5185\u5bb9\uff1a

"},{"location":"zh/Permissioned%20Connection/#ibrlbeta","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u4e3b\u7f51Beta\u548c\u6d4b\u8bd5\u7f51","text":"

Note

IBRL\u6a21\u5f0f\u4e0d\u9700\u8981\u91cd\u542f\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\uff0c\u56e0\u4e3a\u5b83\u4f7f\u7528\u60a8\u73b0\u6709\u7684\u516c\u5171IP\u5730\u5740\u3002

Permissioned\u7528\u6237\u5c06\u5b8c\u6210\u5230DoubleZero\u4e3b\u7f51Beta\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

"},{"location":"zh/Permissioned%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u6d4b\u8bd5\u7f51\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u4e3b\u7f51Beta\uff1a
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a

\u2705 doublezerod configured for environment mainnet-beta\n
\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a \u2705 doublezerod configured for environment testnet

\u5927\u7ea630\u79d2\u540e\uff0c\u60a8\u5c06\u770b\u5230\u53ef\u7528\u7684DoubleZero\u8bbe\u5907\uff1a

doublezero latency\n
\u793a\u4f8b\u8f93\u51fa\uff08\u6d4b\u8bd5\u7f51\uff09
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u6d4b\u8bd5\u7f51\u8f93\u51fa\u7ed3\u6784\u76f8\u540c\uff0c\u4f46\u53ef\u7528\u8bbe\u5907\u66f4\u591a\u3002

"},{"location":"zh/Permissioned%20Connection/#2-doublezero","title":"2. \u8054\u7cfbDoubleZero\u57fa\u91d1\u4f1a","text":"

DoubleZero\u57fa\u91d1\u4f1a\u3002\u60a8\u9700\u8981\u63d0\u4f9b\u60a8\u7684DoubleZero ID\u3001\u60a8\u7684\u9a8c\u8bc1\u5668ID\uff08\u8282\u70b9ID\uff09\u4ee5\u53ca\u60a8\u5c06\u4ece\u4e2d\u8fde\u63a5\u7684\u516c\u5171IPv4\u5730\u5740\u3002

"},{"location":"zh/Permissioned%20Connection/#3-ibrl","title":"3. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9\u96a7\u9053\u5b8c\u6210\u3002\u5728\u96a7\u9053\u5b8c\u6210\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
\u8f93\u51fa\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/Permissioned%20Connection/#_1","title":"\u4e0b\u4e00\u6b65\uff1a\u591a\u64ad","text":"

\u5982\u679c\u60a8\u5df2\u5b8c\u6210\u6b64\u8bbe\u7f6e\u5e76\u8ba1\u5212\u4f7f\u7528\u591a\u64ad\uff0c\u8bf7\u7ee7\u7eed\u8bbf\u95ee\u4e0b\u4e00\u9875\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/","title":"Shelby\u6d4b\u8bd5\u7f51\u7528\u6237\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230DoubleZero","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/Shelby%20Permissioned%20Connection/#doublezero-id","title":"\u83b7\u53d6\u60a8\u7684DoubleZero ID","text":"

\u60a8\u9700\u8981\u5728\u6b64\u8868\u5355\u4e2d\u63d0\u4f9b\u60a8\u7684DoubleZero ID\u548c\u516c\u5171IPv4\u5730\u5740\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/#ibrl","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u6d4b\u8bd5\u7f51","text":"

Shelby permissioned\u7528\u6237\u5c06\u5b8c\u6210\u5230DoubleZero\u6d4b\u8bd5\u7f51\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u8fde\u63a5\u5230DoubleZero\u4e0a\u7684Shelby\u79df\u6237\uff1a

doublezero config set --tenant shelby\n

\u5e94\u7528Shelby\u7279\u5b9a\u7684\u989d\u5916\u9632\u706b\u5899\u89c4\u5219\uff1a

iptables\uff1a

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW\uff1a

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"zh/Shelby%20Permissioned%20Connection/#2-doublezero","title":"2. \u8054\u7cfbDoubleZero\u57fa\u91d1\u4f1a","text":"

DoubleZero\u57fa\u91d1\u4f1a\u3002\u60a8\u9700\u8981\u63d0\u4f9b\u60a8\u7684DoubleZero ID\u548c\u60a8\u5c06\u4ece\u4e2d\u8fde\u63a5\u7684\u516c\u5171IPv4\u5730\u5740\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/#3-ibrl","title":"3. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9\u96a7\u9053\u5b8c\u6210\u3002\u5728\u96a7\u9053\u5b8c\u6210\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
\u8f93\u51fa\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

\u5728\u8bbf\u95ee\u6216\u4f7f\u7528\u4ee3\u7801\u6216\u76f8\u5173\u6750\u6599\u4e4b\u524d\uff0c\u8bf7\u67e5\u770b\u514d\u8d23\u58f0\u660e\u3002

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.

\u514d\u8d23\u58f0\u660e

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u4ec5\u4f9b\u4fe1\u606f\u548c\u6280\u672f\u76ee\u7684\u63d0\u4f9b\u3002\u672c\u6587\u4e2d\u63cf\u8ff0\u7684\u4ee3\u5e01\u8f6c\u6362\u529f\u80fd\u662f\u975e\u6258\u7ba1\u578b\u7684\u3002\u7528\u6237\u76f4\u63a5\u4e0e\u5e95\u5c42\u667a\u80fd\u5408\u7ea6\u4ea4\u4e92\uff0c\u59cb\u7ec8\u5b8c\u5168\u63a7\u5236\u81ea\u5df1\u7684\u8d44\u4ea7\u3002

\u8be5\u7cfb\u7edf\u53ef\u80fd\u4f9d\u8d56\u4e8e\u6216\u4e0e\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u672a\u5f00\u53d1\u3001\u7ba1\u7406\u6216\u5ba1\u67e5\u7684\u7b2c\u4e09\u65b9\u4ee3\u7801\u3001\u6570\u636e\u6e90\u6216\u4ef7\u683c\u548c\u8d39\u7528\u673a\u5236\uff08\u4f8b\u5982\u667a\u80fd\u5408\u7ea6\u3001API\u6216\u53bb\u4e2d\u5fc3\u5316\u4ea4\u6613\u6240\uff09\u4ea4\u4e92\u3002\u5bf9\u7b2c\u4e09\u65b9\u7ec4\u4ef6\u7684\u51c6\u786e\u6027\u3001\u529f\u80fd\u6216\u5b89\u5168\u6027\u4e0d\u4f5c\u4efb\u4f55\u58f0\u660e\u6216\u4fdd\u8bc1\u3002 \u672c\u4ee3\u7801\u7684\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4fdd\u8bc1\u5176\u51c6\u786e\u6027\u3001\u5b8c\u6574\u6027\u6216\u6301\u7eed\u53ef\u7528\u6027\u3002\u4ee3\u7801\u548c\u76f8\u5173\u6750\u6599\u6309\"\u539f\u6837\"\uff08AS IS\uff09\u63d0\u4f9b\uff0c\u53ef\u80fd\u5305\u542b\u9519\u8bef\u3001\u7f3a\u9677\u6216\u6f0f\u6d1e\u3002\u4f7f\u7528\u98ce\u9669\u81ea\u8d1f\u3002 \u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4f1a\u56e0\u4f7f\u7528\u8fd9\u4e9b\u5408\u7ea6\u800c\u6536\u53d6\u4efb\u4f55\u8d39\u7528\u3002\u5bf9\u4ee3\u7801\u6216\u76f8\u5173\u6587\u6863\u6ca1\u6709\u7ef4\u62a4\u3001\u66f4\u65b0\u6216\u652f\u6301\u7684\u4e49\u52a1\u3002

\u672c\u6587\u4ef6\u4e0d\u662f\u5bf9\u53c2\u4e0e\u4ee3\u5e01\u8f6c\u6362\u3001\u5151\u6362\u6216\u5176\u4ed6\u4ea4\u6613\u7684\u63a8\u4ecb\u3001\u62db\u63fd\u6216\u5efa\u8bae\u3002\u4e0d\u63d0\u4f9b\u6cd5\u5f8b\u3001\u8d22\u52a1\u6216\u6295\u8d44\u5efa\u8bae\u3002 \u7528\u6237\u5355\u72ec\u8d1f\u8d23\u786e\u5b9a\u5176\u6d3b\u52a8\u7684\u5408\u6cd5\u6027\u3002\u5728\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u4e4b\u524d\uff0c\u5fc5\u987b\u67e5\u9605\u9002\u7528\u4e8e\u5176\u53f8\u6cd5\u7ba1\u8f96\u533a\u7684\u6cd5\u5f8b\u6cd5\u89c4\uff0c\u5e76\u54a8\u8be2\u72ec\u7acb\u987e\u95ee\u3002\u5728\u8fdd\u6cd5\u7684\u5730\u65b9\u4f7f\u7528\u662f\u88ab\u7981\u6b62\u7684\uff0c\u5305\u62ec\u53d7\u5236\u88c1\u7684\u4e2a\u4eba\u6216\u7ec4\u7ec7\u6216\u53d7\u9650\u5730\u533a\u7684\u4f7f\u7528\u3002

\u5728\u6cd5\u5f8b\u5141\u8bb8\u7684\u6700\u5927\u8303\u56f4\u5185\uff0c\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u5426\u8ba4\u56e0\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u800c\u5f15\u8d77\u7684\u6216\u4e0e\u4e4b\u76f8\u5173\u7684\u6240\u6709\u635f\u5931\u3001\u635f\u5bb3\u6216\u7d22\u8d54\u7684\u4efb\u4f55\u8d23\u4efb\u3002

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u7684\u5ba1\u67e5\u548c\u4f7f\u7528\u987b\u9075\u5b88\u7f51\u7ad9\u4f7f\u7528\u6761\u6b3e\u548c\u534f\u8bae\u4f7f\u7528\u6761\u6b3e\u3002

DoubleZero\u534f\u8bae\u4ece\u9a8c\u8bc1\u5668\u7528\u6237\u5904\u6536\u53d6\u4ee5SOL\u8ba1\u4ef7\u7684\u6536\u76ca\uff0c\u4f46\u4ee52Z\u8ba1\u4ef7\u5411\u8d21\u732e\u8005\u5206\u914d\u5956\u52b1\u3002\u56e0\u6b64\uff0c\u9700\u8981\u5c06SOL\u8f6c\u6362\u4e3a2Z\u3002

\u4e3a\u6b64\uff0c\u5408\u683c\u7684\u53c2\u4e0e\u8005\u53ef\u4ee5\u4e0eDoubleZero\u5151\u6362\u5408\u7ea6\u8fdb\u884c\u4ea4\u6613\uff0c\u4ece\u5408\u7ea6\u8d2d\u4e70SOL\u5e76\u51fa\u552e2Z\u3002\u5b9a\u4ef7\u57fa\u4e8ePyth\u4ef7\u683c\u6570\u636e\u6d41\u548c\u7a0b\u5e8f\u6027\u6298\u6263\u673a\u5236\u3002

\u672c\u6307\u5357\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u8be5\u7a0b\u5e8f\u3002

\u5728\u8bbf\u95ee\u6216\u4f7f\u7528\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u4e4b\u524d\uff0c\u8bf7\u67e5\u770b\u6587\u6863\u672b\u5c3e\u7684\u514d\u8d23\u58f0\u660e\u3002

"},{"location":"zh/Swapping-sol-to-2z/#_1","title":"\u7a0b\u5e8f\u8bbe\u8ba1","text":"

\u5151\u6362\u7a0b\u5e8f\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u5355\u8fb9\u6d41\u52a8\u6027\u6c60\uff0c\u6bcf\u7b14\u4ea4\u6613\u7684\u56fa\u5b9a\u6279\u91cf\u4e3a1 SOL\u8fdb\u884cSOL\u9500\u552e\u3002\u5408\u683c\u7684\u53c2\u4e0e\u8005\u53ef\u4ee5\u5b58\u51652Z\u5e76\u4ece\u7a0b\u5e8f\u63d0\u53d6SOL\uff0c\u4ef7\u683c\u7531Pyth\u7684\u9884\u8a00\u673a\u4ef7\u683c\u548c\u52a8\u6001\u6298\u6263\u51b3\u5b9a\u3002\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\uff0c\u8fd9\u5b9e\u73b0\u4e86\u5c06\u7a0b\u5e8f\u7684\u539f\u751f\u4ee3\u5e01\u8f6c\u6362\u4e3a2Z\u7684\u76ee\u6807\u3002

\u8981\u4f7f\u7528\u8be5\u7a0b\u5e8f\uff0c\u4ea4\u6613\u8005\u9700\u8981\u63d0\u4f9b\u4e24\u4e2a\u6700\u65b0\u7684Pyth\u4ef7\u683c\uff08SOL/USD\u548c2Z/USD\uff09\u4ee5\u53ca2Z\u7684\u6570\u91cf\u3002\u7a0b\u5e8f\u968f\u540e\u6839\u636e\u9690\u542b\u7684SOL/2Z\u4ef7\u683c\u8ba1\u7b97\u8d2d\u4e701 SOL\u6240\u9700\u76842Z\u3002\u7136\u540e\u6267\u884c\u4e00\u4e9b\u989d\u5916\u6b65\u9aa4\uff1a

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\u6b64\u65f6\uff0c\u5982\u679c\u4ea4\u6613\u8005\u63d0\u4f9b\u8db3\u591f\u76842Z\u4ee5\u6309\u6b64\u8ba1\u7b97\u4ef7\u683c\uff08\u542b\u6298\u6263\uff09\u6267\u884c\u4ea4\u6613\uff0c\u5219\u5c06\u6309\u6b64\u8ba1\u7b97\u4ef7\u683c\u6267\u884c\u3002\u4ea4\u6613\u8005\u5c06\u6536\u5230\u8d2d\u4e70\u7684SOL\u548c\u591a\u4f59\u76842Z\u3002

\u5408\u7ea6\u968f\u540e\u4e0d\u5141\u8bb8\u5728\u8be5\u69fd\u4f4d\u8fdb\u884c\u66f4\u591a\u4ea4\u6613\u3002\u8fd9\u662f\u4e3a\u4e86\u9632\u6b62\u5408\u7ea6\u5728Pyth\u4ef7\u683c\u5728\u4efb\u4f55\u65f6\u95f4\u70b9\u4e0e\u771f\u5b9e\u4ef7\u683c\u76f8\u5dee\u592a\u8fdc\uff08\u8d85\u51fa\u73b0\u6709\u8fc7\u6ee4\u5668\u7684\u6355\u83b7\u8303\u56f4\uff09\u65f6\u652f\u4ed8\u8fc7\u9ad8\u7684\u6ed1\u70b9\u3002

"},{"location":"zh/Swapping-sol-to-2z/#gas","title":"\u65e0Gas\u539f\u5b50\u6267\u884c","text":"

\u672c\u8282\u4ecb\u7ecdharvest-dz\u547d\u4ee4\u7684\u4f7f\u7528\u65b9\u6cd5\u3002\u8be5\u547d\u4ee4\u4ee5\u539f\u5b50\u65b9\u5f0f\u6267\u884c\u4e24\u4e2a\u64cd\u4f5c\uff1a 1. \u547d\u4ee4\u5411Jupiter\u8bf7\u6c42\u9488\u5bf9\u539f\u751fSOL <> 2Z\u8f6c\u6362\u7a0b\u5e8f\u7684\u62a5\u4ef7\u3002 2. \u5982\u679cJupiter\u8def\u7531\u4ea7\u751f\u76842Z/SOL\u591a\u4e8e\u539f\u751fSOL\u8f6c\u6362\u7a0b\u5e8f\u6240\u9700\u7684\uff0charvest-2z\u5c06\u6267\u884c\u5151\u6362\uff0c\u5e76\u5c061 SOL\u548c2Z\u7684\u5dee\u989d\u8fd4\u8fd8\u5230\u94b1\u5305\u3002

"},{"location":"zh/Swapping-sol-to-2z/#2z","title":"2Z\u7684\u6536\u5272","text":"

\u8981\u6267\u884c\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana revenue-distribution harvest-2z\n
\u8f93\u51fa\u5c06\u5982\u4e0b\u6240\u793a\uff1a
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
\u8be5\u547d\u4ee4\u4e5f\u53ef\u4ee5\u4f7f\u7528--dry-run\u53c2\u6570\u8fdb\u884c\u6a21\u62df\u3002\u5e72\u8fd0\u884c\u5c06\u751f\u6210\u7a0b\u5e8f\u65e5\u5fd7\u548c\u5982\u4e0b\u8f93\u51fa\uff1a

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"zh/Swapping-sol-to-2z/#_2","title":"\u534f\u8bae\u8f6c\u6362","text":"

\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u68c0\u67e5\u8f6c\u6362\u7387\u4ee5\u53ca\u5982\u4f55\u4f7f\u7528doublezero-solana CLI\u6267\u884c\u8f6c\u6362\u3002\u6700\u540e\u8fd8\u4ecb\u7ecd\u4e86\u4e0eDoubleZero\u5151\u6362\u5408\u7ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u96c6\u6210\u7684\u63a5\u53e3\u3002

"},{"location":"zh/Swapping-sol-to-2z/#doublezero-solanasol2z","title":"\u5982\u4f55\u901a\u8fc7doublezero-solana\u68c0\u67e5SOL/2Z\u8f6c\u6362\u4ef7\u683c","text":"

\u8981\u68c0\u67e5\u4e3b\u7f51Beta\u7684SOL/2Z\u8f6c\u6362\u7387\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana revenue-distribution fetch sol-conversion\n

\u663e\u793a\u7684\u8f93\u51fa\u5c06\u5982\u4e0b\u6240\u793a\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Journal Balance\u544a\u77e5\u7528\u6237\u6536\u5165\u5206\u914d\u667a\u80fd\u5408\u7ea6\u4e2d\u6709\u591a\u5c11SOL\u6d41\u52a8\u6027\u3002\u53ea\u8981Journal Balance\u8d85\u8fc7\u56fa\u5b9a\u4ea4\u6613\u5927\u5c0f1 SOL\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u4ea4\u6613\u3002

\u7b2c\u4e00\u884c\u663e\u793a\u94fe\u4e0b\u9884\u8a00\u673a\u7684\"\u771f\u5b9e\"SOL/2Z\u8f6c\u6362\u4ef7\u683c\u3002\u7b2c\u4e8c\u884c\u662f\u94fe\u4e0a\u5151\u6362\u4f7f\u7528\u7684\u8f6c\u6362\u4ef7\u683c\uff0c\u662f\u5bf9\u7b97\u6cd5\u6298\u6263\u7684\u771f\u5b9e\u4ef7\u683c\u7684\u8c03\u6574\u3002

"},{"location":"zh/Swapping-sol-to-2z/#doublezero-solana2zsol","title":"\u5982\u4f55\u901a\u8fc7doublezero-solana\u5c062Z\u8f6c\u6362\u4e3aSOL","text":"

\u8981\u5c062Z\u4ee3\u5e01\u8f6c\u6362\u4e3a\u591a\u7684\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana revenue-distribution convert-2z\n

\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5982\u679c\u6709\u8db3\u591f\u7684SOL\u6d41\u52a8\u6027\uff0c\u5e76\u4e14ATA\u4e2d\u6709\u8db3\u591f\u76842Z\u6267\u884c\u5151\u6362\uff0c\u6b64\u4ea4\u6613\u5c06\u6210\u529f\u3002\u901a\u8fc7\u6307\u5b9a\u4ee5\u4e0b\u53c2\u6570\uff0c\u60a8\u53ef\u4ee5\u66f4\u7cbe\u7ec6\u5730\u63a7\u5236\u5151\u6362\uff1a

      --limit-price <DECIMAL>                    \u9650\u4ef7\u9ed8\u8ba4\u4e3a\u5f53\u524dSOL/2Z\u9884\u8a00\u673a\u4ef7\u683c\n      --source-2z-account <PUBKEY>               \u4ee3\u5e01\u8d26\u6237\u5fc5\u987b\u7531\u7b7e\u540d\u8005\u62e5\u6709\u3002\u5982\u679c\u4e0d\u6307\u5b9a\uff0c\u9ed8\u8ba4\u4e3a\u7b7e\u540d\u8005ATA\n      --checked-sol-amount <SOL>                 \u660e\u786e\u68c0\u67e5SOL\u91d1\u989d\u3002\u5982\u679c\u6307\u5b9a\uff0c\u6b64\u91d1\u989d\u5c06\u9488\u5bf9\u56fa\u5b9a\u586b\u5145\u6570\u91cf\u8fdb\u884c\u68c0\u67e5\n

\u6307\u5b9a\u7684\u9650\u4ef7\u51b3\u5b9a\u4e86\u6267\u884cSOL/2Z\u8f6c\u6362\u65f6\u60a8\u613f\u610f\u63a5\u53d7\u7684\u6700\u574f\u60c5\u51b5\u4ef7\u683c\u3002\u4f8b\u5982\uff0c\u5047\u8bbeSOL\u7684\u6298\u62632Z\u4ef7\u683c\u4e3a800\uff08\u6bcf1 SOL 800\u4e2a2Z\u4ee3\u5e01\uff09\u3002\u5982\u679c\u60a8\u5c06\u9650\u4ef7\u6307\u5b9a\u4e3a790\uff0c\u60a8\u4e0d\u613f\u610f\u4ee5\u6bcf1 SOL\u591a\u4e8e790\u4e2a2Z\u4ee3\u5e01\u8fdb\u884c\u5151\u6362\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5c1d\u8bd5\u6267\u884c\u5151\u6362\u3002\u4f46\u5982\u679c\u60a8\u6307\u5b9a810\uff0c\u60a8\u613f\u610f\u5151\u6362\u6700\u591a810\u4e2a2Z\u4ee3\u5e01\uff08\u5728\u672c\u4f8b\u4e2d\uff0c\u4ec5\u5728\u6b64\u4ea4\u6613\u4e2d\u5151\u6362800\u4e2a2Z\u4ee3\u5e01\uff09\uff0c\u56e0\u6b64\u4ea4\u6613\u5c06\u901a\u8fc7\u3002

\u6e902Z\u4ee3\u5e01\u8d26\u6237\u4f1a\u8986\u76d6\u9ed8\u8ba4\u7684ATA\uff0c\u4f7f\u7528\u7b7e\u540d\u8005\u4f5c\u4e3a\u6b642Z ATA\u7684\u6240\u6709\u8005\u3002\u4f46\u662f\uff0c\u5982\u679c\u60a8\u6709\u53e6\u4e00\u4e2a\u60f3\u8981\u7528\u4e8e\u6267\u884c\u5151\u6362\u7684\u4ee3\u5e01\u8d26\u6237\uff0c\u8bf7\u901a\u8fc7\u6b64\u53c2\u6570\u63d0\u4f9b\u5176\u516c\u94a5\u3002

\u4f5c\u4e3a\u9009\u9879\uff0c\u60a8\u53ef\u4ee5\u6307\u5b9a\u8981\u68c0\u67e5\u7684SOL\u91d1\u989d\u5230\u6807\u51c6\u586b\u5145\u5927\u5c0f\uff08\u542f\u52a8\u65f6\u8bbe\u7f6e\u4e3a1 SOL\uff09\u3002\u5982\u679c\u4e0e\u7a0b\u5e8f\u7684\u586b\u5145\u5927\u5c0f\u4e0d\u5339\u914d\uff0c\u5151\u6362\u5c06\u5931\u8d25\u3002\u8fd9\u51cf\u5c11\u4e86\u7a0b\u5e8f\u586b\u5145\u5927\u5c0f\u53d1\u751f\u53d8\u5316\u800c\u60a8\u672a\u6ce8\u610f\u5230\u7684\u98ce\u9669\u3002

"},{"location":"zh/Swapping-sol-to-2z/#sol","title":"\u8d2d\u4e70SOL\u7684\u63a5\u53e3","text":"

\u63a5\u53e3\u548cdoublezero-solana CLI\u4f4d\u4e8e\u6b64\u4ed3\u5e93\u4e2d\u3002DoubleZero\u5151\u6362\u5408\u7ea6\u63a5\u53e3\u7684\u6e90\u4ee3\u7801\u5728\u8fd9\u91cc\u3002\u7a0b\u5e8fID\u4e3a9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs\u3002

\u751f\u6210buy SOL\u6307\u4ee4\u6240\u9700\u8d26\u6237\u7684\u4fbf\u6377\u65b9\u6cd5\u662f\u4f7f\u7528new\u65b9\u6cd5\uff08\u4f4d\u4e8einstruction/account.rs\uff09\uff1a

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key\u53ef\u4eceProgramState\u83b7\u53d6

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // \u6b64\u5bc6\u94a5\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

\u6216\u8005\uff0c\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7Solana RPC\u4f7f\u7528\u5224\u522b\u5668\u8c03\u7528getProgramAccounts\u3002\u4f46\u662f\uff0c\u7531\u4e8e\u6b64\u516c\u94a5\u6c38\u8fdc\u4e0d\u4f1a\u6539\u53d8\uff0c\u5efa\u8bae\u5bf9\u5176\u8fdb\u884c\u7f13\u5b58\u3002

user_key\u662fbuy SOL\u6307\u4ee4\u7684\u7b7e\u540d\u8005\uff0c\u5fc5\u987b\u662fuser_token_account_key\u7684\u6240\u6709\u8005\u3002\u5982\u4e0a\u6240\u8ff0\uff0c\u8fd9\u4e0d\u9700\u8981\u662fATA\u3002\u53ea\u89812Z\u4ee3\u5e01\u8d26\u6237\u7531user_key\u62e5\u6709\uff0c\u6b64\u6307\u4ee4\u5c31\u4f1a\u6210\u529f\u3002

BuySolAccounts\u7ed3\u6784\u4f53\u5b9e\u73b0\u4e86Into<Vec<AccountMeta>>\uff0c\u56e0\u6b64\u53ef\u4ee5\u751f\u6210\u6784\u5efa\u6307\u4ee4\u6240\u9700\u7684\u6240\u6709\u8d26\u6237\u5143\u6570\u636e\u3002

\u6307\u4ee4\u6570\u636e\u4e3a

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

\u6b64\u6307\u4ee4\u6570\u636e\u4ee5Borsh\u5e8f\u5217\u5316\uff0c\u67098\u5b57\u8282\u7684Anchor\u9009\u62e9\u5668\uff0c\u4f7f\u7528BorshSerialize::serialize\u5e8f\u5217\u5316\u6240\u6709\u5185\u5bb9\u3002

\u9884\u8a00\u673a\u4ef7\u683c\u6570\u636e\u53ef\u4ece\u6b64\u516c\u5171\u7aef\u70b9\u83b7\u53d6\uff1ahttps://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate\u3002\u6570\u636e\u53ef\u4f7f\u7528oracle.rs\u4e2d\u7684OraclePriceData\u7ed3\u6784\u4f53\u901a\u8fc7serde\u53cd\u5e8f\u5217\u5316\u3002

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

\u4f7f\u7528reqwest crate\u7684\u83b7\u53d6\u793a\u4f8b\uff1a

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

\u4f7f\u7528\u7a0b\u5e8fID\u3001\u8d26\u6237\u548c\u6307\u4ee4\u6570\u636e\uff0c\u60a8\u5e94\u8be5\u80fd\u591f\u6784\u5efa\u4eceDoubleZero\u5151\u6362\u5408\u7ea6\u8d2d\u4e70SOL\u7684\u6307\u4ee4\u3002

"},{"location":"zh/Validator%20Multicast%20Connection/","title":"\u9a8c\u8bc1\u5668\u591a\u64ad\u8fde\u63a5","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

\u5982\u679c\u60a8\u5c1a\u672a\u8fde\u63a5\u5230DoubleZero\uff0c\u8bf7\u5148\u5b8c\u6210\u8bbe\u7f6e\u548c\u4e3b\u7f51Beta\u9a8c\u8bc1\u5668\u8fde\u63a5\u6587\u6863\u3002

\u5982\u679c\u60a8\u662f\u5df2\u8fde\u63a5\u5230DoubleZero\u7684\u9a8c\u8bc1\u5668\uff0c\u53ef\u4ee5\u7ee7\u7eed\u9605\u8bfb\u672c\u6307\u5357\u3002

"},{"location":"zh/Validator%20Multicast%20Connection/#jito-agave319","title":"Jito-Agave\uff083.1.9\u6216\u66f4\u9ad8\u7248\u672c\uff09","text":"
  1. \u5728\u60a8\u7684\u9a8c\u8bc1\u5668\u542f\u52a8\u811a\u672c\u4e2d\uff0c\u6dfb\u52a0\uff1a--shred-receiver-address 233.84.178.1:7733

    \u60a8\u53ef\u4ee5\u540c\u65f6\u5411Jito\u548cbebop\u7ec4\u53d1\u9001\u6570\u636e\u3002

    \u793a\u4f8b\uff1a

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...The rest of your config...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. \u91cd\u542f\u60a8\u7684\u9a8c\u8bc1\u5668\u3002

  3. \u4ee5\u53d1\u5e03\u8005\u8eab\u4efd\u8fde\u63a5\u5230DoubleZero\u591a\u64ad\u7ec4bebop\uff1a doublezero connect multicast --publish bebop

"},{"location":"zh/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. \u5728config.toml\u4e2d\uff0c\u6dfb\u52a0\uff1a
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. \u91cd\u542f\u60a8\u7684\u9a8c\u8bc1\u5668\u3002

  3. \u4ee5\u53d1\u5e03\u8005\u8eab\u4efd\u8fde\u63a5\u5230DoubleZero\u591a\u64ad\u7ec4bebop\uff1a doublezero connect multicast --publish bebop

Note

\u5728XDP\u9a71\u52a8\u6a21\u5f0f\u4e0b\u7684Frankendancer\u7528\u6237\u65e0\u6cd5\u4f7f\u7528tcpdump\u3002\u76ee\u524d\u6ca1\u6709\u65b9\u6cd5\u786e\u8ba4\u60a8\u6b63\u5728\u53d1\u5e03\uff0c\u4f46\u89e3\u51b3\u65b9\u6848\u5373\u5c06\u63a8\u51fa\u3002

"},{"location":"zh/Validator%20Multicast%20Connection/#_2","title":"\u786e\u8ba4\u60a8\u6b63\u5728\u53d1\u5e03","text":"

\u5728\u60a8\u7684\u4e0b\u4e00\u4e2a\u9886\u5bfc\u8005\u69fd\u4f4d\u671f\u95f4\uff0c\u4f7f\u7528tcpdump\u786e\u8ba4\u60a8\u6b63\u5728\u5411\u591a\u64ad\u7ec4\u53d1\u5e03\u3002\u60a8\u5e94\u8be5\u6bcf10\u79d2\u770b\u5230\u4e00\u6b21\u5fc3\u8df3\u4ee5\u9a8c\u8bc1\u60a8\u6b63\u5728\u53d1\u5e03\u788e\u7247\u3002

\u8fd0\u884c\uff1asudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

\u53d1\u5e03\u65f6\u7684\u793a\u4f8b\u8f93\u51fa\uff1a

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"zh/architecture/","title":"\u67b6\u6784","text":"

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\u7f51\u7edc\u7684\u4e0d\u540c\u53c2\u4e0e\u8005\u548c\u7ec4\u4ef6\u662f\u4ec0\u4e48\uff1f

\u56fe1\uff1a\u7f51\u7edc\u67b6\u6784\u7ec4\u4ef6"},{"location":"zh/architecture/#_2","title":"\u8d21\u732e\u8005","text":"

DoubleZero\u7f51\u7edc\u7531\u6765\u81ea\u5168\u7403\u5404\u57ce\u5e02\u65e5\u76ca\u589e\u957f\u7684\u5206\u5e03\u5f0f\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u793e\u533a\u7684\u8fde\u63a5\u548c\u6570\u636e\u5305\u5904\u7406\u8d21\u732e\u7ec4\u6210\u3002\u8d21\u732e\u8005\u5c06\u5149\u7ea4\u94fe\u8def\u548c\u4fe1\u606f\u5904\u7406\u8d44\u6e90\u5e26\u5165\u534f\u8bae\uff0c\u4ee5\u63d0\u4f9b\u53bb\u4e2d\u5fc3\u5316\u7f51\u72b6\u7f51\u7edc\u3002

"},{"location":"zh/architecture/#_3","title":"\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e\u8005","text":"

\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u4e24\u70b9\u4e4b\u95f4\u63d0\u4f9b\u4e13\u7528\u5e26\u5bbd\uff0c\u5728\u6bcf\u7aef\u8fd0\u8425DoubleZero\u517c\u5bb9\u8bbe\u5907\uff08DZD\uff09\uff0c\u5e76\u5728\u6bcf\u7aef\u8fde\u63a5\u5230\u4e92\u8054\u7f51\u3002\u7f51\u7edc\u8d21\u732e\u8005\u8fd8\u5fc5\u987b\u5728\u6bcf\u4e2aDZD\u4e0a\u8fd0\u884cDoubleZero\u8f6f\u4ef6\uff0c\u4ee5\u63d0\u4f9b\u591a\u64ad\u3001\u7528\u6237\u67e5\u627e\u548c\u8fb9\u7f18\u8fc7\u6ee4\u7b49\u670d\u52a1\u3002

DoubleZero\u7f51\u7edc\u7684\u7269\u7406\u94fe\u8def\u4ee5\u5149\u7ea4\u7535\u7f06\uff08\u901a\u5e38\u79f0\u4e3a\u6ce2\u957f\u670d\u52a1\uff09\u7684\u5f62\u5f0f\u63d0\u4f9b\u3002\u7f51\u7edc\u8d21\u732e\u8005\u63d0\u4ea4\u5728\u4e24\u4e2a\u6216\u591a\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7531\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u62e5\u6709\u6216\u79df\u8d41\u7684\u672a\u5145\u5206\u5229\u7528\u7684\u7f51\u7edc\u94fe\u8def\u3002\u8fd9\u4e9b\u94fe\u8def\u5728\u4e24\u7aef\u7531DoubleZero\u8bbe\u5907\u7ec8\u6b62\uff0cDoubleZero\u8bbe\u5907\u662f\u8fd0\u884cDoubleZero\u4ee3\u7406\u8f6f\u4ef6\u5b9e\u4f8b\u7684\u7269\u7406\u7f51\u7edc\u4ea4\u6362\u673a\u5916\u58f3\u3002

"},{"location":"zh/architecture/#doublezerodzx","title":"DoubleZero\u4ea4\u6362\u70b9\uff08DZX / \u4ea4\u53c9\u8fde\u63a5\u7ad9\u70b9\uff09","text":"

DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09\u662f\u7f51\u72b6\u7f51\u7edc\u4e2d\u4e0d\u540c\u8d21\u732e\u8005\u94fe\u8def\u76f8\u4e92\u6865\u63a5\u7684\u4e92\u8fde\u70b9\u3002DZX\u4f4d\u4e8e\u5168\u7403\u53d1\u751f\u7f51\u7edc\u4ea4\u53c9\u7684\u4e3b\u8981\u90fd\u5e02\u533a\u3002\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u5730\u7406\u4f4d\u7f6e\u6700\u8fd1\u5176\u94fe\u8def\u7aef\u70b9\u7684DZX\u5c06\u5176\u94fe\u8def\u4ea4\u53c9\u8fde\u63a5\u5230\u66f4\u5e7f\u6cdb\u7684DoubleZero\u7f51\u72b6\u7f51\u7edc\u4e2d\u3002

"},{"location":"zh/architecture/#_4","title":"\u8ba1\u7b97\u8d44\u6e90\u8d21\u732e\u8005","text":"

\u4e0e\u7f51\u7edc\u8d21\u732e\u8005\u4e0d\u540c\uff0c\u8d44\u6e90\u8d21\u732e\u8005\u662f\u5206\u5e03\u5f0f\u7f51\u7edc\u53c2\u4e0e\u8005\u7fa4\u4f53\uff0c\u6267\u884c\u7ef4\u6301DoubleZero\u7f51\u7edc\u6280\u672f\u5b8c\u6574\u6027\u548c\u6301\u7eed\u529f\u80fd\u6240\u5fc5\u9700\u7684\u5404\u79cd\u7ef4\u62a4\u548c\u76d1\u63a7\u804c\u8d23\u3002\u5177\u4f53\u800c\u8a00\uff0c\u4ed6\u4eec\uff08i\uff09\u8ddf\u8e2a\u7528\u6237\u4ea4\u6613\u548c\u652f\u4ed8\uff1b\uff08ii\uff09\u8ba1\u7b97\u7f51\u7edc\u8d21\u732e\u8005\u7684\u8d39\u7528\uff1b\uff08iii\uff09\u8bb0\u5f55\uff08i\uff09\u548c\uff08ii\uff09\u7684\u7ed3\u679c\uff1b\uff08iv\uff09\u4e25\u683c\u4ee5\u975e\u81ea\u7531\u88c1\u91cf\u65b9\u5f0f\u7ba1\u7406\u63a7\u5236\u534f\u8bae\u4ee3\u5e01\u7ecf\u6d4e\u5b66\u7684\u667a\u80fd\u5408\u7ea6\uff1b\uff08v\uff09\u5411\u9002\u7528\u533a\u5757\u94fe\u4e2d\u7ee7\u8bc1\u660e\uff1b\uff08vi\uff09\u53d1\u5e03\u5173\u4e8e\u94fe\u8def\u8d28\u91cf\u548c\u5229\u7528\u7387\u7684\u9065\u6d4b\u6570\u636e\uff0c\u4e3a\u6240\u6709\u7f51\u7edc\u8d21\u732e\u8005\u63d0\u4f9b\u900f\u660e\u7684\u5b9e\u65f6\u6027\u80fd\u6307\u6807\u3002

"},{"location":"zh/architecture/#_5","title":"\u7ec4\u4ef6","text":""},{"location":"zh/architecture/#doublezero","title":"DoubleZero\u5b88\u62a4\u7a0b\u5e8f","text":"

DoubleZero\u5b88\u62a4\u7a0b\u5e8f\u8f6f\u4ef6\u8fd0\u884c\u5728\u9700\u8981\u901a\u8fc7DoubleZero\u7f51\u7edc\u901a\u4fe1\u7684\u670d\u52a1\u5668\u4e0a\u3002\u5b88\u62a4\u7a0b\u5e8f\u4e0e\u4e3b\u673a\u7684\u5185\u6838\u7f51\u7edc\u6808\u4ea4\u4e92\uff0c\u4ee5\u521b\u5efa\u548c\u7ba1\u7406\u96a7\u9053\u63a5\u53e3\u3001\u8def\u7531\u8868\u548c\u8def\u7531\u3002

"},{"location":"zh/architecture/#_6","title":"\u6fc0\u6d3b\u5668","text":"

\u6fc0\u6d3b\u5668\u670d\u52a1\u7531DoubleZero\u793e\u533a\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u8ba1\u7b97\u8d44\u6e90\u8d21\u732e\u6210\u5458\u6258\u7ba1\uff0c\u76d1\u63a7\u9700\u8981IP\u5730\u5740\u5206\u914d\u548c\u72b6\u6001\u66f4\u6539\u7684\u5408\u7ea6\u4e8b\u4ef6\uff0c\u5e76\u4ee3\u8868\u7f51\u7edc\u7ba1\u7406\u8fd9\u4e9b\u66f4\u6539\u3002

"},{"location":"zh/architecture/#_7","title":"\u63a7\u5236\u5668","text":"

\u63a7\u5236\u5668\u670d\u52a1\u7531DoubleZero\u793e\u533a\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u8ba1\u7b97\u8d44\u6e90\u8d21\u732e\u8005\u6258\u7ba1\uff0c\u4f5c\u4e3aDoubleZero\u8bbe\u5907\u4ee3\u7406\u57fa\u4e8e\u667a\u80fd\u5408\u7ea6\u4e8b\u4ef6\u5448\u73b0\u5176\u5f53\u524d\u914d\u7f6e\u7684\u914d\u7f6e\u63a5\u53e3\u3002

"},{"location":"zh/architecture/#_8","title":"\u4ee3\u7406","text":"

\u4ee3\u7406\u8f6f\u4ef6\u76f4\u63a5\u5728DoubleZero\u8bbe\u5907\u4e0a\u8fd0\u884c\uff0c\u5e76\u5e94\u7528\u7531\u63a7\u5236\u5668\u670d\u52a1\u89e3\u91ca\u7684\u914d\u7f6e\u66f4\u6539\u5230\u8bbe\u5907\u4e0a\u3002\u4ee3\u7406\u8f6f\u4ef6\u8f6e\u8be2\u63a7\u5236\u5668\u4ee5\u83b7\u53d6\u914d\u7f6e\u66f4\u6539\uff0c\u8ba1\u7b97\u8bbe\u5907\u72b6\u6001\u7684\u94fe\u4e0a\u89c4\u8303\u7248\u672c\u4e0e\u8bbe\u5907\u4e0a\u6d3b\u52a8\u914d\u7f6e\u4e4b\u95f4\u7684\u4efb\u4f55\u5dee\u5f02\uff0c\u5e76\u5e94\u7528\u5fc5\u8981\u7684\u66f4\u6539\u4ee5\u534f\u8c03\u6d3b\u52a8\u914d\u7f6e\u3002

"},{"location":"zh/architecture/#_9","title":"\u8bbe\u5907","text":"

\u4e3aDoubleZero\u7f51\u7edc\u63d0\u4f9b\u8def\u7531\u548c\u94fe\u8def\u7ec8\u6b62\u7684\u7269\u7406\u8bbe\u5907\u5916\u58f3\u3002DZD\u8fd0\u884cDoubleZero\u4ee3\u7406\u8f6f\u4ef6\uff0c\u5e76\u6839\u636e\u4ece\u63a7\u5236\u5668\u670d\u52a1\u8bfb\u53d6\u7684\u6570\u636e\u8fdb\u884c\u914d\u7f6e\u3002

"},{"location":"zh/connect/","title":"Connect","text":"

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.

If you are not redirected, click here.

"},{"location":"zh/contribute-operations/","title":"\u8d21\u732e\u8005\u8fd0\u8425\u6307\u5357","text":"

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.

\u672c\u6307\u5357\u6db5\u76d6\u7ef4\u62a4DoubleZero\u8bbe\u5907\uff08DZD\uff09\u7684\u6301\u7eed\u8fd0\u8425\u4efb\u52a1\uff0c\u5305\u62ec\u4ee3\u7406\u5347\u7ea7\u3001\u8bbe\u5907/\u63a5\u53e3\u66f4\u65b0\u548c\u94fe\u8def\u7ba1\u7406\u3002

\u524d\u63d0\u6761\u4ef6\uff1a\u4f7f\u7528\u672c\u6307\u5357\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u5df2\uff1a

"},{"location":"zh/contribute-operations/#_2","title":"\u8bbe\u5907\u66f4\u65b0","text":"

\u4f7f\u7528doublezero device update\u5728\u521d\u59cb\u914d\u7f6e\u540e\u4fee\u6539\u8bbe\u5907\u8bbe\u7f6e\u3002

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

\u5e38\u7528\u66f4\u65b0\u9009\u9879\uff1a

\u9009\u9879 \u63cf\u8ff0 --device-type <TYPE> \u66f4\u6539\u8fd0\u884c\u6a21\u5f0f\uff1ahybrid\u3001transit\u3001edge\uff08\u53c2\u89c1\u8bbe\u5907\u7c7b\u578b\uff09 --location <LOCATION> \u5c06\u8bbe\u5907\u79fb\u81f3\u4e0d\u540c\u4f4d\u7f6e --metrics-publisher <PUBKEY> \u66f4\u6539\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5"},{"location":"zh/contribute-operations/#_3","title":"\u63a5\u53e3\u66f4\u65b0","text":"

\u4f7f\u7528doublezero device interface update\u4fee\u6539\u73b0\u6709\u63a5\u53e3\u3002\u6b64\u547d\u4ee4\u63a5\u53d7\u4e0einterface create\u76f8\u540c\u7684\u9009\u9879\u3002

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

\u6709\u5173\u63a5\u53e3\u9009\u9879\uff08\u5305\u62ecCYOA/DIA\u8bbe\u7f6e\uff09\u7684\u5b8c\u6574\u5217\u8868\uff0c\u8bf7\u53c2\u89c1\u521b\u5efa\u63a5\u53e3\u3002

\u793a\u4f8b\u2014\u2014\u4e3a\u73b0\u6709\u63a5\u53e3\u6dfb\u52a0CYOA\u8bbe\u7f6e\uff1a

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"zh/contribute-operations/#_4","title":"\u5217\u51fa\u63a5\u53e3","text":"
doublezero device interface list              # \u6240\u6709\u8bbe\u5907\u7684\u6240\u6709\u63a5\u53e3\ndoublezero device interface list <DEVICE>     # \u7279\u5b9a\u8bbe\u5907\u7684\u63a5\u53e3\n
"},{"location":"zh/contribute-operations/#config-agent","title":"Config Agent\u5347\u7ea7","text":"

\u5f53Config Agent\u65b0\u7248\u672c\u53d1\u5e03\u65f6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5347\u7ea7\u3002

"},{"location":"zh/contribute-operations/#1","title":"1. \u4e0b\u8f7d\u6700\u65b0\u7248\u672c","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"zh/contribute-operations/#2","title":"2. \u5173\u95ed\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#3","title":"3. \u5220\u9664\u65e7\u7248\u672c","text":"

\u9996\u5148\uff0c\u627e\u5230\u65e7\u7248\u672c\u7684\u6587\u4ef6\u540d\uff1a

switch# show extensions\n

\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u65e7\u7248\u672c\u3002\u5c06<OLD_VERSION>\u66ff\u6362\u4e3a\u4e0a\u9762\u8f93\u51fa\u4e2d\u7684\u65e7\u7248\u672c\uff1a

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"zh/contribute-operations/#4","title":"4. \u5b89\u88c5\u65b0\u7248\u672c","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-operations/#5","title":"5. \u542f\u52a8\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#6","title":"6. \u9a8c\u8bc1\u5347\u7ea7","text":"

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\u3002

switch# show extensions\n

"},{"location":"zh/contribute-operations/#7-config-agent","title":"7. \u9a8c\u8bc1Config Agent\u65e5\u5fd7\u8f93\u51fa","text":"
show agent doublezero-agent log\n
"},{"location":"zh/contribute-operations/#telemetry-agent","title":"Telemetry Agent\u5347\u7ea7","text":"

\u5f53Telemetry Agent\u65b0\u7248\u672c\u53d1\u5e03\u65f6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5347\u7ea7\u3002

"},{"location":"zh/contribute-operations/#1_1","title":"1. \u4e0b\u8f7d\u6700\u65b0\u7248\u672c","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"zh/contribute-operations/#2_1","title":"2. \u5173\u95ed\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#3_1","title":"3. \u5220\u9664\u65e7\u7248\u672c","text":"

\u9996\u5148\uff0c\u627e\u5230\u65e7\u7248\u672c\u7684\u6587\u4ef6\u540d\uff1a

switch# show extensions\n

\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u65e7\u7248\u672c\u3002\u5c06<OLD_VERSION>\u66ff\u6362\u4e3a\u4e0a\u9762\u8f93\u51fa\u4e2d\u7684\u65e7\u7248\u672c\uff1a

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"zh/contribute-operations/#4_1","title":"4. \u5b89\u88c5\u65b0\u7248\u672c","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-operations/#5_1","title":"5. \u542f\u52a8\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#6_1","title":"6. \u9a8c\u8bc1\u5347\u7ea7","text":"

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\u3002

switch# show extensions\n

"},{"location":"zh/contribute-operations/#7-telemetry-agent","title":"7. \u9a8c\u8bc1Telemetry Agent\u65e5\u5fd7\u8f93\u51fa","text":"
show agent doublezero-telemetry log\n
"},{"location":"zh/contribute-operations/#_5","title":"\u76d1\u63a7","text":"

\u26a0\ufe0f \u91cd\u8981\uff1a

  1. \u5bf9\u4e8e\u4ee5\u4e0b\u914d\u7f6e\u793a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u60a8\u7684\u4ee3\u7406\u662f\u5426\u4f7f\u7528\u4e86\u7ba1\u7406VRF\u3002
  2. Config Agent\u548cTelemetry Agent\u9ed8\u8ba4\u4f7f\u7528\u76f8\u540c\u7684\u76d1\u542c\u7aef\u53e3\uff08:8080\uff09\u4f5c\u4e3a\u5176\u6307\u6807\u7aef\u70b9\u3002\u5982\u679c\u4e24\u8005\u90fd\u542f\u7528\u4e86\u6307\u6807\uff0c\u8bf7\u4f7f\u7528-metrics-addr\u6807\u5fd7\u4e3a\u6bcf\u4e2a\u4ee3\u7406\u8bbe\u7f6e\u552f\u4e00\u7684\u76d1\u542c\u7aef\u53e3\u3002
"},{"location":"zh/contribute-operations/#config-agent_1","title":"Config Agent\u6307\u6807","text":"

DoubleZero\u8bbe\u5907\u4e0a\u7684Config Agent\u53ef\u4ee5\u901a\u8fc7\u5728doublezero-agent\u5b88\u62a4\u8fdb\u7a0b\u914d\u7f6e\u4e2d\u8bbe\u7f6e-metrics-enable\u6807\u5fd7\u6765\u516c\u5f00Prometheus\u517c\u5bb9\u6307\u6807\u3002\u9ed8\u8ba4\u76d1\u542c\u7aef\u53e3\u4e3atcp/8080\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7-metrics-addr\u66f4\u6539\u4ee5\u9002\u5e94\u73af\u5883\uff1a

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

\u9664go\u7279\u5b9a\u7684\u8fd0\u884c\u65f6\u6307\u6807\u5916\uff0c\u8fd8\u516c\u5f00\u4ee5\u4e0bDoubleZero\u7279\u5b9a\u6307\u6807\uff1a

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"zh/contribute-operations/#_6","title":"\u9ad8\u4fe1\u53f7\u9519\u8bef","text":""},{"location":"zh/contribute-operations/#telemetry-agent_1","title":"Telemetry Agent\u6307\u6807","text":"

DoubleZero\u8bbe\u5907\u4e0a\u7684Telemetry Agent\u53ef\u4ee5\u901a\u8fc7\u5728doublezero-telemetry\u5b88\u62a4\u8fdb\u7a0b\u914d\u7f6e\u4e2d\u8bbe\u7f6e-metrics-enable\u6807\u5fd7\u6765\u516c\u5f00Prometheus\u517c\u5bb9\u6307\u6807\u3002\u9ed8\u8ba4\u76d1\u542c\u7aef\u53e3\u4e3atcp/8080\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7-metrics-addr\u66f4\u6539\u4ee5\u9002\u5e94\u73af\u5883\uff1a

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

\u9664go\u7279\u5b9a\u7684\u8fd0\u884c\u65f6\u6307\u6807\u5916\uff0c\u8fd8\u516c\u5f00\u4ee5\u4e0bDoubleZero\u7279\u5b9a\u6307\u6807\uff1a

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"zh/contribute-operations/#_7","title":"\u9ad8\u4fe1\u53f7\u9519\u8bef","text":""},{"location":"zh/contribute-operations/#_8","title":"\u94fe\u8def\u7ba1\u7406","text":""},{"location":"zh/contribute-operations/#_9","title":"\u94fe\u8def\u6392\u6c34","text":"

\u94fe\u8def\u6392\u6c34\u5141\u8bb8\u8d21\u732e\u8005\u4f18\u96c5\u5730\u4ece\u6d3b\u8dc3\u670d\u52a1\u4e2d\u79fb\u9664\u94fe\u8def\uff0c\u4ee5\u8fdb\u884c\u7ef4\u62a4\u6216\u6545\u969c\u6392\u9664\u3002\u6709\u4e24\u79cd\u6392\u6c34\u72b6\u6001\uff1a

\u72b6\u6001 IS-IS\u884c\u4e3a \u63cf\u8ff0 soft-drained \u6307\u6807\u8bbe\u7f6e\u4e3a1,000,000 \u94fe\u8def\u964d\u4f4e\u4f18\u5148\u7ea7\u3002\u6d41\u91cf\u5c06\u5728\u6709\u5907\u7528\u8def\u5f84\u65f6\u4f7f\u7528\u5907\u7528\u8def\u5f84\uff0c\u4f46\u5982\u679c\u6b64\u94fe\u8def\u662f\u552f\u4e00\u9009\u9879\uff0c\u4ecd\u4f1a\u4f7f\u7528\u5b83\u3002 hard-drained \u8bbe\u7f6e\u4e3a\u88ab\u52a8\u6a21\u5f0f \u94fe\u8def\u4ece\u8def\u7531\u4e2d\u5b8c\u5168\u79fb\u9664\u3002\u4e0d\u4f1a\u6709\u6d41\u91cf\u7ecf\u8fc7\u6b64\u94fe\u8def\u3002"},{"location":"zh/contribute-operations/#_10","title":"\u72b6\u6001\u8f6c\u6362","text":"

\u5141\u8bb8\u4ee5\u4e0b\u72b6\u6001\u8f6c\u6362\uff1a

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 \uff08\u5fc5\u987b\u5148\u7ecf\u8fc7soft-drained\uff09\n

\u26a0\ufe0f \u6ce8\u610f\uff1a \u60a8\u4e0d\u80fd\u76f4\u63a5\u4ecehard-drained\u8f6c\u5230activated\u3002\u5fc5\u987b\u5148\u8f6c\u6362\u5230soft-drained\uff0c\u518d\u8f6c\u6362\u5230activated\u3002

"},{"location":"zh/contribute-operations/#_11","title":"\u8f6f\u6392\u6c34\u94fe\u8def","text":"

\u8f6f\u6392\u6c34\u901a\u8fc7\u5c06IS-IS\u6307\u6807\u8bbe\u7f6e\u4e3a1,000,000\u6765\u964d\u4f4e\u94fe\u8def\u4f18\u5148\u7ea7\u3002\u6d41\u91cf\u5c06\u4f18\u5148\u9009\u62e9\u5907\u7528\u8def\u5f84\uff0c\u4f46\u5728\u5fc5\u8981\u65f6\u4ecd\u53ef\u4f7f\u7528\u6b64\u94fe\u8def\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"zh/contribute-operations/#_12","title":"\u786c\u6392\u6c34\u94fe\u8def","text":"

\u786c\u6392\u6c34\u901a\u8fc7\u5c06IS-IS\u8bbe\u7f6e\u4e3a\u88ab\u52a8\u6a21\u5f0f\uff0c\u5c06\u94fe\u8def\u4ece\u8def\u7531\u4e2d\u5b8c\u5168\u79fb\u9664\u3002\u4e0d\u4f1a\u6709\u6d41\u91cf\u7ecf\u8fc7\u6b64\u94fe\u8def\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"zh/contribute-operations/#_13","title":"\u5c06\u94fe\u8def\u6062\u590d\u4e3a\u6d3b\u8dc3\u72b6\u6001","text":"

\u5c06\u5df2\u6392\u6c34\u7684\u94fe\u8def\u6062\u590d\u4e3a\u6b63\u5e38\u8fd0\u884c\uff1a

# \u4ecesoft-drained\u6062\u590d\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# \u4ecehard-drained\u6062\u590d\uff08\u5fc5\u987b\u5148\u7ecf\u8fc7soft-drained\uff09\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"zh/contribute-operations/#_14","title":"\u5ef6\u8fdf\u8986\u76d6","text":"

\u5ef6\u8fdf\u8986\u76d6\u529f\u80fd\u5141\u8bb8\u8d21\u732e\u8005\u4e34\u65f6\u66f4\u6539\u94fe\u8def\u7684\u6709\u6548\u5ef6\u8fdf\uff0c\u800c\u65e0\u9700\u4fee\u6539\u5b9e\u9645\u6d4b\u91cf\u7684\u5ef6\u8fdf\u503c\u3002\u8fd9\u5bf9\u4e8e\u4e34\u65f6\u5c06\u94fe\u8def\u4ece\u4e3b\u8def\u5f84\u964d\u7ea7\u4e3a\u5907\u7528\u8def\u5f84\u975e\u5e38\u6709\u7528\u3002

"},{"location":"zh/contribute-operations/#_15","title":"\u8bbe\u7f6e\u5ef6\u8fdf\u8986\u76d6","text":"

\u8986\u76d6\u94fe\u8def\u5ef6\u8fdf\uff08\u4f7f\u5176\u5728\u8def\u7531\u4e2d\u4e0d\u592a\u88ab\u4f18\u5148\u9009\u62e9\uff09\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

\u6709\u6548\u503c\u4e3a0.01\u52301000\u6beb\u79d2\u3002

"},{"location":"zh/contribute-operations/#_16","title":"\u6e05\u9664\u5ef6\u8fdf\u8986\u76d6","text":"

\u79fb\u9664\u8986\u76d6\u5e76\u6062\u590d\u4f7f\u7528\u5b9e\u9645\u6d4b\u91cf\u7684\u5ef6\u8fdf\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f \u6ce8\u610f\uff1a \u5f53\u94fe\u8def\u5904\u4e8esoft-drained\u72b6\u6001\u65f6\uff0cdelay_ms\u548cdelay_override_ms\u90fd\u4f1a\u88ab\u8986\u76d6\u4e3a1000ms\uff081\u79d2\uff09\u4ee5\u786e\u4fdd\u964d\u4f4e\u4f18\u5148\u7ea7\u3002

"},{"location":"zh/contribute-overview/","title":"\u8d21\u732e\u8005\u6587\u6863","text":"

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.

\u672f\u8bed

\u521d\u6b21\u4f7f\u7528DoubleZero\uff1f\u8bf7\u53c2\u9605\u8bcd\u6c47\u8868\u4e86\u89e3DZD\u3001DZX\u548cCYOA\u7b49\u5173\u952e\u672f\u8bed\u7684\u5b9a\u4e49\u3002

\u6b22\u8fce\u9605\u8bfbDoubleZero\u8d21\u732e\u8005\u6587\u6863\u3002\u672c\u8282\u6db5\u76d6\u6210\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u6240\u9700\u7684\u4e00\u5207\u5185\u5bb9\u3002

\u6709\u5174\u8da3\u6210\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\uff1f

\u8bf7\u67e5\u770b\u9700\u6c42\u4e0e\u67b6\u6784\u9875\u9762\uff0c\u4e86\u89e3\u4e3aDoubleZero\u7f51\u7edc\u505a\u8d21\u732e\u6240\u9700\u7684\u786c\u4ef6\u3001\u5e26\u5bbd\u548c\u8fde\u63a5\u8981\u6c42\u3002

"},{"location":"zh/contribute-overview/#_2","title":"\u5165\u804c\u6838\u5bf9\u6e05\u5355","text":"

\u4f7f\u7528\u6b64\u6838\u5bf9\u6e05\u5355\u8ddf\u8e2a\u60a8\u7684\u8fdb\u5ea6\u3002\u5728\u60a8\u7684\u8d21\u732e\u5728\u6280\u672f\u4e0a\u6b63\u5f0f\u8fd0\u8425\u4e4b\u524d\uff0c\u6240\u6709\u9879\u76ee\u5fc5\u987b\u5b8c\u6210\u3002

"},{"location":"zh/contribute-overview/#_3","title":"\u7b2c\u4e00\u9636\u6bb5\uff1a\u524d\u63d0\u6761\u4ef6","text":""},{"location":"zh/contribute-overview/#_4","title":"\u7b2c\u4e8c\u9636\u6bb5\uff1a\u8d26\u6237\u8bbe\u7f6e","text":""},{"location":"zh/contribute-overview/#_5","title":"\u7b2c\u4e09\u9636\u6bb5\uff1a\u8bbe\u5907\u914d\u7f6e","text":""},{"location":"zh/contribute-overview/#_6","title":"\u7b2c\u56db\u9636\u6bb5\uff1a\u94fe\u8def\u5efa\u7acb\u4e0e\u4ee3\u7406\u5b89\u88c5","text":""},{"location":"zh/contribute-overview/#_7","title":"\u7b2c\u4e94\u9636\u6bb5\uff1a\u94fe\u8def\u78e8\u5408","text":""},{"location":"zh/contribute-overview/#_8","title":"\u7b2c\u516d\u9636\u6bb5\uff1a\u9a8c\u8bc1\u4e0e\u6fc0\u6d3b","text":""},{"location":"zh/contribute-overview/#_9","title":"\u83b7\u53d6\u5e2e\u52a9","text":"

\u4f5c\u4e3a\u5165\u804c\u7684\u4e00\u90e8\u5206\uff0cDZF\u5c06\u628a\u60a8\u6dfb\u52a0\u5230\u8d21\u732e\u8005Slack\u9891\u9053\uff1a

\u9891\u9053 \u7528\u9014 #dz-contributor-announcements DZF\u548cMalbec Labs\u7684\u5b98\u65b9\u901a\u4fe1\u2014\u2014CLI/\u4ee3\u7406\u5347\u7ea7\u3001\u91cd\u5927\u66f4\u6539\u3001\u5b89\u5168\u516c\u544a\u3002\u76d1\u63a7\u5173\u952e\u66f4\u65b0\uff1b\u5728\u7ebf\u7a0b\u4e2d\u63d0\u95ee\u3002 #dz-contributor-incidents \u672a\u8ba1\u5212\u7684\u670d\u52a1\u5f71\u54cd\u4e8b\u4ef6\u3002\u4e8b\u4ef6\u901a\u8fc7API/Web\u8868\u5355\u81ea\u52a8\u53d1\u5e03\uff0c\u5305\u542b\u4e25\u91cd\u7a0b\u5ea6\u548c\u53d7\u5f71\u54cd\u7684\u8bbe\u5907/\u94fe\u8def\u3002\u8ba8\u8bba\u548c\u6545\u969c\u6392\u9664\u5728\u7ebf\u7a0b\u4e2d\u8fdb\u884c\u3002 #dz-contributor-maintenance \u8ba1\u5212\u7ef4\u62a4\u6d3b\u52a8\uff08\u5347\u7ea7\u3001\u7ef4\u4fee\uff09\u3002\u901a\u8fc7API/Web\u8868\u5355\u5b89\u6392\uff0c\u5305\u542b\u8ba1\u5212\u5f00\u59cb/\u7ed3\u675f\u65f6\u95f4\u3002\u8ba8\u8bba\u5728\u7ebf\u7a0b\u4e2d\u8fdb\u884c\u3002 #dz-contributor-ops \u6240\u6709\u8d21\u732e\u8005\u7684\u5f00\u653e\u8ba8\u8bba\u2014\u2014\u8fd0\u8425\u95ee\u9898\u3001CLI\u5e2e\u52a9\u3001\u5206\u4eab\u8fd0\u884c\u624b\u518c\u548c\u64cd\u4f5c\u624b\u518c\u3002

\u60a8\u8fd8\u5c06\u83b7\u5f97\u4e00\u4e2a\u7528\u4e8e\u60a8\u7ec4\u7ec7\u76f4\u63a5\u652f\u6301\u7684\u79c1\u6709DZ/Malbec Labs\u9891\u9053\u3002

"},{"location":"zh/contribute-overview/#dz","title":"DZ\u524d\u7f00\u89c4\u5219","text":"

\u91cd\u8981\uff1aDZ\u524d\u7f00\u6c60\u4f7f\u7528

\u60a8\u63d0\u4f9b\u7684DZ\u524d\u7f00\u6c60\u7531DoubleZero\u534f\u8bae\u7ba1\u7406\uff0c\u7528\u4e8eIP\u5206\u914d\u3002

DZ\u524d\u7f00\u7684\u4f7f\u7528\u65b9\u5f0f\uff1a

\u60a8\u4e0d\u80fd\u5c06\u8fd9\u4e9b\u5730\u5740\u7528\u4e8e\uff1a

\u8981\u6c42\uff1a

\u5982\u679c\u60a8\u9700\u8981\u7528\u4e8e\u81ea\u5df1\u8bbe\u5907\u7684\u5730\u5740\uff08DIA\u63a5\u53e3IP\u3001\u7ba1\u7406\u5730\u5740\u7b49\uff09\uff0c\u8bf7\u4f7f\u7528\u5355\u72ec\u7684\u5730\u5740\u6c60\u3002

"},{"location":"zh/contribute-overview/#_10","title":"\u5feb\u901f\u53c2\u8003\uff1a\u5173\u952e\u672f\u8bed","text":"

\u521d\u6b21\u4f7f\u7528DoubleZero\uff1f\u4ee5\u4e0b\u662f\u57fa\u672c\u672f\u8bed\uff08\u53c2\u89c1\u5b8c\u6574\u8bcd\u6c47\u8868\uff09\uff1a

\u672f\u8bed \u5b9a\u4e49 DZD DoubleZero\u8bbe\u5907\u2014\u2014\u8fd0\u884cDZ\u4ee3\u7406\u7684\u7269\u7406Arista\u4ea4\u6362\u673a DZX DoubleZero\u4ea4\u6362\u70b9\u2014\u2014\u8d21\u732e\u8005\u5bf9\u7b49\u7684\u57ce\u57df\u4e92\u8fde\u70b9 CYOA \u81ea\u9009\u5192\u9669\u2014\u2014\u7528\u6237\u8fde\u63a5\u65b9\u6cd5\uff08GREOverDIA\u3001GREOverFabric\u7b49\uff09 DIA \u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\u2014\u2014\u6240\u6709DZD\u7528\u4e8e\u63a7\u5236\u5668\u548c\u9065\u6d4b\u7684\u4e92\u8054\u7f51\u8fde\u63a5\uff0c\u901a\u5e38\u7528\u4f5c\u8fb9\u7f18/\u6df7\u5408\u8bbe\u5907\u4e0a\u7528\u6237\u8fde\u63a5\u7684CYOA\u7c7b\u578b WAN\u94fe\u8def \u60a8\u81ea\u5df1\u7684DZD\u4e4b\u95f4\u7684\u94fe\u8def\uff08\u540c\u4e00\u8d21\u732e\u8005\uff09 DZX\u94fe\u8def \u5230\u53e6\u4e00\u8d21\u732e\u8005DZD\u7684\u94fe\u8def\uff08\u9700\u8981\u76f8\u4e92\u63a5\u53d7\uff09 \u914d\u7f6e\u4ee3\u7406 \u8f6e\u8be2\u63a7\u5236\u5668\uff0c\u5c06\u914d\u7f6e\u5e94\u7528\u5230\u60a8\u7684DZD \u9065\u6d4b\u4ee3\u7406 \u6536\u96c6TWAMP\u5ef6\u8fdf/\u4e22\u5305\u6307\u6807\uff0c\u63d0\u4ea4\u5230\u94fe\u4e0a\u8d26\u672c \u670d\u52a1\u5bc6\u94a5 \u60a8\u7684\u8d21\u732e\u8005\u8eab\u4efd\u5bc6\u94a5\uff0c\u7528\u4e8eCLI\u64cd\u4f5c \u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5 \u7528\u4e8e\u7b7e\u7f72\u94fe\u4e0a\u9065\u6d4b\u63d0\u4ea4\u7684\u5bc6\u94a5"},{"location":"zh/contribute-overview/#_11","title":"\u6587\u6863\u7ed3\u6784","text":"\u6307\u5357 \u63cf\u8ff0 \u9700\u6c42\u4e0e\u67b6\u6784 \u786c\u4ef6\u89c4\u683c\u3001\u7f51\u7edc\u67b6\u6784\u3001\u5e26\u5bbd\u9009\u9879 \u8bbe\u5907\u914d\u7f6e \u5206\u6b65\u64cd\u4f5c\uff1a\u5bc6\u94a5\u2192\u4ed3\u5e93\u8bbf\u95ee\u2192\u8bbe\u5907\u2192\u94fe\u8def\u2192\u4ee3\u7406 \u8fd0\u8425 \u4ee3\u7406\u5347\u7ea7\u3001\u94fe\u8def\u7ba1\u7406\u3001\u76d1\u63a7 \u8bcd\u6c47\u8868 \u6240\u6709DoubleZero\u672f\u8bed\u5b9a\u4e49"},{"location":"zh/contribute-overview/#_12","title":"\u975e\u7f51\u7edc\u5de5\u7a0b\u5e08\u7684\u7f51\u7edc\u57fa\u7840\u77e5\u8bc6","text":"

\u5982\u679c\u60a8\u4e0d\u662f\u7f51\u7edc\u5de5\u7a0b\u5e08\u80cc\u666f\uff0c\u4ee5\u4e0b\u662f\u672c\u6587\u6863\u4e2d\u4f7f\u7528\u7684\u6982\u5ff5\u5165\u95e8\uff1a

"},{"location":"zh/contribute-overview/#ip","title":"IP\u5bfb\u5740","text":""},{"location":"zh/contribute-overview/#_13","title":"\u7f51\u7edc\u5c42","text":""},{"location":"zh/contribute-overview/#_14","title":"\u5e38\u7528\u672f\u8bed","text":""},{"location":"zh/contribute-overview/#doublezero","title":"DoubleZero\u7279\u5b9a","text":"

\u51c6\u5907\u597d\u5f00\u59cb\u4e86\u5417\uff1f\u4ece\u9700\u6c42\u4e0e\u67b6\u6784\u5f00\u59cb\u3002

"},{"location":"zh/contribute-provisioning/","title":"\u8bbe\u5907\u914d\u7f6e\u6307\u5357","text":"

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.

\u672c\u6307\u5357\u5c06\u5f15\u5bfc\u60a8\u4ece\u5934\u5230\u5c3e\u5b8c\u6210DoubleZero\u8bbe\u5907\uff08DZD\uff09\u7684\u914d\u7f6e\u3002\u6bcf\u4e2a\u9636\u6bb5\u4e0e\u5165\u9a7b\u6e05\u5355\u76f8\u5bf9\u5e94\u3002

"},{"location":"zh/contribute-provisioning/#_2","title":"\u6574\u4f53\u67b6\u6784\u6982\u89c8","text":"

\u5728\u6df1\u5165\u6b65\u9aa4\u4e4b\u524d\uff0c\u5148\u4e86\u89e3\u60a8\u6b63\u5728\u6784\u5efa\u7684\u6574\u4f53\u67b6\u6784\uff1a

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero\u8d26\u672c]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[\u7ba1\u7406\u670d\u52a1\u5668<br/>DoubleZero CLI]\n        DZD[\u60a8\u7684DZD<br/>Arista\u4ea4\u6362\u673a]\n        DZD ---|WAN\u94fe\u8def| DZD2[\u60a8\u7684\u5176\u4ed6DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[\u4ed6\u4eec\u7684DZD]\n    end\n\n    subgraph Users\n        VAL[\u9a8c\u8bc1\u5668]\n        RPC[RPC\u8282\u70b9]\n    end\n\n    MGMT -.->|\u6ce8\u518c\u8bbe\u5907\u3001<br/>\u94fe\u8def\u3001\u63a5\u53e3| SC\n    DZD ---|DZX\u94fe\u8def| OtherDZD\n    VAL ---|\u901a\u8fc7\u4e92\u8054\u7f51\u8fde\u63a5| DZD\n    RPC ---|\u901a\u8fc7\u4e92\u8054\u7f51\u8fde\u63a5| DZD
"},{"location":"zh/contribute-provisioning/#1","title":"\u9636\u6bb51\uff1a\u524d\u63d0\u6761\u4ef6","text":"

\u5728\u914d\u7f6e\u8bbe\u5907\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u5b8c\u6210\u7269\u7406\u786c\u4ef6\u7684\u5b89\u88c5\u5e76\u5206\u914d\u4e00\u4e9bIP\u5730\u5740\u3002

"},{"location":"zh/contribute-provisioning/#_3","title":"\u6240\u9700\u6761\u4ef6","text":"\u8981\u6c42 \u7528\u9014 DZD\u786c\u4ef6 Arista 7280CR3A\u4ea4\u6362\u673a\uff08\u53c2\u89c1\u786c\u4ef6\u89c4\u683c\uff09 \u673a\u67b6\u7a7a\u95f4 4U\uff0c\u9700\u8981\u9002\u5f53\u7684\u6c14\u6d41 \u7535\u6e90 \u5197\u4f59\u4f9b\u7535\uff0c\u5efa\u8bae\u7ea64KW \u7ba1\u7406\u8bbf\u95ee SSH/\u63a7\u5236\u53f0\u8bbf\u95ee\u4ee5\u914d\u7f6e\u4ea4\u6362\u673a \u4e92\u8054\u7f51\u8fde\u63a5 \u7528\u4e8e\u53d1\u5e03\u6307\u6807\u548c\u4ece\u63a7\u5236\u5668\u83b7\u53d6\u914d\u7f6e \u516c\u5171IPv4\u5730\u5740\u5757 DZ\u524d\u7f00\u6c60\u81f3\u5c11\u9700\u8981/29\uff08\u53c2\u89c1\u4e0b\u65b9\uff09"},{"location":"zh/contribute-provisioning/#doublezero-cli","title":"\u5b89\u88c5DoubleZero CLI","text":"

DoubleZero CLI\uff08doublezero\uff09\u5728\u6574\u4e2a\u914d\u7f6e\u8fc7\u7a0b\u4e2d\u7528\u4e8e\u6ce8\u518c\u8bbe\u5907\u3001\u521b\u5efa\u94fe\u8def\u548c\u7ba1\u7406\u60a8\u7684\u8d21\u732e\u3002\u5e94\u5c06\u5176\u5b89\u88c5\u5728\u7ba1\u7406\u670d\u52a1\u5668\u6216\u865a\u62df\u673a\u4e0a\u2014\u2014\u800c\u4e0d\u662fDZD\u4ea4\u6362\u673a\u672c\u8eab\u3002\u4ea4\u6362\u673a\u53ea\u8fd0\u884cConfig Agent\u548cTelemetry Agent\uff08\u5728\u9636\u6bb54\u4e2d\u5b89\u88c5\uff09\u3002

Ubuntu / Debian\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u9a8c\u8bc1\u5b88\u62a4\u8fdb\u7a0b\u6b63\u5728\u8fd0\u884c\uff1a

sudo systemctl status doublezerod\n

"},{"location":"zh/contribute-provisioning/#dz","title":"\u4e86\u89e3\u60a8\u7684DZ\u524d\u7f00","text":"

\u60a8\u7684DZ\u524d\u7f00\u662fDoubleZero\u534f\u8bae\u7ba1\u7406\u7528\u4e8eIP\u5206\u914d\u7684\u516c\u5171IP\u5730\u5740\u5757\u3002

flowchart LR\n    subgraph \"\u60a8\u7684/29\u5730\u5740\u5757\uff088\u4e2aIP\uff09\"\n        IP1[\"\u7b2c\u4e00\u4e2aIP<br/>\u4e3a\u60a8\u7684\u8bbe\u5907<br/>\u4fdd\u7559\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|\u5206\u914d\u7ed9| LO[DZD\u4e0a\u7684<br/>Loopback100]\n    IP2 -->|\u5206\u914d\u7ed9| U1[\u7528\u62371]\n    IP3 -->|\u5206\u914d\u7ed9| U2[\u7528\u62372]

DZ\u524d\u7f00\u7684\u4f7f\u7528\u65b9\u5f0f\uff1a

DZ\u524d\u7f00\u89c4\u5219

\u60a8\u4e0d\u80fd\u5c06\u8fd9\u4e9b\u5730\u5740\u7528\u4e8e\uff1a

\u8981\u6c42\uff1a

\u5982\u679c\u60a8\u9700\u8981\u4e3a\u81ea\u5df1\u7684\u8bbe\u5907\uff08DIA\u63a5\u53e3IP\u3001\u7ba1\u7406\u7b49\uff09\u5206\u914d\u5730\u5740\uff0c\u8bf7\u4f7f\u7528\u5355\u72ec\u7684\u5730\u5740\u6c60\u3002

"},{"location":"zh/contribute-provisioning/#2","title":"\u9636\u6bb52\uff1a\u8d26\u6237\u8bbe\u7f6e","text":"

\u5728\u6b64\u9636\u6bb5\uff0c\u60a8\u5c06\u521b\u5efa\u5728\u7f51\u7edc\u4e0a\u6807\u8bc6\u60a8\u548c\u60a8\u8bbe\u5907\u7684\u52a0\u5bc6\u5bc6\u94a5\u3002

"},{"location":"zh/contribute-provisioning/#cli","title":"\u5728\u54ea\u91cc\u8fd0\u884cCLI","text":"

\u8bf7\u52ff\u5728\u4ea4\u6362\u673a\u4e0a\u5b89\u88c5CLI

DoubleZero CLI\uff08doublezero\uff09\u5e94\u5b89\u88c5\u5728\u7ba1\u7406\u670d\u52a1\u5668\u6216\u865a\u62df\u673a\u4e0a\uff0c\u800c\u4e0d\u662f\u60a8\u7684Arista\u4ea4\u6362\u673a\u4e0a\u3002

flowchart LR\n    subgraph \"\u7ba1\u7406\u670d\u52a1\u5668/\u865a\u62df\u673a\"\n        CLI[DoubleZero CLI]\n        KEYS[\u60a8\u7684\u5bc6\u94a5\u5bf9]\n    end\n\n    subgraph \"\u60a8\u7684DZD\u4ea4\u6362\u673a\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|\u521b\u5efa\u8bbe\u5907\u3001\u94fe\u8def| BC[\u533a\u5757\u94fe]\n    CA -->|\u62c9\u53d6\u914d\u7f6e| CTRL[\u63a7\u5236\u5668]\n    TA -->|\u63d0\u4ea4\u6307\u6807| BC
\u5b89\u88c5\u5728\u7ba1\u7406\u670d\u52a1\u5668\u4e0a \u5b89\u88c5\u5728\u4ea4\u6362\u673a\u4e0a doublezero CLI Config Agent \u60a8\u7684\u670d\u52a1\u5bc6\u94a5 Telemetry Agent \u60a8\u7684\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5 \u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5\uff08\u526f\u672c\uff09"},{"location":"zh/contribute-provisioning/#_4","title":"\u4ec0\u4e48\u662f\u5bc6\u94a5\uff1f","text":"

\u53ef\u4ee5\u5c06\u5bc6\u94a5\u7406\u89e3\u4e3a\u5b89\u5168\u767b\u5f55\u51ed\u636e\uff1a

\u4e24\u8005\u90fd\u662f\u52a0\u5bc6\u5bc6\u94a5\u5bf9\uff08\u60a8\u5171\u4eab\u7684\u516c\u94a5\uff0c\u60a8\u4fdd\u5bc6\u7684\u79c1\u94a5\uff09\u3002

flowchart LR\n    subgraph \"\u60a8\u7684\u5bc6\u94a5\"\n        SK[\u670d\u52a1\u5bc6\u94a5<br/>~/.config/solana/id.json]\n        MK[\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|\u7528\u4e8e| CLI[CLI\u547d\u4ee4<br/>doublezero device create<br/>doublezero link create]\n    MK -->|\u7528\u4e8e| TEL[Telemetry Agent<br/>\u94fe\u4e0a\u63d0\u4ea4\u6307\u6807]
"},{"location":"zh/contribute-provisioning/#21","title":"\u6b65\u9aa42.1\uff1a\u751f\u6210\u670d\u52a1\u5bc6\u94a5","text":"

\u8fd9\u662f\u60a8\u4e0eDoubleZero\u4ea4\u4e92\u7684\u4e3b\u8981\u8eab\u4efd\u3002

doublezero keygen\n

\u8fd9\u5c06\u5728\u9ed8\u8ba4\u4f4d\u7f6e\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u5bf9\u3002\u8f93\u51fa\u663e\u793a\u60a8\u7684\u516c\u94a5\u2014\u2014\u8fd9\u662f\u60a8\u5c06\u4e0eDZF\u5171\u4eab\u7684\u5185\u5bb9\u3002

"},{"location":"zh/contribute-provisioning/#22","title":"\u6b65\u9aa42.2\uff1a\u751f\u6210\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5","text":"

\u6b64\u5bc6\u94a5\u7531Telemetry Agent\u7528\u4e8e\u7b7e\u7f72\u6307\u6807\u63d0\u4ea4\u3002

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"zh/contribute-provisioning/#23dzf","title":"\u6b65\u9aa42.3\uff1a\u5411DZF\u63d0\u4ea4\u5bc6\u94a5","text":"

\u8054\u7cfbDoubleZero\u57fa\u91d1\u4f1a\u6216Malbec Labs\u5e76\u63d0\u4f9b\uff1a

  1. \u60a8\u7684\u670d\u52a1\u5bc6\u94a5\u516c\u94a5
  2. \u60a8\u7684GitHub\u7528\u6237\u540d\uff08\u7528\u4e8e\u4ed3\u5e93\u8bbf\u95ee\uff09

\u4ed6\u4eec\u5c06\uff1a

"},{"location":"zh/contribute-provisioning/#24","title":"\u6b65\u9aa42.4\uff1a\u9a8c\u8bc1\u60a8\u7684\u8d26\u6237","text":"

\u786e\u8ba4\u540e\uff0c\u9a8c\u8bc1\u60a8\u7684\u8d21\u732e\u8005\u8d26\u6237\u662f\u5426\u5b58\u5728\uff1a

doublezero contributor list\n

\u60a8\u5e94\u8be5\u5728\u5217\u8868\u4e2d\u770b\u5230\u60a8\u7684\u8d21\u732e\u8005\u4ee3\u7801\u3002

"},{"location":"zh/contribute-provisioning/#25","title":"\u6b65\u9aa42.5\uff1a\u8bbf\u95ee\u8d21\u732e\u8005\u4ed3\u5e93","text":"

malbeclabs/contributors \u4ed3\u5e93\u5305\u542b\uff1a

\u8bf7\u6309\u7167\u5176\u4e2d\u7684\u8bf4\u660e\u8fdb\u884c\u8bbe\u5907\u7279\u5b9a\u914d\u7f6e\u3002

"},{"location":"zh/contribute-provisioning/#3","title":"\u9636\u6bb53\uff1a\u8bbe\u5907\u914d\u7f6e","text":"

\u73b0\u5728\u60a8\u5c06\u5728\u533a\u5757\u94fe\u4e0a\u6ce8\u518c\u7269\u7406\u8bbe\u5907\u5e76\u914d\u7f6e\u5176\u63a5\u53e3\u3002

"},{"location":"zh/contribute-provisioning/#_5","title":"\u4e86\u89e3\u8bbe\u5907\u7c7b\u578b","text":"
flowchart TB\n    subgraph \"\u8fb9\u7f18\u8bbe\u5907\"\n        E[\u8fb9\u7f18DZD]\n        EU[\u7528\u6237\u8fde\u63a5\u5230\u6b64\u5904]\n        EU --> E\n        E <-->|DZX\u94fe\u8def| ED[\u5176\u4ed6DZD]\n    end\n\n    subgraph \"\u4f20\u8f93\u8bbe\u5907\"\n        T[\u4f20\u8f93DZD]\n        T <-->|WAN\u94fe\u8def| T2[\u53e6\u4e00\u4e2aDZD]\n        T <-->|DZX\u94fe\u8def| TD[\u5176\u4ed6DZD]\n    end\n\n    subgraph \"\u6df7\u5408\u8bbe\u5907\"\n        H[\u6df7\u5408DZD]\n        HU[\u7528\u6237\u8fde\u63a5\u5230\u6b64\u5904]\n        HU --> H\n        H <-->|WAN\u94fe\u8def| H2[\u53e6\u4e00\u4e2aDZD]\n        H <-->|DZX\u94fe\u8def| HD[\u5176\u4ed6DZD]\n    end
\u7c7b\u578b \u529f\u80fd \u4f7f\u7528\u65f6\u673a \u8fb9\u7f18 \u4ec5\u63a5\u53d7\u7528\u6237\u8fde\u63a5 \u5355\u4e00\u4f4d\u7f6e\uff0c\u4ec5\u9762\u5411\u7528\u6237 \u4f20\u8f93 \u5728\u8bbe\u5907\u4e4b\u95f4\u4f20\u8f93\u6d41\u91cf \u9aa8\u5e72\u8fde\u63a5\uff0c\u65e0\u7528\u6237 \u6df7\u5408 \u540c\u65f6\u652f\u6301\u7528\u6237\u8fde\u63a5\u548c\u9aa8\u5e72 \u6700\u5e38\u89c1\u2014\u2014\u529f\u80fd\u5168\u9762"},{"location":"zh/contribute-provisioning/#31","title":"\u6b65\u9aa43.1\uff1a\u67e5\u627e\u60a8\u7684\u4f4d\u7f6e\u548c\u4ea4\u6362\u4e2d\u5fc3","text":"

\u5728\u521b\u5efa\u8bbe\u5907\u4e4b\u524d\uff0c\u67e5\u627e\u60a8\u7684\u6570\u636e\u4e2d\u5fc3\u4f4d\u7f6e\u548c\u6700\u8fd1\u4ea4\u6362\u4e2d\u5fc3\u7684\u4ee3\u7801\uff1a

# \u5217\u51fa\u53ef\u7528\u4f4d\u7f6e\uff08\u6570\u636e\u4e2d\u5fc3\uff09\ndoublezero location list\n\n# \u5217\u51fa\u53ef\u7528\u4ea4\u6362\u4e2d\u5fc3\uff08\u4e92\u8fde\u70b9\uff09\ndoublezero exchange list\n
"},{"location":"zh/contribute-provisioning/#32","title":"\u6b65\u9aa43.2\uff1a\u5728\u94fe\u4e0a\u521b\u5efa\u60a8\u7684\u8bbe\u5907","text":"

\u5728\u533a\u5757\u94fe\u4e0a\u6ce8\u518c\u60a8\u7684\u8bbe\u5907\uff1a

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

\u793a\u4f8b\uff1a

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 4vKz8H...truncated...7xPq2\n

\u9a8c\u8bc1\u60a8\u7684\u8bbe\u5907\u662f\u5426\u5df2\u521b\u5efa\uff1a

doublezero device list | grep nyc-dz001\n

\u53c2\u6570\u8bf4\u660e\uff1a

\u53c2\u6570 \u542b\u4e49 --code \u60a8\u8bbe\u5907\u7684\u552f\u4e00\u540d\u79f0\uff08\u4f8b\u5982\uff0cnyc-dz001\uff09 --contributor \u60a8\u7684\u8d21\u732e\u8005\u4ee3\u7801\uff08\u7531DZF\u63d0\u4f9b\uff09 --device-type hybrid\u3001transit\u6216edge --location \u6765\u81ealocation list\u7684\u6570\u636e\u4e2d\u5fc3\u4ee3\u7801 --exchange \u6765\u81eaexchange list\u7684\u6700\u8fd1\u4ea4\u6362\u4e2d\u5fc3\u4ee3\u7801 --public-ip \u7528\u6237\u901a\u8fc7\u4e92\u8054\u7f51\u8fde\u63a5\u5230\u60a8\u8bbe\u5907\u7684\u516c\u5171IP --dz-prefixes \u5206\u914d\u7ed9\u7528\u6237\u7684IP\u5730\u5740\u5757"},{"location":"zh/contribute-provisioning/#33","title":"\u6b65\u9aa43.3\uff1a\u521b\u5efa\u5fc5\u9700\u7684\u73af\u56de\u63a5\u53e3","text":"

\u6bcf\u4e2a\u8bbe\u5907\u9700\u8981\u4e24\u4e2a\u73af\u56de\u63a5\u53e3\u7528\u4e8e\u5185\u90e8\u8def\u7531\uff1a

# VPNv4\u73af\u56de\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4\u73af\u56de\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

\u9884\u671f\u8f93\u51fa\uff08\u6bcf\u4e2a\u547d\u4ee4\uff09\uff1a

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"zh/contribute-provisioning/#34","title":"\u6b65\u9aa43.4\uff1a\u521b\u5efa\u7269\u7406\u63a5\u53e3","text":"

\u6ce8\u518c\u60a8\u5c06\u4f7f\u7528\u7684\u7269\u7406\u7aef\u53e3\uff1a

# \u57fa\u7840\u63a5\u53e3\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"zh/contribute-provisioning/#35cyoa","title":"\u6b65\u9aa43.5\uff1a\u521b\u5efaCYOA\u63a5\u53e3\uff08\u7528\u4e8e\u8fb9\u7f18/\u6df7\u5408\u8bbe\u5907\uff09","text":"

\u5982\u679c\u60a8\u7684\u8bbe\u5907\u63a5\u53d7\u7528\u6237\u8fde\u63a5\uff0c\u60a8\u9700\u8981\u4e00\u4e2aCYOA\uff08Choose Your Own Adventure\uff09\u63a5\u53e3\u3002\u8fd9\u544a\u8bc9\u7cfb\u7edf\u7528\u6237\u5982\u4f55\u8fde\u63a5\u5230\u60a8\u3002

CYOA\u7c7b\u578b\u8bf4\u660e\uff1a

\u7c7b\u578b \u901a\u4fd7\u89e3\u91ca \u4f7f\u7528\u65f6\u673a gre-over-dia \u7528\u6237\u901a\u8fc7\u666e\u901a\u4e92\u8054\u7f51\u8fde\u63a5 \u6700\u5e38\u89c1\u2014\u2014\u7528\u6237\u901a\u8fc7DIA\u8fde\u63a5\u5230\u60a8\u7684DZD gre-over-private-peering \u7528\u6237\u901a\u8fc7\u79c1\u6709\u94fe\u8def\u8fde\u63a5 \u7528\u6237\u4e0e\u60a8\u7684\u7f51\u7edc\u6709\u76f4\u63a5\u8fde\u63a5 gre-over-public-peering \u7528\u6237\u901a\u8fc7IX\u8fde\u63a5 \u7528\u6237\u5728\u4e92\u8054\u7f51\u4ea4\u6362\u4e2d\u5fc3\u4e0e\u60a8\u5bf9\u7b49 gre-over-fabric \u7528\u6237\u5728\u540c\u4e00\u672c\u5730\u7f51\u7edc \u7528\u6237\u5728\u540c\u4e00\u6570\u636e\u4e2d\u5fc3 gre-over-cable \u76f4\u63a5\u7535\u7f06\u8fde\u63a5\u5230\u7528\u6237 \u5355\u4e2a\u4e13\u7528\u7528\u6237

\u793a\u4f8b\u2014\u2014\u6807\u51c6\u4e92\u8054\u7f51\u7528\u6237\uff1a

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 2wLp8N...truncated...5vHt3\n

\u53c2\u6570\u8bf4\u660e\uff1a

\u53c2\u6570 \u542b\u4e49 --interface-cyoa \u7528\u6237\u5982\u4f55\u8fde\u63a5\uff08\u53c2\u89c1\u4e0a\u8868\uff09 --interface-dia \u5982\u679c\u8fd9\u662f\u9762\u5411\u4e92\u8054\u7f51\u7684\u7aef\u53e3\uff0c\u5219\u4e3adia --bandwidth \u7aef\u53e3\u901f\u5ea6\uff08Mbps\uff09\uff0c10000 = 10Gbps --cir \u627f\u8bfa\u901f\u7387\uff08Mbps\uff09\uff0c\u4fdd\u8bc1\u5e26\u5bbd --user-tunnel-endpoint \u6b64\u7aef\u53e3\u63a5\u53d7\u7528\u6237\u96a7\u9053"},{"location":"zh/contribute-provisioning/#36","title":"\u6b65\u9aa43.6\uff1a\u9a8c\u8bc1\u60a8\u7684\u8bbe\u5907","text":"
doublezero device list\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

\u60a8\u7684\u8bbe\u5907\u5e94\u663e\u793a\u72b6\u6001activated\u3002

"},{"location":"zh/contribute-provisioning/#4","title":"\u9636\u6bb54\uff1a\u94fe\u8def\u5efa\u7acb\u4e0e\u4ee3\u7406\u5b89\u88c5","text":"

\u94fe\u8def\u5c06\u60a8\u7684\u8bbe\u5907\u8fde\u63a5\u5230DoubleZero\u7f51\u7edc\u7684\u5176\u4f59\u90e8\u5206\u3002

"},{"location":"zh/contribute-provisioning/#_6","title":"\u4e86\u89e3\u94fe\u8def","text":"
flowchart LR\n    subgraph \"\u60a8\u7684\u7f51\u7edc\"\n        D1[\u60a8\u7684DZD 1<br/>NYC]\n        D2[\u60a8\u7684DZD 2<br/>LAX]\n    end\n\n    subgraph \"\u5176\u4ed6\u8d21\u732e\u8005\"\n        O1[\u4ed6\u4eec\u7684DZD<br/>NYC]\n    end\n\n    D1 ---|WAN\u94fe\u8def<br/>\u540c\u4e00\u8d21\u732e\u8005| D2\n    D1 ---|DZX\u94fe\u8def<br/>\u4e0d\u540c\u8d21\u732e\u8005| O1
\u94fe\u8def\u7c7b\u578b \u8fde\u63a5\u5bf9\u8c61 \u63a5\u53d7\u65b9\u5f0f WAN\u94fe\u8def \u60a8\u7684\u4e24\u4e2a\u8bbe\u5907 \u81ea\u52a8\uff08\u60a8\u62e5\u6709\u4e24\u7aef\uff09 DZX\u94fe\u8def \u60a8\u7684\u8bbe\u5907\u4e0e\u53e6\u4e00\u4e2a\u8d21\u732e\u8005 \u9700\u8981\u5bf9\u65b9\u63a5\u53d7"},{"location":"zh/contribute-provisioning/#41wan","title":"\u6b65\u9aa44.1\uff1a\u521b\u5efaWAN\u94fe\u8def\uff08\u5982\u679c\u60a8\u6709\u591a\u4e2a\u8bbe\u5907\uff09","text":"

WAN\u94fe\u8def\u8fde\u63a5\u60a8\u81ea\u5df1\u7684\u8bbe\u5907\uff1a

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

\u793a\u4f8b\uff1a

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"zh/contribute-provisioning/#42dzx","title":"\u6b65\u9aa44.2\uff1a\u521b\u5efaDZX\u94fe\u8def","text":"

DZX\u94fe\u8def\u5c06\u60a8\u7684\u8bbe\u5907\u76f4\u63a5\u8fde\u63a5\u5230\u53e6\u4e00\u4e2a\u8d21\u732e\u8005\u7684DZD\uff1a

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 8mKp3W...truncated...2nRx7\n

\u521b\u5efaDZX\u94fe\u8def\u540e\uff0c\u53e6\u4e00\u4e2a\u8d21\u732e\u8005\u5fc5\u987b\u63a5\u53d7\u5b83\uff1a

# \u53e6\u4e00\u4e2a\u8d21\u732e\u8005\u8fd0\u884c\u6b64\u547d\u4ee4\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

\u9884\u671f\u8f93\u51fa\uff08\u63a5\u53d7\u65b9\u8d21\u732e\u8005\uff09\uff1a

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"zh/contribute-provisioning/#43","title":"\u6b65\u9aa44.3\uff1a\u9a8c\u8bc1\u94fe\u8def","text":"
doublezero link list\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

\u4e00\u65e6\u4e24\u7aef\u90fd\u914d\u7f6e\u5b8c\u6210\uff0c\u94fe\u8def\u5e94\u663e\u793a\u72b6\u6001activated\u3002

"},{"location":"zh/contribute-provisioning/#_7","title":"\u4ee3\u7406\u5b89\u88c5","text":"

\u4e24\u4e2a\u8f6f\u4ef6\u4ee3\u7406\u5728\u60a8\u7684DZD\u4e0a\u8fd0\u884c\uff1a

flowchart TB\n    subgraph \"\u60a8\u7684DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[\u4ea4\u6362\u673a\u786c\u4ef6/\u8f6f\u4ef6]\n    end\n\n    CA -->|\u8f6e\u8be2\u914d\u7f6e| CTRL[\u63a7\u5236\u5668\u670d\u52a1]\n    CA -->|\u5e94\u7528\u914d\u7f6e| HW\n\n    HW -->|\u6307\u6807| TA\n    TA -->|\u94fe\u4e0a\u63d0\u4ea4| BC[DoubleZero\u8d26\u672c]
\u4ee3\u7406 \u529f\u80fd Config Agent \u4ece\u63a7\u5236\u5668\u62c9\u53d6\u914d\u7f6e\uff0c\u5e94\u7528\u5230\u60a8\u7684\u4ea4\u6362\u673a Telemetry Agent \u6d4b\u91cf\u5230\u5176\u4ed6\u8bbe\u5907\u7684\u5ef6\u8fdf/\u4e22\u5305\uff0c\u94fe\u4e0a\u62a5\u544a\u6307\u6807"},{"location":"zh/contribute-provisioning/#44config-agent","title":"\u6b65\u9aa44.4\uff1a\u5b89\u88c5Config Agent","text":""},{"location":"zh/contribute-provisioning/#api","title":"\u5728\u4ea4\u6362\u673a\u4e0a\u542f\u7528API","text":"

\u6dfb\u52a0\u5230EOS\u914d\u7f6e\uff1a

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF\u6ce8\u610f\u4e8b\u9879

\u5982\u679c\u60a8\u7684\u7ba1\u7406VRF\u540d\u79f0\u4e0d\u540c\uff08\u4f8b\u5982management\uff09\uff0c\u8bf7\u5c06default\u66ff\u6362\u4e3a\u60a8\u7684\u7ba1\u7406VRF\u540d\u79f0\u3002

"},{"location":"zh/contribute-provisioning/#_8","title":"\u4e0b\u8f7d\u5e76\u5b89\u88c5\u4ee3\u7406","text":"
# \u5728\u4ea4\u6362\u673a\u4e0a\u8fdb\u5165bash\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# \u5b89\u88c5\u4e3aEOS\u6269\u5c55\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-provisioning/#_9","title":"\u9a8c\u8bc1\u6269\u5c55","text":"
switch# show extensions\n

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"zh/contribute-provisioning/#_10","title":"\u914d\u7f6e\u5e76\u542f\u52a8\u4ee3\u7406","text":"

\u6dfb\u52a0\u5230EOS\u914d\u7f6e\uff1a

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

VRF\u6ce8\u610f\u4e8b\u9879

\u5982\u679c\u60a8\u7684\u7ba1\u7406VRF\u4e0d\u662fdefault\uff08\u5373\u547d\u540d\u7a7a\u95f4\u4e0d\u662fns-default\uff09\uff0c\u8bf7\u5728exec\u547d\u4ee4\u524d\u52a0\u4e0aexec /sbin/ip netns exec ns-<VRF>\u3002\u4f8b\u5982\uff0c\u5982\u679c\u60a8\u7684VRF\u662fmanagement\uff1a

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

\u4ecedoublezero device list\u83b7\u53d6\u60a8\u7684\u8bbe\u5907\u516c\u94a5\uff08account\u5217\uff09\u3002

"},{"location":"zh/contribute-provisioning/#_11","title":"\u9a8c\u8bc1\u662f\u5426\u6b63\u5728\u8fd0\u884c","text":"
switch# show agent doublezero-agent logs\n

\u60a8\u5e94\u8be5\u770b\u5230\"Starting doublezero-agent\"\u4ee5\u53ca\u6210\u529f\u7684\u63a7\u5236\u5668\u8fde\u63a5\u3002

"},{"location":"zh/contribute-provisioning/#45telemetry-agent","title":"\u6b65\u9aa44.5\uff1a\u5b89\u88c5Telemetry Agent","text":""},{"location":"zh/contribute-provisioning/#_12","title":"\u5c06\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5\u590d\u5236\u5230\u8bbe\u5907","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"zh/contribute-provisioning/#_13","title":"\u5728\u94fe\u4e0a\u6ce8\u518c\u6307\u6807\u53d1\u5e03\u8005","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

\u4ece\u60a8\u7684metrics-publisher.json\u6587\u4ef6\u83b7\u53d6\u516c\u94a5\u3002

"},{"location":"zh/contribute-provisioning/#_14","title":"\u4e0b\u8f7d\u5e76\u5b89\u88c5\u4ee3\u7406","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# \u5b89\u88c5\u4e3aEOS\u6269\u5c55\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-provisioning/#_15","title":"\u9a8c\u8bc1\u6269\u5c55","text":"
switch# show extensions\n

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"zh/contribute-provisioning/#_16","title":"\u914d\u7f6e\u5e76\u542f\u52a8\u4ee3\u7406","text":"

\u6dfb\u52a0\u5230EOS\u914d\u7f6e\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF\u6ce8\u610f\u4e8b\u9879

\u5982\u679c\u60a8\u7684\u7ba1\u7406VRF\u4e0d\u662fdefault\uff08\u5373\u547d\u540d\u7a7a\u95f4\u4e0d\u662fns-default\uff09\uff0c\u8bf7\u5728exec\u547d\u4ee4\u4e2d\u6dfb\u52a0--management-namespace ns-<VRF>\u3002\u4f8b\u5982\uff0c\u5982\u679c\u60a8\u7684VRF\u662fmanagement\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"zh/contribute-provisioning/#_17","title":"\u9a8c\u8bc1\u662f\u5426\u6b63\u5728\u8fd0\u884c","text":"
switch# show agent doublezero-telemetry logs\n

\u60a8\u5e94\u8be5\u770b\u5230\"Starting telemetry collector\"\u548c\"Starting submission loop\"\u3002

"},{"location":"zh/contribute-provisioning/#5","title":"\u9636\u6bb55\uff1a\u94fe\u8def\u78e8\u5408","text":"

\u6240\u6709\u65b0\u94fe\u8def\u5728\u627f\u8f7d\u6d41\u91cf\u524d\u5fc5\u987b\u5b8c\u6210\u78e8\u5408

\u65b0\u94fe\u8def\u5fc5\u987b\u81f3\u5c11\u6392\u6c3424\u5c0f\u65f6\uff0c\u7136\u540e\u624d\u80fd\u6fc0\u6d3b\u7528\u4e8e\u751f\u4ea7\u6d41\u91cf\u3002\u6b64\u78e8\u5408\u8981\u6c42\u5728RFC12\uff1a\u7f51\u7edc\u914d\u7f6e\u4e2d\u5b9a\u4e49\uff0c\u89c4\u5b9a\u94fe\u8def\u5c31\u7eea\u524d\u9700\u8981\u7ea6200,000\u4e2aDZ\u8d26\u672c\u69fd\u4f4d\uff08\u7ea620\u5c0f\u65f6\uff09\u7684\u5e72\u51c0\u6307\u6807\u3002

\u5728\u4ee3\u7406\u5b89\u88c5\u5e76\u8fd0\u884c\u540e\uff0c\u5728metrics.doublezero.xyz\u4e0a\u76d1\u63a7\u60a8\u7684\u94fe\u8def\u81f3\u5c11\u8fde\u7eed24\u5c0f\u65f6\uff1a

\u53ea\u6709\u5f53\u78e8\u5408\u671f\u663e\u793a\u5e72\u51c0\u7684\u94fe\u8def\uff08\u96f6\u4e22\u5305\u548c\u96f6\u9519\u8bef\uff09\u65f6\uff0c\u624d\u80fd\u89e3\u9664\u6392\u6c34\u72b6\u6001\u3002

"},{"location":"zh/contribute-provisioning/#6","title":"\u9636\u6bb56\uff1a\u9a8c\u8bc1\u4e0e\u6fc0\u6d3b","text":"

\u901a\u8fc7\u6b64\u6e05\u5355\u786e\u8ba4\u4e00\u5207\u6b63\u5e38\u5de5\u4f5c\u3002

\u60a8\u7684\u8bbe\u5907\u521d\u59cb\u9501\u5b9a\uff08max_users = 0\uff09

\u521b\u5efa\u8bbe\u5907\u65f6\uff0cmax_users\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a0\u3002\u8fd9\u610f\u5473\u7740\u8fd8\u6ca1\u6709\u7528\u6237\u53ef\u4ee5\u8fde\u63a5\u5230\u5b83\u3002\u8fd9\u662f\u6709\u610f\u4e3a\u4e4b\u2014\u2014\u60a8\u5fc5\u987b\u5728\u63a5\u53d7\u7528\u6237\u6d41\u91cf\u4e4b\u524d\u9a8c\u8bc1\u4e00\u5207\u6b63\u5e38\u3002

\u5728\u5c06max_users\u8bbe\u7f6e\u4e3a0\u4ee5\u4e0a\u4e4b\u524d\uff0c\u60a8\u5fc5\u987b\uff1a

  1. \u786e\u8ba4\u6240\u6709\u94fe\u8def\u5df2\u5728metrics.doublezero.xyz\u4e0a\u5b8c\u621024\u5c0f\u65f6\u78e8\u5408\uff0c\u96f6\u4e22\u5305/\u9519\u8bef
  2. \u4e0eDZ/Malbec Labs\u534f\u8c03\u8fdb\u884c\u8fde\u63a5\u6d4b\u8bd5\uff1a
    • \u6d4b\u8bd5\u7528\u6237\u80fd\u5426\u8fde\u63a5\u5230\u60a8\u7684\u8bbe\u5907\uff1f
    • \u7528\u6237\u662f\u5426\u901a\u8fc7DZ\u7f51\u7edc\u63a5\u6536\u8def\u7531\uff1f
    • \u7528\u6237\u662f\u5426\u80fd\u7aef\u5230\u7aef\u901a\u8fc7DZ\u7f51\u7edc\u8def\u7531\u6d41\u91cf\uff1f
  3. \u4ec5\u5728DZ/ML\u786e\u8ba4\u6d4b\u8bd5\u901a\u8fc7\u540e\uff0c\u5c06max_users\u8bbe\u7f6e\u4e3a96\uff1a
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"zh/contribute-provisioning/#_18","title":"\u8bbe\u5907\u68c0\u67e5","text":"
# \u60a8\u7684\u8bbe\u5907\u5e94\u663e\u793a\u72b6\u6001\"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

\u9884\u671f\u8f93\u51fa\uff1a

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# \u60a8\u7684\u63a5\u53e3\u5e94\u88ab\u5217\u51fa\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

\u9884\u671f\u8f93\u51fa\uff1a

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"zh/contribute-provisioning/#_19","title":"\u94fe\u8def\u68c0\u67e5","text":"
# \u94fe\u8def\u5e94\u663e\u793a\u72b6\u6001\"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

\u9884\u671f\u8f93\u51fa\uff1a

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"zh/contribute-provisioning/#_20","title":"\u4ee3\u7406\u68c0\u67e5","text":"

\u5728\u4ea4\u6362\u673a\u4e0a\uff1a

# Config Agent\u5e94\u663e\u793a\u6210\u529f\u7684\u914d\u7f6e\u62c9\u53d6\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry Agent\u5e94\u663e\u793a\u6210\u529f\u7684\u63d0\u4ea4\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"zh/contribute-provisioning/#_21","title":"\u6700\u7ec8\u9a8c\u8bc1\u56fe","text":"
flowchart TB\n    subgraph \"\u9a8c\u8bc1\u6e05\u5355\"\n        D[\u8bbe\u5907\u72b6\u6001\uff1a\u5df2\u6fc0\u6d3b\uff1f]\n        I[\u63a5\u53e3\uff1a\u5df2\u6ce8\u518c\uff1f]\n        L[\u94fe\u8def\uff1a\u5df2\u6fc0\u6d3b\uff1f]\n        CA[Config Agent\uff1a\u6b63\u5728\u62c9\u53d6\u914d\u7f6e\uff1f]\n        TA[Telemetry Agent\uff1a\u6b63\u5728\u63d0\u4ea4\u6307\u6807\uff1f]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[\u6240\u6709\u68c0\u67e5\u901a\u8fc7] --> NOTIFY[\u901a\u77e5DZF/Malbec Labs<br/>\u60a8\u5728\u6280\u672f\u4e0a\u5df2\u51c6\u5907\u5c31\u7eea\uff01]
"},{"location":"zh/contribute-provisioning/#_22","title":"\u6545\u969c\u6392\u9664","text":""},{"location":"zh/contribute-provisioning/#_23","title":"\u8bbe\u5907\u521b\u5efa\u5931\u8d25","text":""},{"location":"zh/contribute-provisioning/#requested","title":"\u94fe\u8def\u5361\u5728\"requested\"\u72b6\u6001","text":""},{"location":"zh/contribute-provisioning/#config-agent","title":"Config Agent\u65e0\u6cd5\u8fde\u63a5","text":""},{"location":"zh/contribute-provisioning/#telemetry-agent","title":"Telemetry Agent\u672a\u63d0\u4ea4","text":""},{"location":"zh/contribute-provisioning/#_24","title":"\u540e\u7eed\u6b65\u9aa4","text":""},{"location":"zh/contribute/","title":"\u8d21\u732e\u8005\u9700\u6c42\u4e0e\u67b6\u6784","text":"

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.

"},{"location":"zh/contribute/#_2","title":"\u6458\u8981","text":"

\u4efb\u4f55\u5e0c\u671b\u5c06\u5176\u672a\u5145\u5206\u5229\u7528\u7684\u5149\u7ea4\u7535\u7f06\u548c\u7f51\u7edc\u786c\u4ef6\u8d27\u5e01\u5316\u7684\u4eba\u90fd\u53ef\u4ee5\u4e3aDoubleZero\u7f51\u7edc\u505a\u51fa\u8d21\u732e\u3002\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u4e24\u70b9\u4e4b\u95f4\u63d0\u4f9b\u4e13\u7528\u5e26\u5bbd\uff0c\u5728\u6bcf\u7aef\u8fd0\u8425DoubleZero\u517c\u5bb9\u8bbe\u5907\uff08DZD\uff09\uff0c\u5e76\u5728\u6bcf\u7aef\u8fde\u63a5\u5230\u516c\u5171\u4e92\u8054\u7f51\u3002\u7f51\u7edc\u8d21\u732e\u8005\u8fd8\u5fc5\u987b\u5728\u6bcf\u4e2aDZD\u4e0a\u8fd0\u884cDoubleZero\u8f6f\u4ef6\uff0c\u4ee5\u63d0\u4f9b\u591a\u64ad\u3001\u7528\u6237\u67e5\u627e\u548c\u8fb9\u7f18\u8fc7\u6ee4\u7b49\u670d\u52a1\u3002

DoubleZero\u667a\u80fd\u5408\u7ea6\u662f\u786e\u4fdd\u7f51\u7edc\u7ef4\u6301\u53ef\u6d4b\u91cf\u5e76\u96c6\u6210\u5230\u62d3\u6251\u4e2d\u7684\u9ad8\u8d28\u91cf\u94fe\u8def\u7684\u57fa\u7840\uff0c\u4f7f\u6211\u4eec\u7684\u7f51\u7edc\u63a7\u5236\u5668\u80fd\u591f\u5f00\u53d1\u4e0d\u540c\u7528\u6237\u548c\u7aef\u70b9\u4e4b\u95f4\u6700\u9ad8\u6548\u7684\u7aef\u5230\u7aef\u8def\u5f84\u3002\u5728\u6267\u884c\u667a\u80fd\u5408\u7ea6\u5e76\u90e8\u7f72\u7f51\u7edc\u8bbe\u5907\u548c\u5e26\u5bbd\u540e\uff0c\u5b9e\u4f53\u88ab\u5f52\u7c7b\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u3002\u8bf7\u53c2\u9605DoubleZero\u7ecf\u6d4e\u5b66\u8fdb\u4e00\u6b65\u4e86\u89e3\u4f5c\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u53c2\u4e0eDoubleZero\u7684\u7ecf\u6d4e\u5b66\u539f\u7406\u3002

"},{"location":"zh/contribute/#doublezero","title":"\u6210\u4e3aDoubleZero\u7f51\u7edc\u8d21\u732e\u8005\u7684\u8981\u6c42","text":""},{"location":"zh/contribute/#_3","title":"\u5feb\u901f\u5165\u95e8\u6307\u5357","text":"

\u4f5c\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\uff0c\u5728DoubleZero\u4e2d\u5f00\u59cb\u7684\u6700\u7b80\u5355\u65b9\u5f0f\u662f\u8bc6\u522b\u60a8\u7f51\u7edc\u4e2d\u53ef\u4ee5\u4e13\u7528\u4e8eDoubleZero\u7684\u5bb9\u91cf\u3002\u4e00\u65e6\u786e\u5b9a\uff0c\u5fc5\u987b\u90e8\u7f72DZD\uff0c\u4ee5\u4fbfDoubleZero\u8986\u76d6\u7f51\u7edc\u53ea\u9700\u8981IPv4\u53ef\u8fbe\u6027\u548c\u6700\u5c0f2048\u5b57\u8282MTU\u4f5c\u4e3a\u6765\u81ea\u8d21\u732e\u8005\u7f51\u7edc\u7684\u4f9d\u8d56\u9879\u3002

\u56fe1\u5c55\u793a\u4e86\u8d21\u732e\u5e26\u5bbd\u548c\u6570\u636e\u5305\u53d1\u9001\u53ca\u5904\u7406\u670d\u52a1\u7684\u6700\u7b80\u5355\u6a21\u578b\u3002DZD\u90e8\u7f72\u5728\u6bcf\u4e2a\u6570\u636e\u4e2d\u5fc3\uff0c\u4e0e\u7f51\u7edc\u8d21\u732e\u8005\u7684\u5185\u90e8\u7f51\u7edc\u63a5\u53e3\uff0c\u63d0\u4f9bDoubleZero WAN\u8fde\u63a5\u3002\u8fd9\u7531\u672c\u5730\u4e92\u8054\u7f51\u8865\u5145\uff0c\u901a\u5e38\u662f\u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff08DIA\uff09\u89e3\u51b3\u65b9\u6848\uff0c\u7528\u4f5cDoubleZero\u7528\u6237\u7684\u63a5\u5165\u70b9\u3002\u867d\u7136DIA\u9884\u8ba1\u662f\u4fc3\u8fdbDoubleZero\u7528\u6237\u8bbf\u95ee\u7684\u9996\u9009\u9009\u9879\uff0c\u4f46\u591a\u79cd\u8fde\u63a5\u6a21\u578b\u4e5f\u662f\u53ef\u80fd\u7684\uff0c\u4f8b\u5982\u5230\u670d\u52a1\u5668\u7684\u7269\u7406\u5e03\u7ebf\u3001\u7f51\u7edc\u7ed3\u6784\u6269\u5c55\u7b49\u3002\u6211\u4eec\u5c06\u8fd9\u4e9b\u9009\u9879\u79f0\u4e3a\u81ea\u9009\u5192\u9669\uff08CYOA\uff09\uff0c\u4e3a\u8d21\u732e\u8005\u63d0\u4f9b\u4ee5\u6700\u9002\u5408\u5176\u5185\u90e8\u7f51\u7edc\u7b56\u7565\u7684\u65b9\u5f0f\u8fde\u63a5\u672c\u5730\u6216\u8fdc\u7a0b\u7528\u6237\u7684\u7075\u6d3b\u6027\u3002

\u4e0e\u4efb\u4f55\u7f51\u7edc\u4e00\u6837\uff0c\u53ef\u8fbe\u6027\u662f\u67b6\u6784\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff0c\u56e0\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u4e0d\u80fd\u5b64\u7acb\u5b58\u5728\u3002\u56e0\u6b64\uff0cDZD\u5fc5\u987b\u6709\u4e00\u6761\u5230DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09\u7684\u94fe\u8def\uff0c\u4ee5\u5728\u53c2\u4e0e\u8005\u4e4b\u95f4\u521b\u5efa\u8fde\u7eed\u7f51\u7edc\u3002

\u56fe1\uff1a2\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e - \u5355\u4e00\u8d21\u732e\u8005"},{"location":"zh/contribute/#_4","title":"\u8d21\u732e\u793a\u4f8b","text":"

\u7f51\u7edc\u8d21\u732e\u8005\u53ef\u4ee5\u901a\u8fc7\u591a\u79cd\u65b9\u5f0f\u589e\u52a0\u5176DoubleZero\u8d21\u732e\uff0c\u5305\u62ec\uff1a

"},{"location":"zh/contribute/#13","title":"\u793a\u4f8b1\uff1a\u5355\u4e00\u8d21\u732e\u8005\uff0c3\u4e2a\u6570\u636e\u4e2d\u5fc3\uff0c\u4e24\u6761\u94fe\u8def","text":"\u56fe2\uff1a3\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e - \u5355\u4e00\u8d21\u732e\u8005

\u5355\u4e2aDZD\u53ef\u4ee5\u652f\u6301\u5411DoubleZero\u8d21\u732e\u7684\u591a\u6761\u94fe\u8def\u3002\u56fe2\u5c55\u793a\u4e86\u5f53\u6807\u4e3a1\u7684\u5355\u4e2a\u6570\u636e\u4e2d\u5fc3\u5411\u4e24\u4e2a\u4e0d\u540c\u7684\u8fdc\u7a0b\u6570\u636e\u4e2d\u5fc32\u548c3\u7ec8\u6b62\u5e26\u5bbd\u65f6\u7684\u6f5c\u5728\u62d3\u6251\u3002\u5728\u6b64\u573a\u666f\u4e2d\uff0c\u6bcf\u4e2a\u6570\u636e\u4e2d\u5fc3\u53ea\u5305\u542b1\u4e2aDZD\u3002\u6240\u6709DZD\u90fd\u4f7f\u7528DIA\u4f5c\u4e3a\u5176CYOA\u63a5\u53e3\u7684\u7528\u6237\u63a5\u5165\u70b9\u3002

"},{"location":"zh/contribute/#23","title":"\u793a\u4f8b2\uff1a\u5355\u4e00\u8d21\u732e\u8005\uff0c3\u4e2a\u6570\u636e\u4e2d\u5fc3\uff0c\u4e09\u6761\u94fe\u8def","text":"

\u56fe3\u63cf\u8ff0\u4e86\u5f53\u5355\u4e2a\u8d21\u732e\u8005\u57283\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u4ee5\u4e09\u89d2\u5f62\u62d3\u6251\u90e8\u7f72\u4e09\u6761\u94fe\u8def\u65f6\u7684DoubleZero\u62d3\u6251\u3002\u5728\u7c7b\u4f3c\u793a\u4f8b1\u7684\u573a\u666f\u4e2d\uff0c\u5355\u4e2aDZD\u90e8\u7f72\u5728\u6570\u636e\u4e2d\u5fc31\u30012\u548c3\u4e2d\uff0c\u6bcf\u4e2a\u652f\u63012\u6761\u72ec\u7acb\u7684\u7f51\u7edc\u94fe\u8def\u3002\u7531\u6b64\u4ea7\u751f\u7684\u62d3\u6251\u662f\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684\u4e09\u89d2\u5f62\u6216\u73af\u5f62\u3002

\u56fe3\uff1a3\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e - \u5355\u4e00\u8d21\u732e\u8005"},{"location":"zh/contribute/#doublezero_1","title":"DoubleZero\u4ea4\u6362\u70b9","text":"

\u521b\u5efa\u8fde\u7eed\u7f51\u7edc\u662fDoubleZero\u67b6\u6784\u7684\u57fa\u672c\u6784\u5efa\u5757\u3002\u8d21\u732e\u8005\u901a\u8fc7\u90fd\u5e02\u533a\u5185\u7684DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09\u8fdb\u884c\u63a5\u53e3\uff0c\u90fd\u5e02\u533a\u662f\u7ebd\u7ea6\uff08NYC\uff09\u3001\u4f26\u6566\uff08LON\uff09\u6216\u4e1c\u4eac\uff08TYO\uff09\u7b49\u57ce\u5e02\u3002DZX\u662f\u7c7b\u4f3c\u4e8e\u4e92\u8054\u7f51\u4ea4\u6362\u70b9\u7684\u7f51\u7edc\u7ed3\u6784\uff0c\u5141\u8bb8\u5bf9\u7b49\u4e92\u8054\u548c\u8def\u7531\u4ea4\u6362\u3002

\u5728\u56fe4\u4e2d\uff0c\u7f51\u7edc\u8d21\u732e\u80051\u5728\u6570\u636e\u4e2d\u5fc31\u30012\u548c3\u8fd0\u8425\uff0c\u800c\u7f51\u7edc\u8d21\u732e\u80052\u5728\u6570\u636e\u4e2d\u5fc32\u30014\u548c5\u8fd0\u8425\u3002\u901a\u8fc7\u5728\u6570\u636e\u4e2d\u5fc32\u4e92\u8fde\uff0cDoubleZero\u7f51\u7edc\u8986\u76d6\u8303\u56f4\u589e\u52a0\u52305\u4e2a\u8fde\u7eed\u6570\u636e\u4e2d\u5fc3\u3002

\u56fe4\uff1a2\u4e2a\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e\u8005\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e"},{"location":"zh/contribute/#_5","title":"\u5e26\u5bbd\u8d21\u732e\u9009\u9879","text":"

DoubleZero\u8981\u6c42\u7f51\u7edc\u8d21\u732e\u8005\u901a\u8fc7\u667a\u80fd\u5408\u7ea6\u63d0\u4f9b\u5728\u4e24\u4e2a\u7ec8\u6b62\u6570\u636e\u4e2d\u5fc3\u7684DZD\u4e4b\u95f4\u5177\u6709\u4fdd\u8bc1\u5e26\u5bbd\u3001\u5ef6\u8fdf\u548c\u6296\u52a8\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u8fde\u63a5\u3002DoubleZero\u4e0d\u5f3a\u5236\u89c4\u5b9a\u7f51\u7edc\u8d21\u732e\u8005\u5982\u4f55\u5b9e\u65bd\u5176\u8d21\u732e\uff0c\u4f46\u5728\u4ee5\u4e0b\u7ae0\u8282\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u53ef\u4f9b\u5176\u81ea\u884c\u51b3\u5b9a\u4f7f\u7528\u7684\u53c2\u8003\u9009\u9879\u3002

\u7f51\u7edc\u8d21\u732e\u8005\u53ef\u80fd\u9700\u8981\u8003\u8651\u7684\u91cd\u8981\u9886\u57df\uff1a

"},{"location":"zh/contribute/#1","title":"\u7b2c1\u5c42\u5e26\u5bbd","text":"\u56fe5\uff1a\u7b2c1\u5c42\u5149\u5b66\u670d\u52a1

\u7b2c1\u5c42\u5e26\u5bbd\uff0c\u66f4\u6b63\u5f0f\u5730\u79f0\u4e3a\u6ce2\u957f\u670d\u52a1\uff0c\u53ef\u4ee5\u5728\u73b0\u6709\u5149\u5b66\u57fa\u7840\u8bbe\u65bd\uff08\u5982DWDM\u3001CWDM\u6216\u901a\u8fc7\u5149\u5b66\u591a\u8def\u590d\u7528\u5668\uff08MUX\uff09\uff09\u4e0a\u914d\u7f6e\u4e13\u7528\u5bb9\u91cf\u3002\u5728\u56fe5\u4e2d\uff0cDZD\u4f7f\u7528\u5f69\u8272\u5149\u7ea4\u8fde\u63a5\u5230L1 MUX\uff0c\u5c06DZD\u6ce2\u957f\u63d2\u5165\u5230\u73b0\u6709\u6697\u5149\u7ea4\u4e0a\u3002

\u5bf9\u4e8e\u5df2\u7ecf\u8fd0\u8425\u73b0\u6709\u6838\u5fc3\u7f51\u7edc\u7684\u7f51\u7edc\u8d21\u732e\u8005\uff0c\u6b64\u89e3\u51b3\u65b9\u6848\u5177\u6709\u4f17\u591a\u4f18\u52bf\u3002\u8fed\u4ee3\u64cd\u4f5c\u66f4\u6539\u4ee5\u53ca\u989d\u5916\u7684\u8d44\u672c\u652f\u51fa\u548c\u8fd0\u8425\u652f\u51fa\u8981\u6c42\u662f\u9002\u5ea6\u7684\u3002\u6b64\u9009\u9879\u5728\u63d0\u4f9b\u4e0e\u7f51\u7edc\u8d21\u732e\u8005\u7f51\u7edc\u670d\u52a1\u7684\u9694\u79bb\u65b9\u9762\u7279\u522b\u5f3a\u5927\u3002

"},{"location":"zh/contribute/#_6","title":"\u5206\u7ec4\u4ea4\u6362\u5e26\u5bbd","text":"

\u5206\u7ec4\u4ea4\u6362\u7f51\u7edc\u53ef\u4ee5\u88ab\u89c6\u4e3a\u5178\u578b\u7684\u4f01\u4e1a\u7f51\u7edc\uff0c\u8fd0\u884c\u652f\u6301\u4e1a\u52a1\u5e94\u7528\u7a0b\u5e8f\u7684\u6807\u51c6\u8def\u7531\u548c\u4ea4\u6362\u534f\u8bae\u3002\u6709\u591a\u79cd\u7f51\u7edc\u6280\u672f\u53ef\u4ee5\u5b9e\u73b0\u8fde\u63a5\uff0c\u4f8b\u5982\u4f7f\u7528VLAN\u6807\u7b7e\u7684\u7b2c2\u5c42\uff08L2\uff09\u6269\u5c55\u3002

"},{"location":"zh/contribute/#l2","title":"L2\u6269\u5c55","text":"\u56fe6\uff1a\u5206\u7ec4\u4ea4\u6362\u7f51\u7edc - L2\u6269\u5c55

\u5982\u56fe6\u6240\u793a\u7684L2\u6269\u5c55\u53ef\u4ee5\u901a\u8fc7VLAN\u6807\u8bb0\u5b9e\u73b0\u3002DZD\u7684\u7aef\u53e3\u53ef\u4ee5\u8fde\u63a5\u5230\u8d21\u732e\u8005\u7684\u5185\u90e8\u7f51\u7edc\u4ea4\u6362\u673a\uff0c\u4ea4\u6362\u673a\u7aef\u53e3\u8bbe\u7f6e\u4e3a\u4f8b\u5982VLAN 10\u7684\u63a5\u5165\u7aef\u53e3\u3002\u901a\u8fc7802.1q\u6807\u8bb0\uff0c\u6b64VLAN\u53ef\u4ee5\u5728\u8d21\u732e\u8005\u7f51\u7edc\u7684\u591a\u4e2a\u4ea4\u6362\u673a\u8df3\u4e0a\u4f20\u8f93\uff0c\u7ec8\u6b62\u4e8e\u4e0e\u8fdc\u7a0bDZD\u63a5\u53e3\u7684\u4ea4\u6362\u673a\u3002

\u6b64\u89e3\u51b3\u65b9\u6848\u53d7\u76ca\u4e8e\u5e7f\u6cdb\u652f\u6301\u548c\u76f8\u5bf9\u5bb9\u6613\u5b9e\u65bd\uff0c\u540c\u65f6\u5728DoubleZero\u548c\u5185\u90e8\u7b2c3\u5c42\u670d\u52a1\u4e4b\u95f4\u521b\u5efa\u5206\u6bb5\u3002\u5e26\u5bbd\u53ef\u4ee5\u6839\u636e\u8d21\u732e\u8005\u5185\u90e8\u4ea4\u6362\u673a\u6216\u8def\u7531\u5668\u7684\u63a5\u53e3\u901f\u5ea6\u8fdb\u884c\u63a7\u5236\u3002\u5fc5\u987b\u901a\u8fc7\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u6216\u5176\u4ed6\u6d41\u91cf\u7ba1\u7406\u7b56\u7565\u7b49\u6280\u672f\u4ed4\u7ec6\u8003\u8651\u5171\u4eab\u5185\u90e8L2\u7f51\u7edc\u7684\u6027\u80fd\u3002\u4f46\u662f\uff0c\u5982\u679c\u8d21\u732e\u8005\u7684\u6838\u5fc3\u7f51\u7edc\u4e2d\u6709\u73b0\u6709\u5bb9\u91cf\uff0c\u989d\u5916\u7684\u8d44\u672c\u652f\u51fa\u548c\u8fd0\u8425\u652f\u51fa\u6295\u8d44\u5e94\u8be5\u662f\u9002\u5ea6\u7684\u3002

"},{"location":"zh/contribute/#_7","title":"\u4e13\u7528\u7b2c\u4e09\u65b9\u5e26\u5bbd","text":"\u56fe7\uff1a\u4e13\u7528\u7b2c\u4e09\u65b9\u5e26\u5bbd

\u867d\u7136\u91cd\u7528\u53ef\u7528\u5bb9\u91cf\u5bf9\u8bb8\u591a\u7f51\u7edc\u8d21\u732e\u8005\u6765\u8bf4\u5f88\u6709\u5438\u5f15\u529b\uff0c\u4f46\u4e5f\u53ef\u4ee5\u5c06\u65b0\u83b7\u53d6\u7684\u5e26\u5bbd\u4e13\u7528\u4e8eDoubleZero\u3002\u5728\u8fd9\u79cd\u573a\u666f\u4e2d\uff0cDZD\u5c06\u76f4\u63a5\u8fde\u63a5\u5230\u7b2c\u4e09\u65b9\u8fd0\u8425\u5546\uff0c\u800c\u6ca1\u6709\u4efb\u4f55\u8d21\u732e\u8005\u7684\u5185\u90e8\u8bbe\u5907\u5185\u8054\uff08\u56fe7\uff09\u3002

\u6b64\u9009\u9879\u5f88\u6709\u5438\u5f15\u529b\uff0c\u56e0\u4e3a\u5b83\u786e\u4fdd\u4e86DoubleZero\u7684\u4e13\u7528\u5e26\u5bbd\uff0c\u64cd\u4f5c\u7b80\u5355\uff0c\u5e76\u786e\u4fdd\u4e0e\u4efb\u4f55\u5176\u4ed6\u7f51\u7edc\u670d\u52a1\u5b8c\u5168\u9694\u79bb\u3002\u6b64\u9009\u9879\u53ef\u80fd\u4f1a\u6709\u6700\u9ad8\u7684\u8fd0\u8425\u652f\u51fa\u589e\u52a0\uff0c\u5e76\u9700\u8981\u4e0e\u7b2c\u4e09\u65b9\u8fd0\u8425\u5546\u7b7e\u8ba2\u65b0\u7684\u670d\u52a1\u5408\u540c\u3002

"},{"location":"zh/contribute/#_8","title":"\u786c\u4ef6\u8981\u6c42","text":""},{"location":"zh/contribute/#100gbps","title":"100Gbps\u5e26\u5bbd\u8d21\u732e","text":"

\u8bf7\u6ce8\u610f\uff0c\u4ee5\u4e0b\u6570\u91cf\u53cd\u6620\u4e86\u4e24\u4e2a\u6570\u636e\u4e2d\u5fc3\u6240\u9700\u7684\u8bbe\u5907\uff0c\u5373\u90e8\u7f721\u6761\u5149\u7ea4\u7535\u7f06\u8fdb\u884c\u5e26\u5bbd\u8d21\u732e\u6240\u9700\u7684\u603b\u786c\u4ef6\u3002

*\u6240\u6709FPGA\u5747\u9700\u7ecf\u8fc7\u6700\u7ec8\u6d4b\u8bd5\u3002\u4f7f\u7528\u5185\u7f6e\u53ccVirtex\u00ae UltraScale+\u2122 FPGA\u7684Arista 7130LBR\u4ea4\u6362\u673a\u53ef\u80fd\u652f\u630110G\u8d21\u732e\uff08\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0cDoubleZero\u57fa\u91d1\u4f1a / Malbec Labs\u5f88\u4e50\u610f\u63d0\u4f9b\u66f4\u591a\u4fe1\u606f\uff09\u3002"},{"location":"zh/contribute/#_9","title":"\u529f\u80fd\u4e0e\u7aef\u53e3\u8981\u6c42","text":"\u529f\u80fd \u7aef\u53e3\u901f\u5ea6 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 \u79c1\u6709\u5e26\u5bbd 100G \u662f 1 \u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff08DIA\uff09 10G \u662f 2 DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09 100G \u662f* 1 \u4e00\u65e6\u540c\u4e00\u90fd\u5e02\u533a\u6709\u8d85\u8fc73\u4e2a\u63d0\u4f9b\u5546\u8fd0\u8425\uff0c\u5fc5\u987b\u652f\u6301\uff1b\u5728\u6b64\u4e4b\u524d\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ea4\u53c9\u8fde\u63a5\u6216\u5176\u4ed6\u5bf9\u7b49\u4e92\u8054\u5b89\u6392\u4e0e\u5176\u4ed6\u63d0\u4f9b\u5546\u4e92\u8fde\u3002 \u7ba1\u7406 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002 \u63a7\u5236\u53f0 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002"},{"location":"zh/contribute/#dzd","title":"DZD\u7f51\u7edc\u786c\u4ef6","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 AMD* V80* 24540474 \u662f 4 Arista 7280CR3A DCS-7280CR3A-32S \u662f 2 \u5982\u679c\u4ea4\u8d27\u671f\u8f83\u957f\uff0c\u53ef\u80fd\u6709\u66ff\u4ee3\u65b9\u6848\u3002"},{"location":"zh/contribute/#-100g","title":"\u5149\u7ea4 - 100G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 100GBASE-LR QSFP-100G-LR \u5426 16 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002\u8fde\u63a5FPGA\u9700\u8981100G\u3002"},{"location":"zh/contribute/#-10g","title":"\u5149\u7ea4 - 10G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 10GBASE-LR SFP-10G-LR \u5426 2 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u5426 2 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002"},{"location":"zh/contribute/#ip","title":"IP\u5bfb\u5740","text":"IP\u5bfb\u5740 \u6700\u5c0f\u5b50\u7f51\u5927\u5c0f DZ\u8981\u6c42 \u5907\u6ce8 \u516c\u5171IPv4 /29 \u662f\uff08\u5bf9\u4e8e\u8fb9\u7f18/\u6df7\u5408DZD\uff09 \u5fc5\u987b\u901a\u8fc7DIA\u53ef\u8def\u7531\u3002\u6211\u4eec\u53ef\u80fd\u4f1a\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\u6d88\u9664\u6b64\u9700\u6c42\u3002

\u8bf7\u786e\u4fdd\u6574\u4e2a/29\u6c60\u53ef\u7528\u4e8eDZ\u534f\u8bae\u3002\u4efb\u4f55\u70b9\u5bf9\u70b9\u5bfb\u5740\u7684\u8981\u6c42\uff08\u4f8b\u5982DIA\u63a5\u53e3\u4e0a\u7684\uff09\u5e94\u901a\u8fc7\u4e0d\u540c\u7684\u5730\u5740\u6c60\u8fdb\u884c\u7ba1\u7406\u3002

"},{"location":"zh/contribute/#10gbps","title":"10Gbps\u5e26\u5bbd\u8d21\u732e","text":"

\u8bf7\u6ce8\u610f\uff0c\u6570\u91cf\u53cd\u6620\u4e86\u4e24\u4e2a\u6570\u636e\u4e2d\u5fc3\u7684\u8bbe\u5907\uff0c\u5373\u90e8\u7f721\u4e2a\u5e26\u5bbd\u8d21\u732e\u6240\u9700\u7684\u603b\u786c\u4ef6\u3002

"},{"location":"zh/contribute/#_10","title":"\u529f\u80fd\u4e0e\u7aef\u53e3\u8981\u6c42","text":"\u529f\u80fd \u7aef\u53e3\u901f\u5ea6 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 \u79c1\u6709\u5e26\u5bbd 10G \u662f 1 \u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff08DIA\uff09 10G \u662f 2 DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09 100G \u662f* 1 \u4e00\u65e6\u540c\u4e00\u90fd\u5e02\u533a\u6709\u8d85\u8fc73\u4e2a\u63d0\u4f9b\u5546\u8fd0\u8425\uff0c\u5fc5\u987b\u652f\u6301\uff1b\u5728\u6b64\u4e4b\u524d\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ea4\u53c9\u8fde\u63a5\u6216\u5176\u4ed6\u5bf9\u7b49\u4e92\u8054\u5b89\u6392\u4e0e\u5176\u4ed6\u63d0\u4f9b\u5546\u4e92\u8fde\u3002 \u7ba1\u7406 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002 \u63a7\u5236\u53f0 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002"},{"location":"zh/contribute/#_11","title":"\u786c\u4ef6","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 AMD* V80* 24540474* \u662f 4 Arista 7280CR3A DCS-7280CR3A-32S \u662f 2 \u5982\u679c\u4ea4\u8d27\u671f\u8f83\u957f\uff0c\u53ef\u80fd\u6709\u66ff\u4ee3\u65b9\u6848\u3002"},{"location":"zh/contribute/#-100g_1","title":"\u5149\u7ea4 - 100G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 100GBASE-LR QSFP-100G-LR \u5426 14 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002\u8fde\u63a5FPGA\u9700\u8981100G\u3002"},{"location":"zh/contribute/#-10g_1","title":"\u5149\u7ea4 - 10G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 10GBASE-LR SFP-10G-LR \u5426 4 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u5426 4 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002 ---"},{"location":"zh/contribute/#ip_1","title":"IP\u5bfb\u5740","text":"IP\u5bfb\u5740 \u6700\u5c0f\u5b50\u7f51\u5927\u5c0f DZ\u8981\u6c42 \u5907\u6ce8 \u516c\u5171IPv4 /29 \u662f\uff08\u5bf9\u4e8e\u8fb9\u7f18/\u6df7\u5408DZD\uff09 \u5fc5\u987b\u901a\u8fc7DIA\u53ef\u8def\u7531\u3002\u6211\u4eec\u53ef\u80fd\u4f1a\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\u6d88\u9664\u6b64\u9700\u6c42\u3002

\u8bf7\u786e\u4fdd\u6574\u4e2a/29\u6c60\u53ef\u7528\u4e8eDZ\u534f\u8bae\u3002\u4efb\u4f55\u70b9\u5bf9\u70b9\u5bfb\u5740\u7684\u8981\u6c42\uff08\u4f8b\u5982DIA\u63a5\u53e3\u4e0a\u7684\uff09\u5e94\u901a\u8fc7\u4e0d\u540c\u7684\u5730\u5740\u6c60\u8fdb\u884c\u7ba1\u7406\u3002

"},{"location":"zh/contribute/#_12","title":"\u6570\u636e\u4e2d\u5fc3\u8981\u6c42","text":""},{"location":"zh/contribute/#_13","title":"\u673a\u67b6\u4e0e\u7535\u6e90\u8981\u6c42","text":"\u8981\u6c42 \u89c4\u683c \u673a\u67b6\u7a7a\u95f4 4U \u7535\u6e90 4KW\uff08\u63a8\u8350\uff09"},{"location":"zh/contribute/#_14","title":"\u540e\u7eed\u6b65\u9aa4","text":"

\u51c6\u5907\u597d\u914d\u7f6e\u60a8\u7684\u7b2c\u4e00\u4e2aDZD\u4e86\u5417\uff1f\u7ee7\u7eed\u9605\u8bfb\u8bbe\u5907\u914d\u7f6e\u6307\u5357\u3002

"},{"location":"zh/glossary/","title":"\u8bcd\u6c47\u8868","text":"

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.

\u672c\u9875\u9762\u5b9a\u4e49\u4e86\u6587\u6863\u4e2d\u4f7f\u7528\u7684DoubleZero\u4e13\u7528\u672f\u8bed\u3002

"},{"location":"zh/glossary/#_2","title":"\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd","text":""},{"location":"zh/glossary/#dzddoublezero","title":"DZD\uff08DoubleZero\u8bbe\u5907\uff09","text":"

\u7ec8\u6b62DoubleZero\u94fe\u8def\u5e76\u8fd0\u884cDoubleZero\u4ee3\u7406\u8f6f\u4ef6\u7684\u7269\u7406\u7f51\u7edc\u4ea4\u6362\u786c\u4ef6\u3002DZD\u90e8\u7f72\u5728\u6570\u636e\u4e2d\u5fc3\uff0c\u63d0\u4f9b\u8def\u7531\u3001\u6570\u636e\u5305\u5904\u7406\u548c\u7528\u6237\u8fde\u63a5\u670d\u52a1\u3002\u6bcf\u4e2aDZD\u9700\u8981\u7279\u5b9a\u7684\u786c\u4ef6\u89c4\u683c\uff0c\u5e76\u540c\u65f6\u8fd0\u884c\u914d\u7f6e\u4ee3\u7406\u548c\u9065\u6d4b\u4ee3\u7406\u3002

"},{"location":"zh/glossary/#dzxdoublezero","title":"DZX\uff08DoubleZero\u4ea4\u6362\u70b9\uff09","text":"

\u7f51\u72b6\u7f51\u7edc\u4e2d\u4e0d\u540c\u8d21\u732e\u8005\u94fe\u8def\u76f8\u4e92\u6865\u63a5\u7684\u4e92\u8fde\u70b9\u3002DZX\u4f4d\u4e8e\u53d1\u751f\u7f51\u7edc\u4ea4\u53c9\u7684\u4e3b\u8981\u90fd\u5e02\u533a\uff08\u5982\u7ebd\u7ea6\u3001\u4f26\u6566\u3001\u4e1c\u4eac\uff09\u3002\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u6700\u8fd1\u7684DZX\u5c06\u5176\u94fe\u8def\u4ea4\u53c9\u8fde\u63a5\u5230\u66f4\u5e7f\u6cdb\u7684DoubleZero\u7f51\u72b6\u7f51\u7edc\u3002\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e\u4e92\u8054\u7f51\u4ea4\u6362\u70b9\uff08IX\uff09\u3002

"},{"location":"zh/glossary/#wan","title":"WAN\u94fe\u8def","text":"

\u7531\u540c\u4e00\u8d21\u732e\u8005\u8fd0\u8425\u7684\u4e24\u4e2aDZD\u4e4b\u95f4\u7684\u5e7f\u57df\u7f51\u94fe\u8def\u3002WAN\u94fe\u8def\u5728\u5355\u4e2a\u8d21\u732e\u8005\u7684\u57fa\u7840\u8bbe\u65bd\u5185\u63d0\u4f9b\u9aa8\u5e72\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#dzx","title":"DZX\u94fe\u8def","text":"

\u7531\u4e0d\u540c\u8d21\u732e\u8005\u8fd0\u8425\u7684DZD\u4e4b\u95f4\u5728DZX\u5efa\u7acb\u7684\u94fe\u8def\u3002DZX\u94fe\u8def\u9700\u8981\u53cc\u65b9\u660e\u786e\u63a5\u53d7\u3002

"},{"location":"zh/glossary/#dz","title":"DZ\u524d\u7f00","text":"

\u4ee5CIDR\u683c\u5f0f\u5206\u914d\u7ed9DZD\u7684IP\u5730\u5740\u5206\u914d\uff0c\u7528\u4e8e\u8986\u76d6\u7f51\u7edc\u5bfb\u5740\u3002\u5728\u8bbe\u5907\u521b\u5efa\u65f6\u4f7f\u7528--dz-prefixes\u53c2\u6570\u6307\u5b9a\u3002

"},{"location":"zh/glossary/#_3","title":"\u8bbe\u5907\u7c7b\u578b","text":""},{"location":"zh/glossary/#_4","title":"\u8fb9\u7f18\u8bbe\u5907","text":"

\u4e3aDoubleZero\u7f51\u7edc\u63d0\u4f9b\u7528\u6237\u8fde\u63a5\u7684DZD\u3002\u8fb9\u7f18\u8bbe\u5907\u5229\u7528CYOA\u63a5\u53e3\u7ec8\u6b62\u7528\u6237\uff08\u9a8c\u8bc1\u5668\u3001RPC\u8fd0\u8425\u5546\uff09\u5e76\u5c06\u5176\u8fde\u63a5\u5230\u7f51\u7edc\u3002

"},{"location":"zh/glossary/#_5","title":"\u4e2d\u8f6c\u8bbe\u5907","text":"

\u5728DoubleZero\u7f51\u7edc\u5185\u63d0\u4f9b\u9aa8\u5e72\u8fde\u63a5\u7684DZD\u3002\u4e2d\u8f6c\u8bbe\u5907\u5728DZD\u4e4b\u95f4\u4f20\u8f93\u6d41\u91cf\uff0c\u4f46\u4e0d\u76f4\u63a5\u7ec8\u6b62\u7528\u6237\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#_6","title":"\u6df7\u5408\u8bbe\u5907","text":"

\u7ed3\u5408\u8fb9\u7f18\u548c\u4e2d\u8f6c\u529f\u80fd\u7684DZD\uff0c\u540c\u65f6\u63d0\u4f9b\u7528\u6237\u8fde\u63a5\u548c\u9aa8\u5e72\u8def\u7531\u3002

"},{"location":"zh/glossary/#_7","title":"\u8fde\u63a5\u6027","text":""},{"location":"zh/glossary/#cyoa","title":"CYOA\uff08\u81ea\u9009\u5192\u9669\uff09","text":"

\u5141\u8bb8\u8d21\u732e\u8005\u4e3a\u7528\u6237\u6ce8\u518c\u8fde\u63a5\u9009\u9879\u4ee5\u8fde\u63a5\u5230DoubleZero\u7f51\u7edc\u7684\u63a5\u53e3\u7c7b\u578b\u3002CYOA\u63a5\u53e3\u5305\u62ecDIA\u3001GRE\u96a7\u9053\u548c\u79c1\u6709\u5bf9\u7b49\u4e92\u8054\u7b49\u5404\u79cd\u65b9\u6cd5\u3002\u6709\u5173\u914d\u7f6e\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605\u521b\u5efaCYOA\u63a5\u53e3\u3002

"},{"location":"zh/glossary/#dia","title":"DIA\uff08\u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff09","text":"

\u901a\u8fc7\u516c\u5171\u4e92\u8054\u7f51\u63d0\u4f9b\u8fde\u63a5\u7684\u6807\u51c6\u7f51\u7edc\u672f\u8bed\u3002\u5728DoubleZero\u4e2d\uff0cDIA\u662f\u4e00\u79cdCYOA\u63a5\u53e3\u7c7b\u578b\uff0c\u7528\u6237\uff08\u9a8c\u8bc1\u5668\u3001RPC\u8fd0\u8425\u5546\uff09\u901a\u8fc7\u5176\u73b0\u6709\u4e92\u8054\u7f51\u8fde\u63a5\u8fde\u63a5\u5230DZD\u3002

"},{"location":"zh/glossary/#ibrl","title":"IBRL\uff08\u589e\u52a0\u5e26\u5bbd\u51cf\u5c11\u5ef6\u8fdf\uff09","text":"

\u5141\u8bb8\u9a8c\u8bc1\u5668\u548cRPC\u8282\u70b9\u5728\u4e0d\u91cd\u542f\u533a\u5757\u94fe\u5ba2\u6237\u7aef\u7684\u60c5\u51b5\u4e0b\u8fde\u63a5\u5230DoubleZero\u7684\u8fde\u63a5\u6a21\u5f0f\u3002IBRL\u4f7f\u7528\u73b0\u6709\u516c\u5171IP\u5730\u5740\uff0c\u5e76\u5efa\u7acb\u5230\u6700\u8fd1DZD\u7684\u8986\u76d6\u96a7\u9053\u3002\u6709\u5173\u8bbe\u7f6e\u8bf4\u660e\uff0c\u8bf7\u53c2\u9605\u4e3b\u7f51Beta\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#_8","title":"\u591a\u64ad","text":"

DoubleZero\u652f\u6301\u7684\u4e00\u5bf9\u591a\u6570\u636e\u5305\u4f20\u9001\u65b9\u6cd5\u3002\u591a\u64ad\u6a21\u5f0f\u6709\u4e24\u79cd\u89d2\u8272\uff1a\u53d1\u5e03\u8005\uff08\u8de8\u7f51\u7edc\u53d1\u9001\u6570\u636e\u5305\uff09\u548c\u8ba2\u9605\u8005\uff08\u4ece\u53d1\u5e03\u8005\u63a5\u6536\u6570\u636e\u5305\uff09\u3002\u5f00\u53d1\u56e2\u961f\u4f7f\u7528\u6b64\u65b9\u5f0f\u8fdb\u884c\u9ad8\u6548\u7684\u6570\u636e\u5206\u53d1\u3002\u6709\u5173\u8fde\u63a5\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605\u5176\u4ed6\u591a\u64ad\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#_9","title":"\u8f6f\u4ef6\u7ec4\u4ef6","text":""},{"location":"zh/glossary/#doublezerod","title":"doublezerod","text":"

\u8fd0\u884c\u5728\u7528\u6237\u670d\u52a1\u5668\uff08\u9a8c\u8bc1\u5668\u3001RPC\u8282\u70b9\uff09\u4e0a\u7684DoubleZero\u5b88\u62a4\u7a0b\u5e8f\u670d\u52a1\u3002\u5b83\u7ba1\u7406\u5230DoubleZero\u7f51\u7edc\u7684\u8fde\u63a5\u3001\u5904\u7406\u96a7\u9053\u5efa\u7acb\uff0c\u5e76\u7ef4\u6301\u4e0eDZD\u7684\u8fde\u63a5\u3002\u901a\u8fc7systemd\u914d\u7f6e\uff0c\u5e76\u901a\u8fc7doublezero CLI\u63a7\u5236\u3002

"},{"location":"zh/glossary/#doublezerocli","title":"doublezero\uff08CLI\uff09","text":"

\u7528\u4e8e\u4e0eDoubleZero\u7f51\u7edc\u4ea4\u4e92\u7684\u547d\u4ee4\u884c\u754c\u9762\u3002\u7528\u4e8e\u8fde\u63a5\u3001\u7ba1\u7406\u8eab\u4efd\u3001\u68c0\u67e5\u72b6\u6001\u548c\u884c\u653f\u64cd\u4f5c\u3002\u4e0edoublezerod\u5b88\u62a4\u7a0b\u5e8f\u901a\u4fe1\u3002

"},{"location":"zh/glossary/#_10","title":"\u914d\u7f6e\u4ee3\u7406","text":"

\u8fd0\u884c\u5728DZD\u4e0a\u7684\u8f6f\u4ef6\u4ee3\u7406\uff0c\u7ba1\u7406\u8bbe\u5907\u914d\u7f6e\u3002\u4ece\u63a7\u5236\u5668\u670d\u52a1\u8bfb\u53d6\u914d\u7f6e\u5e76\u5c06\u66f4\u6539\u5e94\u7528\u5230\u8bbe\u5907\u3002\u6709\u5173\u8bbe\u7f6e\uff0c\u8bf7\u53c2\u9605\u914d\u7f6e\u4ee3\u7406\u5b89\u88c5\u3002

"},{"location":"zh/glossary/#_11","title":"\u9065\u6d4b\u4ee3\u7406","text":"

\u8fd0\u884c\u5728DZD\u4e0a\u7684\u8f6f\u4ef6\u4ee3\u7406\uff0c\u6536\u96c6\u6027\u80fd\u6307\u6807\uff08\u5ef6\u8fdf\u3001\u6296\u52a8\u3001\u4e22\u5305\uff09\u5e76\u5c06\u5176\u63d0\u4ea4\u5230DoubleZero\u8d26\u672c\u3002\u6709\u5173\u8bbe\u7f6e\uff0c\u8bf7\u53c2\u9605\u9065\u6d4b\u4ee3\u7406\u5b89\u88c5\u3002

"},{"location":"zh/glossary/#_12","title":"\u63a7\u5236\u5668","text":"

\u5411DZD\u4ee3\u7406\u63d0\u4f9b\u914d\u7f6e\u7684\u670d\u52a1\u3002\u63a7\u5236\u5668\u4eceDoubleZero\u8d26\u672c\u4e0a\u7684\u94fe\u4e0a\u72b6\u6001\u6d3e\u751f\u8bbe\u5907\u914d\u7f6e\u3002

"},{"location":"zh/glossary/#_13","title":"\u94fe\u8def\u72b6\u6001","text":""},{"location":"zh/glossary/#_14","title":"\u5df2\u6fc0\u6d3b","text":"

\u94fe\u8def\u7684\u6b63\u5e38\u8fd0\u884c\u72b6\u6001\u3002\u6d41\u91cf\u901a\u8fc7\u94fe\u8def\u6d41\u52a8\uff0c\u5e76\u53c2\u4e0e\u8def\u7531\u51b3\u7b56\u3002

"},{"location":"zh/glossary/#_15","title":"\u8f6f\u6e05\u7a7a","text":"

\u6d41\u91cf\u5c06\u5728\u7279\u5b9a\u94fe\u8def\u4e0a\u88ab\u963b\u6b62\u7684\u7ef4\u62a4\u72b6\u6001\u3002\u7528\u4e8e\u4f18\u96c5\u7684\u7ef4\u62a4\u7a97\u53e3\u3002\u53ef\u4ee5\u8fc7\u6e21\u5230\u5df2\u6fc0\u6d3b\u6216\u786c\u6e05\u7a7a\u3002

"},{"location":"zh/glossary/#_16","title":"\u786c\u6e05\u7a7a","text":"

\u94fe\u8def\u5b8c\u5168\u4ece\u670d\u52a1\u4e2d\u79fb\u9664\u7684\u7ef4\u62a4\u72b6\u6001\u3002\u6ca1\u6709\u6d41\u91cf\u901a\u8fc7\u94fe\u8def\u3002\u5fc5\u987b\u5148\u8fc7\u6e21\u5230\u8f6f\u6e05\u7a7a\u624d\u80fd\u8fd4\u56de\u5230\u5df2\u6fc0\u6d3b\u3002

"},{"location":"zh/glossary/#_17","title":"\u7ec4\u7ec7\u4e0e\u4ee3\u5e01","text":""},{"location":"zh/glossary/#dzfdoublezero","title":"DZF\uff08DoubleZero\u57fa\u91d1\u4f1a\uff09","text":"

DoubleZero\u57fa\u91d1\u4f1a\u662f\u4e00\u4e2a\u65e0\u6210\u5458\u7684\u975e\u8425\u5229\u5f00\u66fc\u7fa4\u5c9b\u57fa\u91d1\u4f1a\u516c\u53f8\uff0c\u6210\u7acb\u76ee\u7684\u662f\u652f\u6301DoubleZero\u7f51\u7edc\u7684\u5f00\u53d1\u3001\u53bb\u4e2d\u5fc3\u5316\u3001\u5b89\u5168\u6027\u548c\u91c7\u7528\u3002

"},{"location":"zh/glossary/#2z","title":"2Z\u4ee3\u5e01","text":"

DoubleZero\u7f51\u7edc\u7684\u539f\u751f\u4ee3\u5e01\u3002\u7528\u4e8e\u652f\u4ed8\u9a8c\u8bc1\u5668\u8d39\u7528\u5e76\u4f5c\u4e3a\u5956\u52b1\u5206\u914d\u7ed9\u8d21\u732e\u8005\u3002\u9a8c\u8bc1\u5668\u53ef\u4ee5\u901a\u8fc7\u94fe\u4e0a\u5151\u6362\u7a0b\u5e8f\u4ee52Z\u652f\u4ed8\u8d39\u7528\u3002\u8bf7\u53c2\u9605\u4f7f\u75282Z\u652f\u4ed8\u8d39\u7528\u548c\u5c06SOL\u5151\u6362\u4e3a2Z\u3002

"},{"location":"zh/glossary/#_18","title":"\u8d21\u732e\u8005","text":"

\u5411DoubleZero\u7f51\u7edc\u8d21\u732e\u5e26\u5bbd\u548c\u786c\u4ef6\u7684\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u3002\u8d21\u732e\u8005\u8fd0\u8425DZD\uff0c\u63d0\u4f9bWAN\u548cDZX\u94fe\u8def\uff0c\u5e76\u56e0\u5176\u8d21\u732e\u800c\u83b7\u5f972Z\u4ee3\u5e01\u6fc0\u52b1\u3002\u8bf7\u53c2\u9605\u8d21\u732e\u8005\u6587\u6863\u4ee5\u5f00\u59cb\u3002

"},{"location":"zh/glossary/#_19","title":"\u7f51\u7edc\u6982\u5ff5","text":""},{"location":"zh/glossary/#mtu","title":"MTU\uff08\u6700\u5927\u4f20\u8f93\u5355\u5143\uff09","text":"

\u53ef\u4ee5\u901a\u8fc7\u7f51\u7edc\u94fe\u8def\u4f20\u8f93\u7684\u6700\u5927\u6570\u636e\u5305\u5927\u5c0f\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\u3002DoubleZero WAN\u94fe\u8def\u901a\u5e38\u4f7f\u7528MTU 9000\uff08\u5de8\u578b\u5e27\uff09\u4ee5\u63d0\u9ad8\u6548\u7387\u3002

"},{"location":"zh/glossary/#vrf","title":"VRF\uff08\u865a\u62df\u8def\u7531\u548c\u8f6c\u53d1\uff09","text":"

\u5141\u8bb8\u540c\u4e00\u7269\u7406\u8def\u7531\u5668\u4e0a\u5b58\u5728\u591a\u4e2a\u9694\u79bb\u8def\u7531\u8868\u7684\u6280\u672f\u3002\u8d21\u732e\u8005\u901a\u5e38\u4f7f\u7528\u5355\u72ec\u7684\u7ba1\u7406VRF\u5c06\u4ea4\u6362\u673a\u7ba1\u7406\u6d41\u91cf\u4e0e\u751f\u4ea7\u6d41\u91cf\u9694\u79bb\u3002

"},{"location":"zh/glossary/#gre","title":"GRE\uff08\u901a\u7528\u8def\u7531\u5c01\u88c5\uff09","text":"

\u5c06\u7f51\u7edc\u6570\u636e\u5305\u5c01\u88c5\u5728IP\u6570\u636e\u5305\u5185\u7684\u96a7\u9053\u534f\u8bae\u3002IBRL\u548cCYOA\u8fde\u63a5\u4f7f\u7528GRE\u5728\u7528\u6237\u548cDZD\u4e4b\u95f4\u521b\u5efa\u8986\u76d6\u96a7\u9053\u3002

"},{"location":"zh/glossary/#bgp","title":"BGP\uff08\u8fb9\u754c\u7f51\u5173\u534f\u8bae\uff09","text":"

\u7528\u4e8e\u5728\u4e92\u8054\u7f51\u4e0a\u7684\u7f51\u7edc\u4e4b\u95f4\u4ea4\u6362\u8def\u7531\u4fe1\u606f\u7684\u8def\u7531\u534f\u8bae\u3002DoubleZero\u5185\u90e8\u4f7f\u7528BGP\uff0cASN\u4e3a65342\u3002

"},{"location":"zh/glossary/#asn","title":"ASN\uff08\u81ea\u6cbb\u7cfb\u7edf\u53f7\uff09","text":"

\u5206\u914d\u7ed9\u7f51\u7edc\u7528\u4e8eBGP\u8def\u7531\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002\u6240\u6709DoubleZero\u8bbe\u5907\u4f7f\u7528ASN 65342\u4f5c\u4e3a\u5185\u90e8BGP\u8fdb\u7a0b\u3002

"},{"location":"zh/glossary/#_20","title":"\u73af\u56de\u63a5\u53e3","text":"

\u8def\u7531\u5668/\u4ea4\u6362\u673a\u4e0a\u7528\u4e8e\u7ba1\u7406\u548c\u8def\u7531\u76ee\u7684\u7684\u865a\u62df\u7f51\u7edc\u63a5\u53e3\u3002DZD\u4f7f\u7528Loopback255\uff08VPNv4\uff09\u548cLoopback256\uff08IPv4\uff09\u8fdb\u884c\u5185\u90e8\u8def\u7531\u3002

"},{"location":"zh/glossary/#cidr","title":"CIDR\uff08\u65e0\u7c7b\u522b\u57df\u95f4\u8def\u7531\uff09","text":"

\u6307\u5b9aIP\u5730\u5740\u8303\u56f4\u7684\u8868\u793a\u6cd5\u3002\u683c\u5f0f\u4e3aIP/\u524d\u7f00\u957f\u5ea6\uff0c\u5176\u4e2d\u524d\u7f00\u957f\u5ea6\u8868\u793a\u7f51\u7edc\u5927\u5c0f\uff08\u5982/29 = 8\u4e2a\u5730\u5740\uff0c/24 = 256\u4e2a\u5730\u5740\uff09\u3002

"},{"location":"zh/glossary/#_21","title":"\u6296\u52a8","text":"

\u968f\u65f6\u95f4\u53d8\u5316\u7684\u6570\u636e\u5305\u5ef6\u8fdf\u53d8\u5316\u3002\u4f4e\u6296\u52a8\u5bf9\u4e8e\u5b9e\u65f6\u5e94\u7528\u81f3\u5173\u91cd\u8981\u3002

"},{"location":"zh/glossary/#rtt","title":"RTT\uff08\u5f80\u8fd4\u65f6\u95f4\uff09","text":"

\u6570\u636e\u5305\u4ece\u6e90\u5230\u76ee\u7684\u5730\u518d\u8fd4\u56de\u6240\u9700\u7684\u65f6\u95f4\u3002\u7528\u4e8e\u6d4b\u91cf\u8bbe\u5907\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

"},{"location":"zh/glossary/#twamp","title":"TWAMP\uff08\u53cc\u5411\u4e3b\u52a8\u6d4b\u91cf\u534f\u8bae\uff09","text":"

\u7528\u4e8e\u6d4b\u91cf\u5ef6\u8fdf\u548c\u4e22\u5305\u7b49\u7f51\u7edc\u6027\u80fd\u6307\u6807\u7684\u534f\u8bae\u3002\u9065\u6d4b\u4ee3\u7406\u4f7f\u7528TWAMP\u6536\u96c6DZD\u4e4b\u95f4\u7684\u6307\u6807\u3002

"},{"location":"zh/glossary/#is-is","title":"IS-IS\uff08\u4e2d\u95f4\u7cfb\u7edf\u5230\u4e2d\u95f4\u7cfb\u7edf\uff09","text":"

DoubleZero\u7f51\u7edc\u5185\u90e8\u4f7f\u7528\u7684\u94fe\u8def\u72b6\u6001\u8def\u7531\u534f\u8bae\u3002\u5728\u94fe\u8def\u6e05\u7a7a\u64cd\u4f5c\u671f\u95f4\u8c03\u6574IS-IS\u6307\u6807\u3002

"},{"location":"zh/glossary/#_22","title":"\u533a\u5757\u94fe\u4e0e\u5bc6\u94a5","text":""},{"location":"zh/glossary/#_23","title":"\u94fe\u4e0a","text":"

\u5728DoubleZero\u8bed\u5883\u4e2d\uff0c\u94fe\u4e0a\u6307\u8bb0\u5f55\u5728DoubleZero\u8d26\u672c\u4e0a\u7684\u6570\u636e\u548c\u64cd\u4f5c\u3002\u4e0e\u4f20\u7edf\u7f51\u7edc\u4e2d\u8bbe\u5907\u548c\u94fe\u8def\u914d\u7f6e\u5b58\u5728\u4e8e\u96c6\u4e2d\u5f0f\u7ba1\u7406\u7cfb\u7edf\u4e0d\u540c\uff0cDoubleZero\u5c06\u8bbe\u5907\u6ce8\u518c\u3001\u94fe\u8def\u914d\u7f6e\u548c\u9065\u6d4b\u63d0\u4ea4\u8bb0\u5f55\u5728\u94fe\u4e0a\u2014\u2014\u4f7f\u6240\u6709\u53c2\u4e0e\u8005\u90fd\u80fd\u900f\u660e\u548c\u53ef\u9a8c\u8bc1\u5730\u4e86\u89e3\u7f51\u7edc\u72b6\u6001\u3002

"},{"location":"zh/glossary/#_24","title":"\u670d\u52a1\u5bc6\u94a5","text":"

\u7528\u4e8e\u9a8c\u8bc1CLI\u64cd\u4f5c\u7684\u52a0\u5bc6\u5bc6\u94a5\u5bf9\u3002\u8fd9\u662f\u60a8\u4e0eDoubleZero\u667a\u80fd\u5408\u7ea6\u4ea4\u4e92\u7684\u8d21\u732e\u8005\u8eab\u4efd\u3002\u5b58\u50a8\u4e8e~/.config/solana/id.json\u3002

"},{"location":"zh/glossary/#_25","title":"\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5","text":"

\u9065\u6d4b\u4ee3\u7406\u7528\u4e8e\u7b7e\u7f72\u5411\u533a\u5757\u94fe\u63d0\u4ea4\u6307\u6807\u7684\u52a0\u5bc6\u5bc6\u94a5\u5bf9\u3002\u4e0e\u670d\u52a1\u5bc6\u94a5\u5206\u5f00\uff0c\u4ee5\u5b9e\u73b0\u5b89\u5168\u9694\u79bb\u3002\u5b58\u50a8\u4e8e~/.config/doublezero/metrics-publisher.json\u3002

"},{"location":"zh/glossary/#_26","title":"\u786c\u4ef6\u4e0e\u8f6f\u4ef6","text":""},{"location":"zh/glossary/#eos","title":"EOS\uff08\u53ef\u6269\u5c55\u64cd\u4f5c\u7cfb\u7edf\uff09","text":"

\u8fd0\u884c\u5728DZD\u4ea4\u6362\u673a\u4e0a\u7684Arista\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u3002\u8d21\u732e\u8005\u5c06\u914d\u7f6e\u4ee3\u7406\u548c\u9065\u6d4b\u4ee3\u7406\u4f5c\u4e3aEOS\u6269\u5c55\u5b89\u88c5\u3002

"},{"location":"zh/glossary/#eos_1","title":"EOS\u6269\u5c55","text":"

\u53ef\u4ee5\u5b89\u88c5\u5728Arista EOS\u4ea4\u6362\u673a\u4e0a\u7684\u8f6f\u4ef6\u5305\u3002DZ\u4ee3\u7406\u4ee5.rpm\u6587\u4ef6\u5f62\u5f0f\u5206\u53d1\uff0c\u901a\u8fc7extension\u547d\u4ee4\u5b89\u88c5\u3002

"},{"location":"zh/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"zh/multicast-admin/#doublezero","title":"DoubleZero\u4e2d\u7684\u591a\u64ad\u7ec4\u7ba1\u7406","text":"

\u591a\u64ad\u7ec4\u662f\u5171\u4eab\u516c\u5171\u6807\u8bc6\u7b26\uff08\u901a\u5e38\u662f\u591a\u64adIP\u5730\u5740\uff09\u7684\u8bbe\u5907\u6216\u7f51\u7edc\u8282\u70b9\u7684\u903b\u8f91\u96c6\u5408\uff0c\u7528\u4e8e\u9ad8\u6548\u5730\u5411\u591a\u4e2a\u63a5\u6536\u8005\u4f20\u8f93\u6570\u636e\u3002\u4e0e\u5355\u64ad\uff08\u4e00\u5bf9\u4e00\uff09\u6216\u5e7f\u64ad\uff08\u4e00\u5bf9\u5168\u90e8\uff09\u901a\u4fe1\u4e0d\u540c\uff0c\u591a\u64ad\u4f7f\u53d1\u9001\u65b9\u80fd\u591f\u4f20\u8f93\u5355\u4e2a\u6570\u636e\u6d41\uff0c\u7f51\u7edc\u4ec5\u4e3a\u5df2\u52a0\u5165\u8be5\u7ec4\u7684\u63a5\u6536\u8005\u590d\u5236\u8be5\u6570\u636e\u6d41\u3002

\u8fd9\u79cd\u65b9\u6cd5\u4f18\u5316\u4e86\u5e26\u5bbd\u4f7f\u7528\uff0c\u5e76\u51cf\u5c11\u4e86\u53d1\u9001\u65b9\u548c\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u7684\u8d1f\u8f7d\uff0c\u56e0\u4e3a\u6570\u636e\u5305\u5728\u6bcf\u6761\u94fe\u8def\u4e0a\u53ea\u4f20\u8f93\u4e00\u6b21\uff0c\u4ec5\u5728\u5fc5\u8981\u65f6\u624d\u4f1a\u590d\u5236\u4ee5\u5230\u8fbe\u591a\u4e2a\u8ba2\u9605\u8005\u3002\u591a\u64ad\u7ec4\u901a\u5e38\u7528\u4e8e\u5b9e\u65f6\u89c6\u9891\u6d41\u3001\u4f1a\u8bae\u3001\u91d1\u878d\u6570\u636e\u5206\u53d1\u548c\u5b9e\u65f6\u6d88\u606f\u7cfb\u7edf\u7b49\u573a\u666f\u3002

\u5728DoubleZero\u4e2d\uff0c\u591a\u64ad\u7ec4\u63d0\u4f9b\u4e86\u4e00\u79cd\u5b89\u5168\u4e14\u53d7\u63a7\u7684\u673a\u5236\uff0c\u7528\u4e8e\u7ba1\u7406\u8c01\u53ef\u4ee5\u5728\u6bcf\u4e2a\u7ec4\u5185\u53d1\u9001\uff08\u53d1\u5e03\u8005\uff09\u548c\u63a5\u6536\uff08\u8ba2\u9605\u8005\uff09\u6570\u636e\uff0c\u786e\u4fdd\u9ad8\u6548\u4e14\u53d7\u6cbb\u7406\u7684\u4fe1\u606f\u5206\u53d1\u3002

flowchart LR\n    subgraph \u53d1\u5e03\u8005\n        P1[\u53d1\u5e03\u8005 1]\n        P2[\u53d1\u5e03\u8005 2]\n        P3[\u53d1\u5e03\u8005 3]\n    end\n    subgraph \u8ba2\u9605\u8005\n        S1[\u8ba2\u9605\u8005 1]\n        S2[\u8ba2\u9605\u8005 2]\n        S3[\u8ba2\u9605\u8005 3]\n        S4[\u8ba2\u9605\u8005 4]\n    end\n    P1 --> B[\u591a\u64ad\u7ec4]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

\u4e0a\u56fe\u663e\u793a\u4e86\u591a\u4e2a\u7528\u6237\u5982\u4f55\u5411\u591a\u64ad\u7ec4\u53d1\u5e03\u6d88\u606f\uff0c\u4ee5\u53ca\u591a\u4e2a\u7528\u6237\u5982\u4f55\u8ba2\u9605\u63a5\u6536\u8fd9\u4e9b\u6d88\u606f\u3002DoubleZero\u7f51\u7edc\u9ad8\u6548\u5730\u590d\u5236\u6570\u636e\u5305\uff0c\u786e\u4fdd\u6240\u6709\u8ba2\u9605\u8005\u90fd\u80fd\u6536\u5230\u6d88\u606f\uff0c\u800c\u4e0d\u4f1a\u4ea7\u751f\u4e0d\u5fc5\u8981\u7684\u4f20\u8f93\u5f00\u9500\u3002

"},{"location":"zh/multicast-admin/#1","title":"1. \u521b\u5efa\u548c\u5217\u51fa\u591a\u64ad\u7ec4","text":"

\u591a\u64ad\u7ec4\u662fDoubleZero\u4e2d\u5b89\u5168\u9ad8\u6548\u6570\u636e\u5206\u53d1\u7684\u57fa\u7840\u3002\u6bcf\u4e2a\u7ec4\u90fd\u6709\u552f\u4e00\u6807\u8bc6\uff0c\u5e76\u914d\u7f6e\u4e86\u7279\u5b9a\u7684\u5e26\u5bbd\u548c\u6240\u6709\u8005\u3002\u53ea\u6709DoubleZero\u57fa\u91d1\u4f1a\u7ba1\u7406\u5458\u624d\u80fd\u521b\u5efa\u65b0\u7684\u591a\u64ad\u7ec4\uff0c\u786e\u4fdd\u9002\u5f53\u7684\u6cbb\u7406\u548c\u8d44\u6e90\u5206\u914d\u3002

\u521b\u5efa\u540e\uff0c\u53ef\u4ee5\u5217\u51fa\u591a\u64ad\u7ec4\uff0c\u4ee5\u63d0\u4f9b\u6240\u6709\u53ef\u7528\u7ec4\u3001\u5176\u914d\u7f6e\u548c\u5f53\u524d\u72b6\u6001\u7684\u6982\u89c8\u3002\u8fd9\u5bf9\u4e8e\u7f51\u7edc\u8fd0\u8425\u5546\u548c\u7ec4\u6240\u6709\u8005\u76d1\u63a7\u8d44\u6e90\u548c\u7ba1\u7406\u8bbf\u95ee\u81f3\u5173\u91cd\u8981\u3002

\u521b\u5efa\u591a\u64ad\u7ec4\uff1a

\u53ea\u6709DoubleZero\u57fa\u91d1\u4f1a\u624d\u80fd\u521b\u5efa\u65b0\u7684\u591a\u64ad\u7ec4\u3002\u521b\u5efa\u547d\u4ee4\u9700\u8981\u552f\u4e00\u4ee3\u7801\u3001\u6700\u5927\u5e26\u5bbd\u548c\u6240\u6709\u8005\u516c\u94a5\uff08\u6216\u5f53\u524d\u4ed8\u6b3e\u4eba\u7684\"me\"\uff09\u3002

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

\u5217\u51fa\u6240\u6709\u591a\u64ad\u7ec4\uff1a

\u8981\u5217\u51fa\u6240\u6709\u591a\u64ad\u7ec4\u5e76\u67e5\u770b\u6458\u8981\u4fe1\u606f\uff08\u5305\u62ec\u7ec4\u4ee3\u7801\u3001\u591a\u64adIP\u3001\u5e26\u5bbd\u3001\u53d1\u5e03\u8005\u548c\u8ba2\u9605\u8005\u6570\u91cf\u3001\u72b6\u6001\u548c\u6240\u6709\u8005\uff09\uff1a

doublezero multicast group list\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u6b64\u547d\u4ee4\u663e\u793a\u5305\u542b\u6240\u6709\u591a\u64ad\u7ec4\u53ca\u5176\u4e3b\u8981\u5c5e\u6027\u7684\u8868\u683c\uff1a - account\uff1a\u7ec4\u8d26\u6237\u5730\u5740 - code\uff1a\u591a\u64ad\u7ec4\u4ee3\u7801 - multicast_ip\uff1a\u5206\u914d\u7ed9\u7ec4\u7684\u591a\u64adIP\u5730\u5740 - max_bandwidth\uff1a\u7ec4\u5141\u8bb8\u7684\u6700\u5927\u5e26\u5bbd - publishers\uff1a\u7ec4\u4e2d\u7684\u53d1\u5e03\u8005\u6570\u91cf - subscribers\uff1a\u7ec4\u4e2d\u7684\u8ba2\u9605\u8005\u6570\u91cf - status\uff1a\u5f53\u524d\u72b6\u6001\uff08\u5982activated\uff09 - owner\uff1a\u6240\u6709\u8005\u516c\u94a5

\u521b\u5efa\u7ec4\u540e\uff0c\u6240\u6709\u8005\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u7528\u6237\u53ef\u4ee5\u4f5c\u4e3a\u53d1\u5e03\u8005\u6216\u8ba2\u9605\u8005\u8fde\u63a5\u3002

"},{"location":"zh/multicast-admin/#2","title":"2. \u7ba1\u7406\u53d1\u5e03\u8005/\u8ba2\u9605\u8005\u5141\u8bb8\u5217\u8868","text":"

\u53d1\u5e03\u8005\u548c\u8ba2\u9605\u8005\u5141\u8bb8\u5217\u8868\u5bf9\u4e8e\u63a7\u5236DoubleZero\u4e2d\u591a\u64ad\u7ec4\u7684\u8bbf\u95ee\u81f3\u5173\u91cd\u8981\u3002\u8fd9\u4e9b\u5217\u8868\u660e\u786e\u5b9a\u4e49\u4e86\u54ea\u4e9b\u7528\u6237\u88ab\u5141\u8bb8\u5728\u7279\u5b9a\u591a\u64ad\u7ec4\u5185\u53d1\u5e03\uff08\u53d1\u9001\u6570\u636e\uff09\u6216\u8ba2\u9605\uff08\u63a5\u6536\u6570\u636e\uff09\u3002

\u7ba1\u7406\u8fd9\u4e9b\u5217\u8868\u662f\u7ec4\u6240\u6709\u8005\u7684\u8d23\u4efb\uff0c\u4ed6\u53ef\u4ee5\u4f7f\u7528DoubleZero CLI\u6dfb\u52a0\u3001\u5220\u9664\u6216\u67e5\u770b\u6388\u6743\u7684\u53d1\u5e03\u8005\u548c\u8ba2\u9605\u8005\u3002\u9002\u5f53\u7684\u5141\u8bb8\u5217\u8868\u7ba1\u7406\u5bf9\u4e8e\u7ef4\u62a4\u591a\u64ad\u901a\u4fe1\u7684\u5b89\u5168\u6027\u3001\u5b8c\u6574\u6027\u548c\u53ef\u8ffd\u6eaf\u6027\u81f3\u5173\u91cd\u8981\u3002

\u6ce8\u610f\uff1a \u8981\u8ba2\u9605\u6216\u53d1\u5e03\u5230\u591a\u64ad\u7ec4\uff0c\u7528\u6237\u5fc5\u987b\u9996\u5148\u6309\u7167\u6807\u51c6\u8fde\u63a5\u7a0b\u5e8f\u83b7\u5f97\u8fde\u63a5\u5230DoubleZero\u7684\u6388\u6743\u3002\u8fd9\u91cc\u63cf\u8ff0\u7684\u5141\u8bb8\u5217\u8868\u547d\u4ee4\u4ec5\u5c06\u5df2\u6388\u6743\u7684DoubleZero\u7528\u6237\u4e0e\u591a\u64ad\u7ec4\u5173\u8054\u3002\u5c06\u65b0IP\u6dfb\u52a0\u5230\u591a\u64ad\u7ec4\u7684\u5141\u8bb8\u5217\u8868\u672c\u8eab\u4e0d\u6388\u4e88\u5bf9DoubleZero\u7684\u8bbf\u95ee\u6743\u9650\uff1b\u7528\u6237\u5fc5\u987b\u5728\u4e0e\u591a\u64ad\u7ec4\u4ea4\u4e92\u4e4b\u524d\u5df2\u5b8c\u6210\u4e00\u822c\u6388\u6743\u6d41\u7a0b\u3002

"},{"location":"zh/multicast-admin/#_1","title":"\u5c06\u53d1\u5e03\u8005\u6dfb\u52a0\u5230\u5141\u8bb8\u5217\u8868","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_2","title":"\u4ece\u5141\u8bb8\u5217\u8868\u4e2d\u5220\u9664\u53d1\u5e03\u8005","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_3","title":"\u5217\u51fa\u7ec4\u7684\u53d1\u5e03\u8005\u5141\u8bb8\u5217\u8868","text":"

\u8981\u5217\u51fa\u7279\u5b9a\u591a\u64ad\u7ec4\u5141\u8bb8\u5217\u8868\u4e2d\u7684\u6240\u6709\u53d1\u5e03\u8005\uff0c\u8bf7\u4f7f\u7528\uff1a

doublezero multicast group allowlist publisher list --code <CODE>\n

\u793a\u4f8b\uff1a

doublezero multicast group allowlist publisher list --code mg01\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u6b64\u547d\u4ee4\u663e\u793a\u5f53\u524d\u5141\u8bb8\u8fde\u63a5\u5230\u6307\u5b9a\u7ec4\u7684\u6240\u6709\u53d1\u5e03\u8005\uff0c\u5305\u62ec\u5176\u8d26\u6237\u3001\u7ec4\u4ee3\u7801\u3001\u5ba2\u6237\u7aefIP\u548c\u7528\u6237\u4ed8\u6b3e\u4eba\u3002

"},{"location":"zh/multicast-admin/#_4","title":"\u5c06\u8ba2\u9605\u8005\u6dfb\u52a0\u5230\u5141\u8bb8\u5217\u8868","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_5","title":"\u4ece\u5141\u8bb8\u5217\u8868\u4e2d\u5220\u9664\u8ba2\u9605\u8005","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_6","title":"\u5217\u51fa\u7ec4\u7684\u8ba2\u9605\u8005\u5141\u8bb8\u5217\u8868","text":"

\u8981\u5217\u51fa\u7279\u5b9a\u591a\u64ad\u7ec4\u5141\u8bb8\u5217\u8868\u4e2d\u7684\u6240\u6709\u8ba2\u9605\u8005\uff0c\u8bf7\u4f7f\u7528\uff1a

doublezero multicast group allowlist subscriber list --code <CODE>\n

\u793a\u4f8b\uff1a

doublezero multicast group allowlist subscriber list --code mg01\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u6b64\u547d\u4ee4\u663e\u793a\u5f53\u524d\u5141\u8bb8\u8fde\u63a5\u5230\u6307\u5b9a\u7ec4\u7684\u6240\u6709\u8ba2\u9605\u8005\uff0c\u5305\u62ec\u5176\u8d26\u6237\u3001\u7ec4\u4ee3\u7801\u3001\u5ba2\u6237\u7aefIP\u548c\u7528\u6237\u4ed8\u6b3e\u4eba\u3002

\u6709\u5173\u8fde\u63a5\u548c\u4f7f\u7528\u591a\u64ad\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5176\u4ed6\u591a\u64ad\u8fde\u63a5\u3002

"},{"location":"zh/paying-fees/","title":"\u9a8c\u8bc1\u5668\u5b9a\u4ef7\u4e0e\u8d39\u7528","text":"

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.

\u4e3aSolana\u9a8c\u8bc1\u5668\u63d0\u4f9b\u7b80\u5355\u3001\u4e00\u81f4\u7684\u5b9a\u4ef7

\u8d39\u7528\u5c06\u4ece\u7b2c859\u4e2aepoch\u5f00\u59cb\u5f81\u6536\uff0c\u8be5epoch\u4ece\u7f8e\u56fd\u4e1c\u90e8\u65f6\u95f410\u67084\u65e5\uff08\u5468\u516d\uff09\u51cc\u66684\u70b9\u5f00\u59cb\u3002\u5bf9\u533a\u5757\u7b7e\u540d\u5956\u52b1\u548c\u4f18\u5148\u8d39\u7528\u6536\u53d6\u7edf\u4e005%\u7684\u8d39\u7528\u3002

\u8fd9\u4e9b\u8d39\u7528\u76f4\u63a5\u8d44\u52a9\u4f7fDoubleZero\u6210\u4e3a\u53ef\u80fd\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u5305\u62ec\u7269\u7406\u5149\u7ea4\u7ebf\u8def\u548c\u6570\u636e\u4e2d\u5fc3\u8bbe\u5907\u3002

\u6709\u5173\u8d39\u7528\u5b58\u5728\u539f\u56e0\u53ca\u9a8c\u8bc1\u5668\u5b9a\u4ef7\u6a21\u578b\u7684\u6df1\u5165\u63a2\u8ba8\uff0c\u8bf7\u53c2\u9605\u6b64\u5904\u3002

\u672c\u6307\u5357\u4ece\u6280\u672f\u89d2\u5ea6\u91cd\u70b9\u4ecb\u7ecd\u5982\u4f55\u652f\u4ed8\u8d39\u7528\u3002

"},{"location":"zh/paying-fees/#_2","title":"\u7ed3\u7b97\u6a21\u5f0f","text":""},{"location":"zh/paying-fees/#_3","title":"\u4f30\u7b97\u8d39\u7528","text":"

\u5386\u53f2\u4f30\u7b97\u548c\u6bcf\u4e2a\u516c\u94a5\u7684\u6570\u636e\u53ef\u5728\u8d39\u7528\u4f30\u7b97\u4ed3\u5e93\u4e2d\u83b7\u53d6\u3002\u8be5\u4ed3\u5e93\u4e0d\u66ff\u4ee3\u94fe\u4e0a\u6570\u636e\u3002\u60a8\u8d1f\u8d23\u94fe\u4e0a\u4f59\u989d\uff0c\u800c\u975e\u6b64\u4ed3\u5e93\u4e2d\u7684\u4f59\u989d\u3002

\u95ee\u9898\uff1f\u8bf7\u8054\u7cfbNihar Shah\uff1anihar@doublezero.us

"},{"location":"zh/paying-fees/#_4","title":"\u5f00\u53d1\u8005\u8be6\u60c5","text":""},{"location":"zh/paying-fees/#_5","title":"\u547d\u4ee4\u884c\u754c\u9762","text":"

DoubleZero CLI\u63d0\u4f9b\u547d\u4ee4\u6765\u7ba1\u7406\u9a8c\u8bc1\u5668\u5b58\u6b3e\u548c\u76d1\u63a7\u4f59\u989d\u3002 \u60a8\u9700\u8981\u5728\u8fd0\u884c\u8fd9\u4e9b\u547d\u4ee4\u7684\u8d26\u6237\u4e2d\u62e5\u6709SOL\u6765\u652f\u4ed8gas\u8d39\u7528\u3002

"},{"location":"zh/paying-fees/#1","title":"\u6b65\u9aa41\uff1a\u4e86\u89e3\u6b20\u6b3e","text":"

\u8981\u67e5\u770b\u7279\u5b9a\u5730\u5740\u7684\u503a\u52a1\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u683c\u5f0f\uff1a

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
\u6211\u4eec\u5c06\u5728\u4e0b\u9762\u68c0\u67e5\u793a\u4f8b\u8f93\u51fa\uff1a

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
\u5728\u793a\u4f8b\u8f93\u51fa\u4e2d\uff0cnote\u4e0b\u6709\u4e24\u79cd\u4e0d\u540c\u7684\u53ef\u80fd\u8f93\u51fa\u3002Not funded\u8868\u793a\u8d26\u6237\u5c1a\u672a\u8d44\u91d1\u5316\u3002\u5728\u793a\u4f8b\u4e2d\uff0c0.632515639 SOL needed\u662f\u4e0e\u76ee\u6807\u9a8c\u8bc1\u5668ID\u76f8\u5173\u7684\u6240\u6709\u5f53\u524d\u6b20\u6b3e\u6240\u9700\u7684\u672a\u507f\u8fd8SOL\u91d1\u989d\u3002

"},{"location":"zh/paying-fees/#2","title":"\u6b65\u9aa42\uff1a\u652f\u4ed8\u6b20\u6b3e","text":"

Note

\u60a8\u53ef\u4ee5\u5b89\u6392\u6b64\u547d\u4ee4\u5b9a\u671f\u8fd0\u884c\u3002

\u8981\u507f\u8fd8\u6b20\u6b3e\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u3002\u8fd9\u5c06\u81ea\u52a8\u4f7f\u7528$HOME/.config/solana/id.json\u4e2d\u7684\u9ed8\u8ba4\u5bc6\u94a5\u5bf9\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728\u547d\u4ee4\u672b\u5c3e\u6dfb\u52a0\u53c2\u6570-k path/to/keypair.json\u6765\u6307\u5b9a\u60a8\u8981\u7528\u4e8e\u652f\u4ed8\u503a\u52a1\u7684\u5bc6\u94a5\u5bf9\u3002

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
\u4ee5\u4e0b\u63d0\u4f9b\u793a\u4f8b\u8f93\u51fa

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: \u8fd4\u56de\u5df2\u8d44\u91d1\u5316\u7684\u5b58\u6b3e\u8d26\u6237

Funded: \u8fd4\u56de\u4ea4\u6613\u54c8\u5e0c\uff0c\u60a8\u53ef\u4ee5\u5728\u60a8\u559c\u6b22\u7684Solana\u6d4f\u89c8\u5668\u4e2d\u67e5\u8be2

Node ID: \u8fd4\u56de\u5df2\u652f\u4ed8\u7684\u9a8c\u8bc1\u5668ID

Balance: \u8fd4\u56de\u8f6c\u8d26\u5b8c\u6210\u540e\u5b58\u6b3e\u8d26\u6237\u4e2d\u7684SOL\u91d1\u989d

"},{"location":"zh/paying-fees2z/","title":"Paying fees2z","text":"

\u5728\u8bbf\u95ee\u6216\u4f7f\u7528\u4ee3\u7801\u6216\u76f8\u5173\u6750\u6599\u4e4b\u524d\uff0c\u8bf7\u67e5\u770b\u514d\u8d23\u58f0\u660e\u3002

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.

\u514d\u8d23\u58f0\u660e

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u4ec5\u4f9b\u4fe1\u606f\u548c\u6280\u672f\u76ee\u7684\u63d0\u4f9b\u3002\u672c\u6587\u4e2d\u63cf\u8ff0\u7684\u4ee3\u5e01\u8f6c\u6362\u529f\u80fd\u662f\u975e\u6258\u7ba1\u578b\u7684\u3002\u7528\u6237\u76f4\u63a5\u4e0e\u5e95\u5c42\u667a\u80fd\u5408\u7ea6\u4ea4\u4e92\uff0c\u59cb\u7ec8\u5b8c\u5168\u63a7\u5236\u81ea\u5df1\u7684\u8d44\u4ea7\u3002

\u8be5\u7cfb\u7edf\u53ef\u80fd\u4f9d\u8d56\u4e8e\u6216\u4e0e\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u672a\u5f00\u53d1\u3001\u7ba1\u7406\u6216\u5ba1\u67e5\u7684\u7b2c\u4e09\u65b9\u4ee3\u7801\u3001\u6570\u636e\u6e90\u6216\u4ef7\u683c\u548c\u8d39\u7528\u673a\u5236\uff08\u4f8b\u5982\u667a\u80fd\u5408\u7ea6\u3001API\u6216\u53bb\u4e2d\u5fc3\u5316\u4ea4\u6613\u6240\uff09\u4ea4\u4e92\u3002\u5bf9\u7b2c\u4e09\u65b9\u7ec4\u4ef6\u7684\u51c6\u786e\u6027\u3001\u529f\u80fd\u6216\u5b89\u5168\u6027\u4e0d\u4f5c\u4efb\u4f55\u58f0\u660e\u6216\u4fdd\u8bc1\u3002 \u672c\u4ee3\u7801\u7684\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4fdd\u8bc1\u5176\u51c6\u786e\u6027\u3001\u5b8c\u6574\u6027\u6216\u6301\u7eed\u53ef\u7528\u6027\u3002\u4ee3\u7801\u548c\u76f8\u5173\u6750\u6599\u6309\"\u539f\u6837\"\uff08AS IS\uff09\u63d0\u4f9b\uff0c\u53ef\u80fd\u5305\u542b\u9519\u8bef\u3001\u7f3a\u9677\u6216\u6f0f\u6d1e\u3002\u4f7f\u7528\u98ce\u9669\u81ea\u8d1f\u3002 \u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4f1a\u56e0\u4f7f\u7528\u8fd9\u4e9b\u5408\u7ea6\u800c\u6536\u53d6\u4efb\u4f55\u8d39\u7528\u3002\u5bf9\u4ee3\u7801\u6216\u76f8\u5173\u6587\u6863\u6ca1\u6709\u7ef4\u62a4\u3001\u66f4\u65b0\u6216\u652f\u6301\u7684\u4e49\u52a1\u3002

\u672c\u6587\u4ef6\u4e0d\u662f\u5bf9\u53c2\u4e0e\u4ee3\u5e01\u8f6c\u6362\u3001\u5151\u6362\u6216\u5176\u4ed6\u4ea4\u6613\u7684\u63a8\u4ecb\u3001\u62db\u63fd\u6216\u5efa\u8bae\u3002\u4e0d\u63d0\u4f9b\u6cd5\u5f8b\u3001\u8d22\u52a1\u6216\u6295\u8d44\u5efa\u8bae\u3002 \u7528\u6237\u5355\u72ec\u8d1f\u8d23\u786e\u5b9a\u5176\u6d3b\u52a8\u7684\u5408\u6cd5\u6027\u3002\u5728\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u4e4b\u524d\uff0c\u5fc5\u987b\u67e5\u9605\u9002\u7528\u4e8e\u5176\u53f8\u6cd5\u7ba1\u8f96\u533a\u7684\u6cd5\u5f8b\u6cd5\u89c4\uff0c\u5e76\u54a8\u8be2\u72ec\u7acb\u987e\u95ee\u3002\u5728\u8fdd\u6cd5\u7684\u5730\u65b9\u4f7f\u7528\u662f\u88ab\u7981\u6b62\u7684\uff0c\u5305\u62ec\u53d7\u5236\u88c1\u7684\u4e2a\u4eba\u6216\u7ec4\u7ec7\u6216\u53d7\u9650\u5730\u533a\u7684\u4f7f\u7528\u3002

\u5728\u6cd5\u5f8b\u5141\u8bb8\u7684\u6700\u5927\u8303\u56f4\u5185\uff0c\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u5426\u8ba4\u56e0\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u800c\u5f15\u8d77\u7684\u6216\u4e0e\u4e4b\u76f8\u5173\u7684\u6240\u6709\u635f\u5931\u3001\u635f\u5bb3\u6216\u7d22\u8d54\u7684\u4efb\u4f55\u8d23\u4efb\u3002

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u7684\u5ba1\u67e5\u548c\u4f7f\u7528\u987b\u9075\u5b88\u7f51\u7ad9\u4f7f\u7528\u6761\u6b3e\u548c\u534f\u8bae\u4f7f\u7528\u6761\u6b3e\u3002

\u9a8c\u8bc1\u5668\u53ef\u4ee5\u901a\u8fc7\u94fe\u4e0a\u5151\u6362\u7a0b\u5e8f\u4ee52Z\u652f\u4ed8\u8d39\u7528\u3002\u901a\u8fc7\u5c062Z\u5151\u6362\u4e3aSOL\u6765\u6267\u884c\u5151\u6362\u3002\u5b58\u6b3e\u8d26\u6237\u7684SOL\u4f59\u989d\u4f1a\u6839\u636e\u5151\u6362\u60c5\u51b5\u66f4\u65b0\u3002

\u6b64\u8fc7\u7a0b\u59cb\u7ec8\u4f7f\u75281 SOL\u7684\u589e\u91cf\u3002\u6b64\u5151\u6362\u7684\u7ed3\u679c\u59cb\u7ec8\u76f4\u63a5\u5b58\u5165\u5b58\u6b3e\u8d26\u6237\u3002\u8fd9\u662f\u5355\u5411\u7684\uff0c\u60a8\u65e0\u6cd5\u4ece\u6b64\u4ea4\u6613\u4e2d\u53d6\u56de2Z\u6216SOL\u3002\u5b83\u88ab\u53d1\u9001\u5230\u94fe\u4e0a\u5206\u914d\u6a21\u5757\u3002

"},{"location":"zh/paying-fees2z/#1","title":"\u6b65\u9aa41","text":"

\u9996\u5148\u68c0\u67e5\u5f53\u524d\u8f6c\u6362\u6c47\u7387

doublezero-solana revenue-distribution fetch sol-conversion\n

\u8f93\u51fa\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"zh/paying-fees2z/#2","title":"\u6b65\u9aa42","text":"

\u63d0\u4ea4\u9650\u4ef7\u8ba2\u5355\u3002\u6b64\u5151\u6362\u7531\u60a8\u81ea\u884c\u627f\u62c5\u98ce\u9669\u3002\u6211\u4eec\u4e0d\u5efa\u8bae\u4efb\u4f55\u98ce\u9669\u504f\u597d\uff0c\u6b64\u5904\u63d0\u4f9b\u7684\u793a\u4f8b\u4ec5\u4f9b\u6559\u80b2\u76ee\u7684\u3002

"},{"location":"zh/paying-fees2z/#_1","title":"\u5982\u4f55\u6784\u5efa\u9650\u4ef7\u8ba2\u5355","text":"

\u57fa\u4e8e\u4e0a\u9762\u7684\u793a\u4f8b\uff0c\u6211\u4eec\u5c06\u63d0\u4ea4\u6bd4\u4f30\u8ba1\u4ef7\u683c\u9ad85%\u7684\u9650\u4ef7\u8ba2\u5355\u3002 797.76 * 1.05 = 837.65

\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u5047\u8bbe\u5b58\u6b3e\u8d26\u6237\u4e2d\u67090 SOL\u3002

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684--fund 1\u660e\u786e\u5411\u5b58\u6b3e\u8d26\u6237\u6ce8\u51651 SOL\u3002

\u9009\u62e91\u4ee5\u5916\u7684\u6570\u5b57\u5c06\u5bfc\u81f4\u9519\u8bef\uff0c\u5e76\u901a\u77e5\u60a8\u9519\u8bef\u7684\u91d1\u989d\uff1a

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

\u7cfb\u7edf\u5c06\u8981\u6c42\u60a8\u786e\u8ba4\u4ea4\u6613\uff1a

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

\u8f93\u51fa\uff1a

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
\u8bf7\u6ce8\u610f\uff0c\u5151\u6362\u6210\u529f\u540e\uff0cBalance:\u5c06\u66f4\u65b0\u4e3a1 SOL\u3002

\u5982\u679c\u4ef7\u683c\u8d85\u51fa\u6307\u5b9a\u8303\u56f4\uff0c\u5c06\u53d1\u751f\u4ee5\u4e0b\u7c7b\u578b\u7684\u9519\u8bef\uff1a

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"zh/quick-connect/","title":"\u5feb\u901f\u8fde\u63a5","text":"

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.

\u56de\u7b54\u51e0\u4e2a\u95ee\u9898\uff0c\u6211\u4eec\u5c06\u4e3a\u60a8\u7684\u8bbe\u7f6e\u751f\u6210\u5305\u542b\u786e\u5207\u6b65\u9aa4\u548c\u547d\u4ee4\u7684\u4e2a\u6027\u5316\u8fde\u63a5\u6307\u5357\u3002

\u7b80\u5316\u6307\u5357

\u672c\u5411\u5bfc\u63d0\u4f9b\u5b8c\u6574\u6587\u6863\u4e2d\u7684\u5173\u952e\u7247\u6bb5\uff0c\u5e2e\u52a9\u60a8\u5c3d\u5feb\u5b8c\u6210\u8fde\u63a5\u3002\u5b8c\u6574\u8be6\u60c5\u8bf7\u53c2\u9605\u8bbe\u7f6e\u548c\u79df\u6237\u6307\u5357\u3002

\u60a8\u8981\u8fde\u63a5\u54ea\u4e2a\u7f51\u7edc\uff1f \u4e3b\u7f51Beta \u9002\u7528\u4e8e\u6d3b\u8dc3\u9a8c\u8bc1\u5668\u548cRPC\u8fd0\u8425\u5546\u7684\u751f\u4ea7\u7f51\u7edc \u6d4b\u8bd5\u7f51 \u6d4b\u8bd5\u548c\u5f00\u53d1\u7f51\u7edc \u60a8\u7684\u670d\u52a1\u5668\u8fd0\u884c\u4ec0\u4e48\u64cd\u4f5c\u7cfb\u7edf\uff1f Ubuntu / Debian Ubuntu 22.04+ \u6216 Debian 11+ Rocky Linux / RHEL Rocky Linux \u6216 RHEL 8+ \u54ea\u4e2a\u751f\u6001\u7cfb\u7edf\uff1f Solana Solana\u4e0a\u7684\u9a8c\u8bc1\u5668\u548cRPC\u8fd0\u8425\u5546 Shelby Shelby\u4e0a\u7684RPC\u548c\u5b58\u50a8\u8282\u70b9\uff08\u4ec5\u9650\u6d4b\u8bd5\u7f51\uff09 \u65b0\u79df\u6237 \u5176\u4ed6\u751f\u6001\u7cfb\u7edf \u60a8\u4f7f\u7528\u54ea\u79cd\u9632\u706b\u5899\u5de5\u5177\uff1f iptables \u76f4\u63a5iptables\u89c4\u5219 UFW \u7b80\u5355\u9632\u706b\u5899 \u60a8\u8fd0\u884c\u4ec0\u4e48\u7c7b\u578b\u7684\u8282\u70b9\uff1f \u9a8c\u8bc1\u5668 \u5177\u6709\u8eab\u4efd\u5bc6\u94a5\u5bf9\u7684\u9886\u5bfc\u8005\u8c03\u5ea6Solana\u9a8c\u8bc1\u5668 \u975e\u9a8c\u8bc1\u5668\uff08RPC\uff09 RPC\u8282\u70b9\u6216MEV\u57fa\u7840\u8bbe\u65bd \u60a8\u9700\u8981\u4ec0\u4e48\u8fde\u63a5\u6a21\u5f0f\uff1f \u5355\u64ad\uff08IBRL\uff09 \u6807\u51c6\u70b9\u5bf9\u70b9\u8fde\u63a5 \u591a\u64ad \u4e00\u5bf9\u591a\u6570\u636e\u5305\u4f20\u9001\uff08\u53d1\u5e03\u8005/\u8ba2\u9605\u8005\uff09 \u4e24\u8005 \u540c\u65f6\u4f7f\u7528\u5355\u64ad\u548c\u591a\u64ad\u96a7\u9053 \u60a8\u7684\u591a\u64ad\u89d2\u8272\u662f\u4ec0\u4e48\uff1f \u53d1\u5e03\u8005 \u5411\u591a\u64ad\u7ec4\u53d1\u9001\u6570\u636e\uff08\u5982\u533a\u5757\u751f\u4ea7\u8005\uff09 \u8ba2\u9605\u8005 \u4ece\u591a\u64ad\u7ec4\u63a5\u6536\u6570\u636e"},{"location":"zh/setup/","title":"DoubleZero\u8bbe\u7f6e\u65b9\u6cd5","text":"

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.

\u672f\u8bed

\u521d\u6b21\u4f7f\u7528DoubleZero\uff1f\u8bf7\u5728\u8bcd\u6c47\u8868\u4e2d\u67e5\u770bdoublezerod\u3001IBRL\u3001DZD\u7b49\u672f\u8bed\u7684\u5b9a\u4e49\u3002

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u60a8\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/setup/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Warning

\u5bf9\u4e8e\u9a8c\u8bc1\u5668\uff1aDoubleZero\u5fc5\u987b\u76f4\u63a5\u5b89\u88c5\u5728\u9a8c\u8bc1\u5668\u4e3b\u673a\u4e0a\uff0c\u800c\u4e0d\u662f\u5bb9\u5668\u4e2d\u3002

"},{"location":"zh/setup/#doublezero_1","title":"\u8fde\u63a5\u5230DoubleZero","text":"

DoubleZero\u6d4b\u8bd5\u7f51\u548cDoubleZero\u4e3b\u7f51Beta\u662f\u7269\u7406\u4e0a\u4e0d\u540c\u7684\u7f51\u7edc\u3002\u5b89\u88c5\u65f6\u8bf7\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u3002

\u52a0\u5165DoubleZero\u65f6\uff0c\u60a8\u5c06\u5efa\u7acbDoubleZero\u8eab\u4efd\uff08\u79f0\u4e3aDoubleZero ID\u7684\u516c\u94a5\uff09\u3002\u6b64\u5bc6\u94a5\u662fDoubleZero\u8bc6\u522b\u60a8\u673a\u5668\u7684\u65b9\u5f0f\u4e4b\u4e00\u3002

"},{"location":"zh/setup/#1-doublezero","title":"1. \u5b89\u88c5DoubleZero\u8f6f\u4ef6\u5305","text":"

\u5f53\u524d\u7248\u672c

\u8f6f\u4ef6\u5305 \u4e3b\u7f51Beta \u6d4b\u8bd5\u7f51 doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

\u6839\u636e\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u6309\u7167\u4ee5\u4e0b\u8bf4\u660e\u64cd\u4f5c\uff1a

"},{"location":"zh/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

\u4e3b\u7f51Beta\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

\u6d4b\u8bd5\u7f51\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"zh/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

\u4e3b\u7f51Beta\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u6d4b\u8bd5\u7f51\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u4ec5\u9650\u73b0\u6709\u7528\u6237\uff1a\u5c06\u8f6f\u4ef6\u5305\u4ece\u6d4b\u8bd5\u7f51\u5207\u6362\u5230\u4e3b\u7f51Beta\uff0c\u6216\u4ece\u4e3b\u7f51Beta\u5207\u6362\u5230\u6d4b\u8bd5\u7f51

\u4ece\u4e0a\u8ff0\u8f6f\u4ef6\u5305\u4ed3\u5e93\u5b89\u88c5\u65f6\uff0cDoubleZero\u6d4b\u8bd5\u7f51\u6216DoubleZero\u4e3b\u7f51Beta\u5404\u6709\u5176\u4e13\u7528\u4ed3\u5e93\u3002\u5982\u679c\u60a8\u5728\u67d0\u4e2a\u65f6\u5019\u9700\u8981\u5207\u6362\u7f51\u7edc\uff0c\u5219\u9700\u8981\u5220\u9664\u4e4b\u524d\u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\u4ed3\u5e93\u5e76\u66f4\u65b0\u5230\u76ee\u6807\u4ed3\u5e93\u3002

\u6b64\u793a\u4f8b\u5c55\u793a\u4e86\u4ece\u6d4b\u8bd5\u7f51\u8fc1\u79fb\u5230\u4e3b\u7f51Beta\u7684\u8fc7\u7a0b\u3002

\u901a\u8fc7\u5c06\u6b65\u9aa43\u66ff\u6362\u4e3a\u4e0a\u8ff0\u6d4b\u8bd5\u7f51\u5b89\u88c5\u547d\u4ee4\uff0c\u4e5f\u53ef\u4ee5\u4ee5\u76f8\u540c\u6b65\u9aa4\u5b8c\u6210\u4ece\u4e3b\u7f51Beta\u5230\u6d4b\u8bd5\u7f51\u7684\u8fc1\u79fb\u3002

  1. \u627e\u5230\u65e7\u7684\u4ed3\u5e93\u6587\u4ef6

    \u9996\u5148\uff0c\u8bc6\u522b\u7cfb\u7edf\u4e0a\u73b0\u6709\u7684DoubleZero\u4ed3\u5e93\u914d\u7f6e\u6587\u4ef6\uff1a

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. \u5220\u9664\u65e7\u7684\u4ed3\u5e93\u6587\u4ef6

    \u5220\u9664\u4e0a\u4e00\u6b65\u4e2d\u627e\u5230\u7684\u65e7\u4ed3\u5e93\u6587\u4ef6\u3002\u4f8b\u5982\uff1a

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. \u4ece\u65b0\u4ed3\u5e93\u5b89\u88c5

    \u6dfb\u52a0\u65b0\u7684\u4e3b\u7f51Beta\u4ed3\u5e93\u5e76\u5b89\u88c5\u6700\u65b0\u8f6f\u4ef6\u5305\uff1a

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"zh/setup/#doublezerod","title":"\u68c0\u67e5doublezerod\u72b6\u6001","text":"

\u8f6f\u4ef6\u5305\u5b89\u88c5\u540e\uff0c\u5c06\u5b89\u88c5\u3001\u6fc0\u6d3b\u5e76\u542f\u52a8\u65b0\u7684systemd\u5355\u5143\u3002\u8981\u68c0\u67e5\u72b6\u6001\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

sudo systemctl status doublezerod\n

"},{"location":"zh/setup/#grebgp","title":"GRE\u548cBGP\u7684\u9632\u706b\u5899\u914d\u7f6e","text":"

DoubleZero\u4f7f\u7528GRE\u96a7\u9053\uff08IP\u534f\u8bae47\uff09\u548cBGP\u8def\u7531\uff08\u94fe\u8def\u672c\u5730\u5730\u5740\u7684tcp/179\uff09\u3002\u8bf7\u786e\u4fdd\u60a8\u7684\u9632\u706b\u5899\u5141\u8bb8\u8fd9\u4e9b\u534f\u8bae\uff1a

\u7528iptables\u5141\u8bb8GRE\u548cBGP\uff1a

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

\u6216\u7528UFW\u5141\u8bb8GRE\u548cBGP\uff1a

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"zh/setup/#2-doublezero","title":"2. \u521b\u5efa\u65b0\u7684DoubleZero\u8eab\u4efd","text":"

\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5728\u670d\u52a1\u5668\u4e0a\u521b\u5efaDoubleZero\u8eab\u4efd\uff1a

doublezero keygen\n

Info

\u5982\u679c\u60a8\u6709\u60f3\u8981\u4f7f\u7528\u7684\u73b0\u6709ID\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u53ef\u9009\u6b65\u9aa4\u64cd\u4f5c\u3002

\u521b\u5efadoublezerod\u914d\u7f6e\u76ee\u5f55

mkdir -p ~/.config/doublezero\n

\u5c06\u60a8\u60f3\u5728DoubleZero\u4e2d\u4f7f\u7528\u7684id.json\u590d\u5236\u6216\u94fe\u63a5\u5230doublezero\u914d\u7f6e\u76ee\u5f55\u3002

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"zh/setup/#3-doublezero","title":"3. \u83b7\u53d6\u670d\u52a1\u5668\u7684DoubleZero\u8eab\u4efd","text":"

\u786e\u8ba4\u60a8\u7684DoubleZero\u8eab\u4efd\u3002\u6b64\u8eab\u4efd\u7528\u4e8e\u5728\u60a8\u7684\u673a\u5668\u4e0eDoubleZero\u4e4b\u95f4\u521b\u5efa\u8fde\u63a5\u3002

doublezero address\n

\u8f93\u51fa\uff1a

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"zh/setup/#4-doublezeroddz","title":"4. \u786e\u8ba4doublezerod\u5df2\u68c0\u6d4b\u5230DZ\u8bbe\u5907","text":"

\u5728\u8fde\u63a5\u4e4b\u524d\uff0c\u786e\u8ba4doublezerod\u5df2\u68c0\u6d4b\u5e76ping\u4e86\u6bcf\u4e2a\u53ef\u7528\u7684DZ\u6d4b\u8bd5\u7f51\u4ea4\u6362\u673a\uff1a

doublezero latency\n

\u793a\u4f8b\u8f93\u51fa\uff1a

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

\u5982\u679c\u8f93\u51fa\u4e2d\u672a\u663e\u793a\u8bbe\u5907\uff0c\u8bf7\u7b49\u5f8510\u81f320\u79d2\u540e\u91cd\u8bd5\u3002

"},{"location":"zh/setup/#5-doublezero","title":"5. \u4eceDoubleZero\u65ad\u5f00\u8fde\u63a5","text":"

\u4e0b\u4e00\u8282\u5c06\u914d\u7f6eDoubleZero\u73af\u5883\u3002\u4e3a\u786e\u4fdd\u6210\u529f\uff0c\u8bf7\u65ad\u5f00\u5f53\u524d\u4f1a\u8bdd\u7684\u8fde\u63a5\u3002\u8fd9\u53ef\u4ee5\u907f\u514d\u673a\u5668\u4e0a\u6253\u5f00\u591a\u4e2a\u96a7\u9053\u7684\u95ee\u9898\u3002

\u786e\u8ba4

doublezero status\n

\u5982\u679c\u72b6\u6001\u4e3aup\uff0c\u8bf7\u8fd0\u884c\uff1a

doublezero disconnect\n
"},{"location":"zh/setup/#_2","title":"\u4e0b\u4e00\u6b65\uff1a\u79df\u6237","text":"

\u8fde\u63a5\u5230DoubleZero\u56e0\u4f7f\u7528\u573a\u666f\u800c\u5f02\u3002\u5728DoubleZero\u4e2d\uff0c\u79df\u6237\u662f\u5177\u6709\u76f8\u4f3c\u7528\u6237\u914d\u7f6e\u6587\u4ef6\u7684\u7fa4\u7ec4\u3002\u4f8b\u5982\uff1a\u533a\u5757\u94fe\u3001\u6570\u636e\u4f20\u8f93\u5c42\u7b49\u3002

"},{"location":"zh/setup/#_3","title":"\u5728\u6b64\u5904\u9009\u62e9\u79df\u6237\u5e76\u7ee7\u7eed","text":""},{"location":"zh/setup/#prometheus","title":"\u53ef\u9009\uff1a\u542f\u7528Prometheus\u6307\u6807","text":"

\u719f\u6089Prometheus\u6307\u6807\u7684\u8fd0\u8425\u5546\u53ef\u80fd\u5e0c\u671b\u4e3aDoubleZero\u76d1\u63a7\u542f\u7528\u5b83\u3002\u8fd9\u5c06\u4f7f\u60a8\u80fd\u591f\u4e86\u89e3DoubleZero\u5ba2\u6237\u7aef\u7684\u6027\u80fd\u3001\u8fde\u63a5\u72b6\u6001\u548c\u8fd0\u8425\u5065\u5eb7\u72b6\u51b5\u3002

"},{"location":"zh/setup/#_4","title":"\u53ef\u7528\u6307\u6807","text":"

DoubleZero\u516c\u5f00\u51e0\u4e2a\u5173\u952e\u6307\u6807\uff1a - \u6784\u5efa\u4fe1\u606f\uff1a\u7248\u672c\u3001\u63d0\u4ea4\u54c8\u5e0c\u3001\u6784\u5efa\u65e5\u671f - \u4f1a\u8bdd\u72b6\u6001\uff1aDoubleZero\u4f1a\u8bdd\u662f\u5426\u6d3b\u8dc3 - \u8fde\u63a5\u6307\u6807\uff1a\u5ef6\u8fdf\u548c\u8fde\u63a5\u4fe1\u606f - \u6027\u80fd\u6570\u636e\uff1a\u541e\u5410\u91cf\u548c\u9519\u8bef\u7387

"},{"location":"zh/setup/#prometheus_1","title":"\u542f\u7528Prometheus\u6307\u6807","text":"

\u8981\u5728DoubleZero\u5ba2\u6237\u7aef\u4e0a\u542f\u7528Prometheus\u6307\u6807\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

"},{"location":"zh/setup/#1-doublezerod-systemd","title":"1. \u4fee\u6539doublezerod systemd\u670d\u52a1\u542f\u52a8\u547d\u4ee4","text":"

\u521b\u5efa\u6216\u7f16\u8f91systemd\u8986\u76d6\u914d\u7f6e\uff1a

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

\u66ff\u6362\u4e3a\u6b64\u914d\u7f6e\uff1a

-env\u6807\u5fd7\u5e94\u6839\u636e\u60a8\u60f3\u6536\u96c6\u6570\u636e\u7684\u7f51\u7edc\u6307\u5411testnet\u6216mainnet-beta\u3002\u793a\u4f8b\u5757\u4e2d\u4f7f\u7528\u4e86testnet\u3002\u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u66f4\u6539\u4e3amainnet-beta\u3002

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"zh/setup/#2","title":"2. \u91cd\u65b0\u52a0\u8f7d\u5e76\u91cd\u542f\u670d\u52a1","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"zh/setup/#3","title":"3. \u786e\u8ba4\u6307\u6807\u53ef\u7528","text":"

\u786e\u8ba4\u6307\u6807\u7aef\u70b9\u6b63\u5728\u54cd\u5e94\uff1a

curl -s localhost:2113/metrics | grep doublezero\n

\u9884\u671f\u8f93\u51fa\uff1a

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"zh/setup/#_5","title":"\u6545\u969c\u6392\u9664","text":"

\u5982\u679c\u6307\u6807\u672a\u663e\u793a\uff1a

  1. \u68c0\u67e5\u670d\u52a1\u72b6\u6001\uff1asudo systemctl status doublezerod
  2. \u9a8c\u8bc1\u914d\u7f6e\uff1asudo systemctl cat doublezerod
  3. \u68c0\u67e5\u65e5\u5fd7\uff1asudo journalctl -u doublezerod -f
  4. \u6d4b\u8bd5\u7aef\u70b9\uff1acurl -v localhost:2113/metrics
  5. \u68c0\u67e5\u7aef\u53e3\uff1anetstat -tlnp | grep 2113
"},{"location":"zh/setup/#prometheus_2","title":"\u914d\u7f6ePrometheus\u670d\u52a1\u5668","text":"

\u914d\u7f6e\u548c\u5b89\u5168\u6027\u8d85\u51fa\u672c\u6587\u6863\u7684\u8303\u56f4\u3002 Grafana\u662f\u53ef\u89c6\u5316\u7684\u4f18\u79c0\u9009\u9879\uff0cGrafana\u6587\u6863\u6b64\u5904\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u6536\u96c6Prometheus\u6307\u6807\u3002

"},{"location":"zh/setup/#grafana","title":"Grafana\u4eea\u8868\u677f\uff08\u53ef\u9009\uff09","text":"

\u5bf9\u4e8e\u53ef\u89c6\u5316\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528DoubleZero\u6307\u6807\u521b\u5efaGrafana\u4eea\u8868\u677f\u3002\u5e38\u89c1\u9762\u677f\u5305\u62ec\uff1a - \u968f\u65f6\u95f4\u53d8\u5316\u7684\u4f1a\u8bdd\u72b6\u6001 - \u6784\u5efa\u4fe1\u606f - \u8fde\u63a5\u5ef6\u8fdf\u8d8b\u52bf - \u9519\u8bef\u7387\u76d1\u63a7

"},{"location":"zh/tenant/","title":"\u79df\u6237","text":"

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\u4e0a\u7684\u79df\u6237\u662f\u5177\u6709\u76f8\u4f3c\u914d\u7f6e\u548c\u8fde\u63a5\u9700\u6c42\u7684\u7528\u6237\u7fa4\u7ec4\uff0c\u901a\u5e38\u4ee3\u8868\u4e0d\u540c\u7684\u533a\u5757\u94fe\u751f\u6001\u7cfb\u7edf\u3001\u6570\u636e\u4f20\u8f93\u5c42\u6216\u5206\u5e03\u5f0f\u7cfb\u7edf\u3002

\u8bf7\u67e5\u770b\u4e0b\u8868\uff0c\u9009\u62e9\u6700\u80fd\u63cf\u8ff0\u60a8\u8ba1\u5212\u5982\u4f55\u4e0eDoubleZero\u7f51\u7edc\u4ea4\u4e92\u7684\u7528\u4f8b\u3002

Solana

\u7528\u4f8b \u4e0b\u4e00\u6b65 Solana\u4e3b\u7f51\u9a8c\u8bc1\u5668\uff0c\u5305\u62ec\u5907\u4efd DoubleZero\u4e3b\u7f51Beta\u8fde\u63a5 Solana\u6d4b\u8bd5\u7f51\u9a8c\u8bc1\u5668\uff0c\u5305\u62ec\u5907\u4efd DoubleZero\u6d4b\u8bd5\u7f51\u8fde\u63a5 \u975e\u9a8c\u8bc1\u5668 - RPC\u53ca\u5176\u4ed6 DoubleZero\u4e3b\u7f51Beta\u548c\u6d4b\u8bd5\u7f51\u8fde\u63a5

Shelby

\u7528\u4f8b \u4e0b\u4e00\u6b65 Shelby\u6d4b\u8bd5\u7f51RPC\u548c\u5b58\u50a8\u8282\u70b9 DoubleZero\u6d4b\u8bd5\u7f51\u8fde\u63a5

\u65b0\u79df\u6237

\u7528\u4f8b \u4e0b\u4e00\u6b65 \u60a8\u6709\u65b0\u534f\u8bae\u3001\u5e94\u7528\u7a0b\u5e8f\u6216\u5176\u4ed6\u7528\u4f8b\u5e0c\u671b\u5229\u7528DoubleZero \u6dfb\u52a0\u65b0\u79df\u6237"},{"location":"zh/troubleshooting/","title":"\u6545\u969c\u6392\u9664","text":"

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.

\u672c\u6307\u5357\u5c06\u6db5\u76d6\u5404\u79cd\u95ee\u9898\uff0c\u5e76\u6301\u7eed\u66f4\u65b0\u3002\u5982\u679c\u60a8\u5b8c\u6210\u4e86\u672c\u6307\u5357\u4ecd\u9700\u8fdb\u4e00\u6b65\u652f\u6301\uff0c\u53ef\u4ee5\u5728DoubleZero Tech Discord\u4e2d\u5bfb\u6c42\u5e2e\u52a9\u3002

"},{"location":"zh/troubleshooting/#_2","title":"\u5e38\u7528\u547d\u4ee4\u548c\u8f93\u51fa","text":"

\u9996\u5148\u68c0\u67e5\u4ee5\u4e0b\u547d\u4ee4\u7684\u8f93\u51fa\u53ca\u5176\u9884\u671f\u8f93\u51fa\u3002\u8fd9\u5c06\u5e2e\u52a9\u60a8\u8fdb\u884c\u66f4\u8be6\u7ec6\u7684\u6545\u969c\u6392\u9664\u3002 \u5982\u679c\u60a8\u63d0\u4ea4\u5de5\u5355\uff0c\u53ef\u80fd\u4f1a\u88ab\u8981\u6c42\u63d0\u4f9b\u8fd9\u4e9b\u8f93\u51fa\u3002

"},{"location":"zh/troubleshooting/#1","title":"1. \u68c0\u67e5\u7248\u672c","text":"

\u547d\u4ee4\uff1a

doublezero --version

\u793a\u4f8b\u8f93\u51fa\uff1a

DoubleZero 0.6.3\n

"},{"location":"zh/troubleshooting/#2-doublezero","title":"2. \u68c0\u67e5DoubleZero\u5730\u5740","text":"

\u547d\u4ee4\uff1a

doublezero address

\u793a\u4f8b\u8f93\u51fa\uff1a

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"zh/troubleshooting/#3","title":"3. \u9a8c\u8bc1\u60a8\u7684\u8bbf\u95ee\u901a\u884c\u8bc1","text":"

\u793a\u4f8b\u516c\u94a5\uff1aMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u8fd0\u884c\u547d\u4ee4\u65f6\u8bf7\u66ff\u6362\u4e3a\u60a8\u7684\u516c\u94a5\u3002

\u547d\u4ee4\uff1a

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

\u8f93\u51fa\uff1a[\u6ce8\u610f\u6211\u4eec\u4f7f\u7528doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'\u5728\u6b64\u8f93\u51fa\u4e2d\u663e\u793a\u6807\u9898]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"zh/troubleshooting/#4-doublezero","title":"4. \u68c0\u67e5DoubleZero\u8d26\u672c\u4f59\u989d","text":"

\u547d\u4ee4\uff1a

doublezero balance

\u793a\u4f8b\u8f93\u51fa\uff1a

0.78 Credits\n

"},{"location":"zh/troubleshooting/#5","title":"5. \u68c0\u67e5\u8fde\u63a5\u72b6\u6001","text":"

\u547d\u4ee4\uff1a

doublezero status

\u793a\u4f8b\u8f93\u51fa\uff1a

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"zh/troubleshooting/#6","title":"6. \u68c0\u67e5\u5ef6\u8fdf","text":"

\u547d\u4ee4\uff1a

doublezero latency

\u793a\u4f8b\u8f93\u51fa\uff1a

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"zh/troubleshooting/#_3","title":"\u6545\u969c\u6392\u9664\u793a\u4f8b","text":"

\u73b0\u5728\u6211\u4eec\u5df2\u68c0\u67e5\u4e86\u57fa\u672c\u8f93\u51fa\u53ca\u5065\u5eb7\u90e8\u7f72\u4e2d\u7684\u9884\u671f\u5185\u5bb9\uff0c\u53ef\u4ee5\u68c0\u67e5\u4e00\u4e9b\u5e38\u89c1\u7684\u6545\u969c\u6392\u9664\u793a\u4f8b\u3002

"},{"location":"zh/troubleshooting/#_4","title":"\u95ee\u9898\uff1a\u274c \u521b\u5efa\u7528\u6237\u65f6\u51fa\u9519","text":"

\u6b64\u95ee\u9898\u901a\u5e38\u4e0e\u9884\u671f\u7684\u516c\u94a5/IP\u914d\u5bf9\u4e0e\u7528\u6237\u5c1d\u8bd5\u8bbf\u95eeDoubleZero\u7684\u516c\u94a5/IP\u914d\u5bf9\u4e0d\u5339\u914d\u6709\u5173\u3002

\u75c7\u72b6\uff1a - \u4f7f\u7528doublezero connect ibrl\u8fde\u63a5\u65f6\uff0c\u7528\u6237\u9047\u5230\u274c Error creating user

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u68c0\u67e5

`doublezero address`\n\n\u793a\u4f8b\u8f93\u51fa\uff1a\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. \u9a8c\u8bc1\u6b64\u5730\u5740\u5df2\u88ab\u5217\u5165\u767d\u540d\u5355\uff1a

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    \u793a\u4f8b\u8f93\u51fa\uff1a

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    doublezero address\u7684\u516c\u94a5\u5fc5\u987b\u4e0euser_payer\u516c\u94a5\u5339\u914d\uff0c\u4e14\u60a8\u5c1d\u8bd5\u8fde\u63a5\u7684IP\u5730\u5740\u5fc5\u987b\u4e0e\u8bbf\u95ee\u901a\u884c\u8bc1\u4e2d\u7684ip\u5339\u914d\u3002 doublezero address\u6765\u6e90\u4e8e\u9ed8\u8ba4\u60c5\u51b5\u4e0b~/.config/doublezero/\u4e2d\u7684id.json\u6587\u4ef6\u3002\u8bf7\u53c2\u9605\u6b64\u5904\u7684\u6b65\u9aa46

  2. \u5982\u679c\u4e0a\u8ff0\u5185\u5bb9\u770b\u8d77\u6765\u6b63\u786e\u4f46\u60a8\u5728\u8fde\u63a5\u65f6\u9047\u5230\u9519\u8bef\uff0c\u6216\u8005\u5982\u679c\u4e0a\u8ff0\u6620\u5c04\u4e0d\u6b63\u786e\uff0c\u8bf7\u5728DoubleZero Tech\u8054\u7cfb\u652f\u6301

"},{"location":"zh/troubleshooting/#_5","title":"\u95ee\u9898\uff1a\u274c \u914d\u7f6e\u670d\u52a1\u65f6\u51fa\u9519\uff1a\u683c\u5f0f\u9519\u8bef\uff1a\u65e0\u6cd5\u540c\u65f6\u914d\u7f6e\u591a\u4e2a\u96a7\u9053","text":"

\u6b64\u9519\u8bef\u8868\u793a\u8bbe\u5907\u5df2\u8fde\u63a5\u5230DoubleZero\u3002

\u75c7\u72b6\uff1a - \u7528\u6237\u5c1d\u8bd5\u8fde\u63a5\u5230DoubleZero - \u9047\u5230\u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time\u3002

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u68c0\u67e5 doublezero status

\u8f93\u51fa\uff1a\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up\u8868\u793a\u8fde\u63a5\u6b63\u5e38\u3002
  2. \u51fa\u73b0\u6b64\u9519\u8bef\u662f\u56e0\u4e3a\u5177\u6709\u7279\u5b9aDoubleZero IP\u7684\u5230DoubleZero\u7684\u96a7\u9053\u5df2\u5728\u6b64\u673a\u5668\u4e0a\u5904\u4e8e\u6d3b\u8dc3\u72b6\u6001\u3002

    \u6b64\u9519\u8bef\u901a\u5e38\u5728DoubleZero\u5ba2\u6237\u7aef\u5347\u7ea7\u540e\u9047\u5230\u3002DoubleZero\u5347\u7ea7\u4f1a\u81ea\u52a8\u91cd\u542fdoublezerod\u670d\u52a1\uff0c\u5982\u679c\u60a8\u5728\u670d\u52a1\u91cd\u542f\u4e4b\u524d\u5df2\u8fde\u63a5\uff0c\u5c06\u4f1a\u91cd\u65b0\u8fde\u63a5\u60a8\u3002

"},{"location":"zh/troubleshooting/#doublezerounknowndown","title":"\u95ee\u9898\uff1aDoubleZero\u72b6\u6001\u4e3aunknown\u6216down","text":"

\u6b64\u95ee\u9898\u901a\u5e38\u4e0e\u670d\u52a1\u5668\u548cDoubleZero\u8bbe\u5907\u4e4b\u95f4\u7684GRE\u96a7\u9053\u5df2\u6210\u529f\u6fc0\u6d3b\uff0c\u4f46\u9632\u706b\u5899\u963b\u6b62BGP\u4f1a\u8bdd\u5efa\u7acb\u6709\u5173\u3002\u56e0\u6b64\uff0c\u60a8\u6ca1\u6709\u4ece\u7f51\u7edc\u63a5\u6536\u8def\u7531\u6216\u901a\u8fc7DoubleZero\u53d1\u9001\u6d41\u91cf\u3002

\u75c7\u72b6\uff1a - doublezero connect ibrl\u6210\u529f\u3002\u4f46\u662f\uff0cdoublezero status\u8fd4\u56dedown\u6216unknown

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u68c0\u67e5\u60a8\u7684\u9632\u706b\u5899\u89c4\u5219\uff01

DoubleZero\u4f7f\u7528\u94fe\u8def\u672c\u5730\u5730\u5740\u7a7a\u95f4\uff1a169.254.0.0/16\u7528\u4e8e\u60a8\u7684\u673a\u5668\u548cDoubleZero\u8bbe\u5907\u4e4b\u95f4\u7684GRE\u96a7\u9053\u63a5\u53e3\u3002169.254.0.0/16\u901a\u5e38\u662f\"\u4e0d\u53ef\u8def\u7531\"\u7684\u5730\u5740\u7a7a\u95f4\uff0c\u56e0\u6b64\u826f\u597d\u7684\u5b89\u5168\u5b9e\u8df5\u4f1a\u5efa\u8bae\u60a8\u963b\u6b62\u4e0e\u6b64\u5730\u5740\u7a7a\u95f4\u4e4b\u95f4\u7684\u901a\u4fe1\u3002\u60a8\u9700\u8981\u5728\u9632\u706b\u5899\u4e2d\u5141\u8bb8\u4e00\u6761\u89c4\u5219\uff0c\u4f7fsrc 169.254.0.0/16\u53ef\u4ee5\u4e0edst 169.254.0.0/16\u5728tcp\u7aef\u53e3179\u4e0a\u901a\u4fe1\u3002\u8be5\u89c4\u5219\u9700\u8981\u653e\u5728\u4efb\u4f55\u62d2\u7edd169.254.0.0/16\u6d41\u91cf\u7684\u89c4\u5219\u4e4b\u4e0a\u3002

\u5728ufw\u7b49\u9632\u706b\u5899\u4e2d\uff0c\u60a8\u53ef\u4ee5\u8fd0\u884c`sudo ufw status`\u67e5\u770b\u9632\u706b\u5899\u89c4\u5219\uff0c\u4ee5\u53ca\n\n\u793a\u4f8b\u8f93\u51fa\uff0c\u53ef\u80fd\u7c7b\u4f3c\u4e8eSolana\u9a8c\u8bc1\u5668\u4f1a\u6709\u7684\u5185\u5bb9\uff1a\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\n\u5728\u4e0a\u9762\u7684\u8f93\u51fa\u4e2d\uff0c\u60a8\u53ef\u4ee5\u770b\u5230\u9664\u4e86\u6307\u5b9a\u7aef\u53e3\u5916\uff0c\u6240\u6709\u5230169.254.0.0/16\u7684\u6d41\u91cf\u90fd\u88ab\u62d2\u7edd\u3002\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179`\u5c06\u89c4\u5219\u63d2\u5165\u5230<N>\u4f4d\u7f6e\u3002\u5373\u5982\u679cN=1\uff0c\u5219\u5c06\u6b64\u89c4\u5219\u63d2\u5165\u4e3a\u7b2c\u4e00\u6761\u89c4\u5219\u3002\n`sudo ufw status numbered`\u5c06\u663e\u793a\u89c4\u5219\u7684\u6570\u5b57\u6392\u5e8f\u3002\n
"},{"location":"zh/troubleshooting/#doublezero","title":"\u95ee\u9898\uff1a\u6700\u8fd1\u7684DoubleZero\u8bbe\u5907\u5df2\u66f4\u6539","text":"

\u8fd9\u4e0d\u662f\u4e00\u4e2a\u9519\u8bef\uff0c\u4f46\u53ef\u4ee5\u662f\u4e00\u79cd\u4f18\u5316\u3002\u4ee5\u4e0b\u662f\u53ef\u4ee5\u4e0d\u65f6\u8fd0\u884c\u6216\u81ea\u52a8\u5316\u7684\u6700\u4f73\u5b9e\u8df5\u3002

\u89e3\u51b3\u65b9\u6848\uff1a

  1. \u68c0\u67e5\u5230\u6700\u8fd1\u8bbe\u5907\u7684\u5ef6\u8fdf

    • \u8fd0\u884cdoublezero latency

      \u8f93\u51fa

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      \u6ce8\u610f\u4e0a\u9762\u6700\u8fd1\u7684\u8bbe\u5907\u662fdz-ny7-sw01

      \u6211\u4eec\u60f3\u8981\u8fde\u63a5\u5230\u6b64\u8bbe\u5907\u3002\uff1a

  2. \u786e\u5b9a\u60a8\u662f\u5426\u5df2\u8fde\u63a5\u5230\u76ee\u6807\u8bbe\u5907

    • \u8fd0\u884cdoublezero user list --env testnet | grep 111.11.11.11\uff0c\u5c06111.11.11.11\u66ff\u6362\u4e3a\u60a8\u5df2\u8fde\u63a5\u5230DoubleZero\u7684\u8bbe\u5907\u7684\u516c\u5171IPv4\u5730\u5740\u3002\u60a8\u4e5f\u53ef\u4ee5\u4f7f\u7528\u60a8\u7684\u9a8c\u8bc1\u5668ID\u6216DoubleZero ID\u3002

      \u8f93\u51fa

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      \u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5df2\u8fde\u63a5\u5230\u6700\u8fd1\u7684\u8bbe\u5907\u3002\u65e0\u9700\u66f4\u591a\u6b65\u9aa4\uff0c\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u91cc\u505c\u6b62\u3002

      \u8ba9\u6211\u4eec\u8003\u8651\u5982\u679c\u8f93\u51fa\u4e3a account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \u8fd9\u5c06\u662f\u4e00\u4e2a\u6b21\u4f18\u8fde\u63a5\u3002\u8ba9\u6211\u4eec\u8003\u8651\u662f\u5426\u9700\u8981\u91cd\u65b0\u8fde\u63a5\u3002

      \u5728\u8fde\u63a5\u4e4b\u524d\uff0c\u6211\u4eec\u5c06\u68c0\u67e5\u8bbe\u5907\u662f\u5426\u6709\u53ef\u7528\u7684\u7528\u6237\u96a7\u9053\u3002

  3. \u53ef\u9009\uff1a\u68c0\u67e5\u7f51\u7edc\u4e2d\u7684\u53ef\u7528\u8bbe\u5907

    \u51fa\u4e8e\u6559\u80b2\u76ee\u7684\uff0c\u6211\u4eec\u5c06\u9996\u5148\uff1a - \u8fd0\u884cdoublezero device list\u83b7\u53d6\u5b8c\u6574\u7684\u8bbe\u5907\u5217\u8868\u3002\u6211\u4eec\u4ee52\u4e2a\u8bbe\u5907\u4e3a\u4f8b\u6765\u89e3\u91ca\u8f93\u51fa\u3002

    \u8f93\u51fa\uff1a\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n```\n\u6ce8\u610f\u4e0a\u9762`ams001-dz002`\u670969\u4e2a\u7528\u6237\uff0c\u6700\u591a128\u4e2a\u7528\u6237\u3002\u6b64\u8bbe\u5907\u53ef\u4ee5\u518d\u589e\u52a059\u4e2a\u7528\u6237\u3002\n\n\u4f46\u662f\uff0c`dz-fr5-sw01`\u67090\u4e2a\u7528\u6237\uff0c0\u4e2a\u6700\u5927\u7528\u6237\u3002\u60a8\u5c06\u65e0\u6cd5\u8fde\u63a5\u5230\u6b64\u8bbe\u5907\u3002\u6700\u5927\u7528\u6237\u4e3a0\uff0c\u8bbe\u5907\u4e0d\u63a5\u53d7\u4efb\u4f55\u8fde\u63a5\u3002\n\n\u73b0\u5728\u8ba9\u6211\u4eec\u56de\u5230\u8fde\u63a5\u5230\u6700\u8fd1\u7684\u8bbe\u5907\u3002\n
  4. \u786e\u5b9a\u76ee\u6807\u8bbe\u5907\u662f\u5426\u6709\u53ef\u7528\u8fde\u63a5

    • \u8fd0\u884cdoublezero device list | grep dz-ny7-sw01\uff0c\u5c06dz-ny7-sw01\u66ff\u6362\u4e3a\u60a8\u7684\u76ee\u6807\u8bbe\u5907

      \u8f93\u51fa

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      \u8fd9\u91cc\u6211\u4eec\u53ef\u4ee5\u770b\u5230dz-ny7-sw01\u6709\u53ef\u7528\u7684\u8fde\u63a5\u7a7a\u95f4\u3002

  5. \u8fde\u63a5\u5230\u6700\u8fd1\u7684DoubleZero\u8bbe\u5907

    \u6211\u4eec\u5c06\u65ad\u5f00\u8fde\u63a5\uff0c\u7136\u540e\u91cd\u65b0\u8fde\u63a5\u5230doublezero\u3002

    \u9996\u5148\u8fd0\u884c - doublezero disconnect

    \u8f93\u51fa

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    \u73b0\u5728\u6211\u4eec\u7528\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5\u72b6\u6001\u4ee5\u786e\u8ba4\u65ad\u5f00\u8fde\u63a5 - doublezero status

    \u8f93\u51fa

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type\ndisconnected  | no session data     |             |            |            |               |\n
    \u6700\u540e\u6211\u4eec\u5c06\u91cd\u65b0\u8fde\u63a5 - doublezero connect ibrl

    \u8f93\u51fa

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    \u6ce8\u610f\u4e0a\u9762\u7684\u8f93\u51fa\u4e2d\u6211\u4eecConnected to device: dz-ny7-sw01\uff0c\u8fd9\u662f\u6211\u4eec\u5728\u6b65\u9aa41\u521d\u59cb\u8c03\u67e5\u4e2d\u53d1\u73b0dz-ny7-sw01\u662f\u5ef6\u8fdf\u6700\u4f4e\u8bbe\u5907\u7684\u671f\u671b\u7ed3\u679c\u3002

"},{"location":"zh/troubleshooting/#doublezero-statusna","title":"\u95ee\u9898\uff1adoublezero status\u8fd4\u56de\u67d0\u4e9b\u5b57\u6bb5\u4e3aN/A","text":"

\u6b64\u95ee\u9898\u901a\u5e38\u4e0e\u5f53\u524d\u5b88\u62a4\u7a0b\u5e8f\u548c\u5ba2\u6237\u7aef\u4e0e\u5efa\u7acb\u5df2\u8fde\u63a5DZ\u96a7\u9053\u65f6\u7684\u5b88\u62a4\u7a0b\u5e8f\u548c\u5ba2\u6237\u7aef\u4e0d\u5339\u914d\u6709\u5173\u3002

\u75c7\u72b6\uff1a - \u8fd0\u884cdoublezero status\u65f6\uff0c\u7528\u6237\u5728\u67d0\u4e9b\u5b57\u6bb5\u4e2d\u9047\u5230N/A

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u8fd0\u884c doublezero status

\u793a\u4f8b\uff1a\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\n\u6ce8\u610f\u5728\u4e0a\u9762\u7684\u793a\u4f8b\u8f93\u51fa\u4e2d\uff0c`Tunnel status`\u4e3a`up`\u3002\u6211\u4eec\u7684`Network`\u662f`mainnet-beta`\u3002\u4f46\u662f\uff0c`Current Device`\u548c`Metro`\u662f`N/A`\u3002\n\n\u8fd9\u8868\u660e\u60a8\u7684\u673a\u5668\u4e0a\u6709\u4e00\u4e2a\u5f00\u653e\u96a7\u9053\uff0c\u5b83\u4e0d\u5728\u60a8\u5f53\u524d\u7684\u73af\u5883\u4e2d\u3002\n\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5728`mainnet-beta`\u4e0a\u627e\u4e0d\u5230`Current Device`\u7684`up`\u72b6\u6001\u544a\u8bc9\u6211\u4eec\u6211\u4eec\u7684\u96a7\u9053\u5728\u6d4b\u8bd5\u7f51\u4e0a\uff01\n
  1. \u66f4\u6539\u60a8\u7684\u73af\u5883\u3002

    \u4e3a\u4e86\u7ea0\u6b63\u4e0d\u5339\u914d\uff0c\u60a8\u5c06\u628a\u73af\u5883\u66f4\u6539\u4e3a\u8fd4\u56deN/A\u7684\u76f8\u53cd\u73af\u5883\u3002

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    \u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u4e3b\u7f51Beta\uff1a

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. \u68c0\u67e5\u60a8\u7684\u72b6\u6001

    \u5207\u6362\u73af\u5883\u540e\u8fd0\u884c\uff1a

    doublezero status\n

    \u9884\u671f\u8f93\u51fa\u5e94\u7c7b\u4f3c\u4e8e\uff1a

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    \u6240\u6709\u5b57\u6bb5\u90fd\u5df2\u586b\u5145\uff0c\u60a8\u73b0\u5728\u5904\u4e8e\u6b63\u786e\u7684\u73af\u5883\u4e2d\u3002

"},{"location":"ja/","title":"DoubleZero\u3078\u3088\u3046\u3053\u305d","text":"

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\u306f\u3001\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306e\u3088\u3046\u306a\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u5411\u3051\u306b\u6700\u9069\u5316\u3055\u308c\u305f\u3001\u9ad8\u6027\u80fd\u306a\u5206\u6563\u578b\u30d7\u30ed\u30c8\u30b3\u30eb\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u3059\u3002DoubleZero\u306e\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u30c7\u30fc\u30bf\u306e\u9ad8\u5ea6\u306b\u6700\u9069\u5316\u3055\u308c\u305f\u9001\u4fe1\u3068\u524d\u51e6\u7406\u306e\u305f\u3081\u306e\u7d71\u5408\u30b5\u30fc\u30d3\u30b9\u3092\u4eab\u53d7\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/#doublezero_1","title":"DoubleZero\u306e\u5bfe\u8c61\u8005","text":""},{"location":"ja/#_1","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

DoubleZero\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u672a\u6d3b\u7528\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30d5\u30a1\u30a4\u30d0\u30fc\u30ea\u30f3\u30af\u3068\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\uff08\u30b9\u30a4\u30c3\u30c1\u3084FPGA\u30c7\u30d0\u30a4\u30b9\u306a\u3069\uff09\u3068\u3044\u3046\u5f62\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5bb9\u91cf\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u69cb\u6210\u3057\u3066DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u62e1\u5f35\u3059\u308b\u3053\u3068\u3067\u3001\u7d71\u5408\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002DZ\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5bb9\u91cf\u3092\u52d5\u7684\u3067\u5e83\u5927\u306a\u30b0\u30ed\u30fc\u30d0\u30eb\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u7d44\u307f\u8fbc\u307f\u3001\u8ca2\u732e\u306b\u5bfe\u3057\u3066\u30c8\u30fc\u30af\u30f3\u30a4\u30f3\u30bb\u30f3\u30c6\u30a3\u30d6\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002

"},{"location":"ja/#_2","title":"\u30e6\u30fc\u30b6\u30fc","text":"

DoubleZero\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u9ad8\u6027\u80fd\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u63a5\u7d9a\u3092\u5fc5\u8981\u3068\u3059\u308b\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306a\u3069\u306e\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u306b\u53c2\u52a0\u3057\u3066\u3044\u307e\u3059\u3002DoubleZero\u3068\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30b7\u30b9\u30c6\u30e0\u3092\u76f8\u4e92\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30afI/O\u3092\u52a0\u901f\u3059\u308b\u305f\u3081\u306e\u6700\u9069\u5316\u6a5f\u80fd\u306e\u30d0\u30f3\u30c9\u30eb\u3092\u7372\u5f97\u3057\u307e\u3059\u3002

\u521d\u671f\u5b9f\u88c5\u3067\u306f\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3001RPC\u304a\u3088\u3073MEV\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30e6\u30fc\u30b6\u30fc\u30b7\u30b9\u30c6\u30e0\u306f\u3001\u305d\u308c\u305e\u308c\u306e\u30ec\u30b8\u30e3\u30fc\u4e0a\u306e\u56fa\u6709\u306e\u8b58\u5225\u516c\u958b\u9375\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308b\u524d\u306b\u5165\u5834\u5236\u5fa1\u3092\u53d7\u3051\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u4ed6\u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u304b\u3089\u306e\u30e6\u30fc\u30b6\u30fc\u30b7\u30b9\u30c6\u30e0\u3092\u542b\u3080\u3088\u3046\u9032\u5316\u3059\u308b\u306b\u3064\u308c\u3066\u3001\u5404\u30e6\u30fc\u30b6\u30fc\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u5408\u308f\u305b\u305f\u8ffd\u52a0\u306e\u8b58\u5225\u304a\u3088\u3073\u8a8d\u8a3c\u6226\u7565\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/#_3","title":"\u30e1\u30ea\u30c3\u30c8","text":"

DoubleZero\u306e\u552f\u4e00\u306e\u4ee3\u66ff\u624b\u6bb5\u306f\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3067\u3059\u3002\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3068\u6bd4\u8f03\u3057\u3066\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306b2\u3064\u306e\u6539\u5584\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

\u7b2c\u4e00\u306b\u3001\u53d7\u4fe1\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306fDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30e6\u30fc\u30b6\u30fc\uff08\u4f8b\uff1a\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30ce\u30fc\u30c9\uff09\u306b\u9001\u4fe1\u3055\u308c\u308b\u524d\u306b\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30ec\u30d9\u30eb\u3067\u975e\u88c1\u91cf\u7684\u306a\u65b9\u6cd5\u3067\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\uff08\u30b9\u30d1\u30e0\u3068\u91cd\u8907\u306e\u9664\u53bb\uff09\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u5404\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u5341\u5206\u306a\u30ea\u30bd\u30fc\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u304c\u30b7\u30b9\u30c6\u30e0\u5168\u4f53\u306e\u5171\u6709\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u30ea\u30bd\u30fc\u30b9\u304b\u3089\u6069\u6075\u3092\u53d7\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u7d50\u679c\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u30ea\u30bd\u30fc\u30b9\u3092\u76f4\u63a5\u53ce\u76ca\u3092\u751f\u307f\u51fa\u3059\u6d3b\u52d5\u306b\u518d\u914d\u5206\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u6a5f\u80fd\u306f\u307e\u3060\u6a5f\u80fd\u3057\u3066\u3044\u307e\u305b\u3093\u3002

\u7b2c\u4e8c\u306b\u3001\u9001\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u3088\u308a\u76f4\u63a5\u7684\u306b\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3055\u308c\u3001\u52b9\u7387\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306b\u512a\u5148\u9806\u4f4d\u304c\u4ed8\u3051\u3089\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u3001DoubleZero\u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u30c7\u30fc\u30bf\u79fb\u52d5\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30ed\u30b8\u30c3\u30af\u304c\u901f\u5ea6\u306e\u305f\u3081\u306b\u6700\u9069\u5316\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3067\u3001\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3068\u306f\u7570\u306a\u308a\u307e\u3059\u3002\u3057\u305f\u304c\u3063\u3066\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f2\u3064\u306e\u30c7\u30fc\u30bf\u30b1\u30fc\u30d6\u30eb\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u9593\u306e\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u5909\u52d5\u91cf\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u308b\u30b8\u30c3\u30bf\u30fc\u306e\u4f4e\u6e1b\u304b\u3089\u6069\u6075\u3092\u53d7\u3051\u307e\u3059\u3002\u672c\u8cea\u7684\u306b\u3001\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30ce\u30fc\u30c9\u306f\u3088\u308a\u901f\u304f\u30d6\u30ed\u30c3\u30af\u3092\u9001\u53d7\u4fe1\u3067\u304d\u307e\u3059\u3002

\u3053\u308c\u3089\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30e1\u30ea\u30c3\u30c8\u3092\u5408\u308f\u305b\u308b\u3068\u3001\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3067\u306f\u9054\u6210\u3067\u304d\u306a\u3044\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30ec\u30d9\u30eb\u3092\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002

\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001DoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u30db\u30ef\u30a4\u30c8\u30da\u30fc\u30d1\u30fc\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/#_4","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7","text":""},{"location":"ja/DZ%20Mainnet-beta%20Connection/","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#ibrl_1","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u63a5\u7d9a","text":"

Note

IBRL\u30e2\u30fc\u30c9\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u518d\u8d77\u52d5\u304c\u4e0d\u8981\u3067\u3059\u3002

Solana\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306fDoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3053\u306e\u30da\u30fc\u30b8\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u5404Solana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306b\u306f\u72ec\u81ea\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u30da\u30a2\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u3053\u304b\u3089\u30ce\u30fc\u30c9ID\u3068\u3057\u3066\u77e5\u3089\u308c\u308b\u516c\u958b\u9375\u3092\u62bd\u51fa\u3057\u307e\u3059\u3002\u3053\u308c\u306fSolana\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u4e00\u610f\u306e\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8\u3067\u3059\u3002

DoubleZeroID\u3068\u30ce\u30fc\u30c9ID\u304c\u7279\u5b9a\u3055\u308c\u308b\u3068\u3001\u30de\u30b7\u30f3\u306e\u6240\u6709\u6a29\u3092\u8a3c\u660e\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001DoubleZeroID\u3092\u542b\u3080\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u3067\u7f72\u540d\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u884c\u308f\u308c\u307e\u3059\u3002\u751f\u6210\u3055\u308c\u305f\u6697\u53f7\u7f72\u540d\u306f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5236\u5fa1\u3057\u3066\u3044\u308b\u3053\u3068\u306e\u691c\u8a3c\u53ef\u80fd\u306a\u8a3c\u660e\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002

\u6700\u5f8c\u306b\u3001DoubleZero\u3078\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u300c\u3053\u3061\u3089\u304c\u79c1\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3001\u3053\u3061\u3089\u304c\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3001\u305d\u3057\u3066\u3053\u3061\u3089\u304c\u63a5\u7d9a\u65b9\u6cd5\u3067\u3059\u3002\u300d\u3068\u3044\u3046\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u4f1d\u3048\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u60c5\u5831\u3092\u691c\u8a3c\u3057\u3001\u8a3c\u660e\u3092\u53d7\u3051\u5165\u308c\u3001DoubleZero\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30af\u30bb\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3057\u307e\u3059\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u30011\u53f0\u306e\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u81ea\u8eab\u3092\u767b\u9332\u3057\u3001\u540c\u6642\u306b\u6700\u59273\u53f0\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7/\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u30de\u30b7\u30f3\u3092\u767b\u9332\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u306fSolana\u30b4\u30b7\u30c3\u30d7\u306b\u5bfe\u3057\u3066\u78ba\u8a8d\u3055\u308c\u3001\u30bf\u30fc\u30b2\u30c3\u30c8IP\u304c\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002\u30bf\u30fc\u30b2\u30c3\u30c8IP\u3068DoubleZero ID\u306f\u3001\u30de\u30b7\u30f3\u3068\u30bf\u30fc\u30b2\u30c3\u30c8DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u306eGRE\u30c8\u30f3\u30cd\u30eb\u3092\u958b\u304f\u969b\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

\u6ce8\u610f\uff1a\u540c\u3058IP\u306b\u30b8\u30e3\u30f3\u30afID\u3068\u30d7\u30e9\u30a4\u30de\u30eaID\u304c\u3042\u308b\u5834\u5408\u3001\u30de\u30b7\u30f3\u306e\u767b\u9332\u306b\u306f\u30d7\u30e9\u30a4\u30de\u30eaID\u306e\u307f\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u30b8\u30e3\u30f3\u30afID\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u8868\u793a\u3055\u308c\u305a\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30de\u30b7\u30f3\u306eIP\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u306a\u3044\u305f\u3081\u3067\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a \u2705 doublezerod configured for environment mainnet-beta

\u7d0430\u79d2\u5f8c\u306b\u5229\u7528\u53ef\u80fd\u306aDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

doublezero latency\n
\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306e\u51fa\u529b\u4f8b\uff1a
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u306f\u69cb\u9020\u304c\u540c\u3058\u3067\u3059\u304c\u3001\u30c7\u30d0\u30a4\u30b9\u6570\u304c\u5c11\u306a\u304f\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#2-44880","title":"2. \u30dd\u30fc\u30c844880\u3092\u958b\u304f","text":"

\u4e00\u90e8\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u6a5f\u80fd\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u306b\u306f\u3001\u4f8b\u3048\u3070\u6b21\u306e\u3088\u3046\u306bIP\u30c6\u30fc\u30d6\u30eb\u3092\u66f4\u65b0\u3067\u304d\u307e\u3059\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308b-i doublezero0\u3001-o doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u307e\u305f\u306fUFW\u306e\u5834\u5408\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308bin on doublezero0\u3001out on doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#3","title":"3. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e","text":"

DoubleZero\u74b0\u5883\u304c\u8a2d\u5b9a\u3055\u308c\u305f\u306e\u3067\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3092\u884c\u3044\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u4f5c\u6210\u3057\u305fDoubleZero ID\u3092\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30de\u30b7\u30f3\u306eID\u306fdoublezero address\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u540c\u3058ID\u304c\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u3059\u3079\u3066\u306e\u30de\u30b7\u30f3\u306e~/.config/doublezero/id.json\u306b\u5fc5\u8981\u3067\u3059\u3002

\u3053\u308c\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306b\u3001\u307e\u305a\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u304c\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3067\u3042\u308b\u3053\u3068\u3092\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u3053\u308c\u306b\u3088\u308a\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u767b\u9332\u3055\u308c\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u8868\u793a\u3055\u308c\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u540c\u3058\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u304c1\u53f0\u3067\u3082\u8907\u6570\u53f0\u306e\u30de\u30b7\u30f3\u3067\u3082\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 1\u53f0\u306e\u30de\u30b7\u30f3\u3092\u767b\u9332\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30da\u30fc\u30b8\u306e\u30b3\u30de\u30f3\u30c9\u304b\u3089\"--backup-validator-ids\"\u307e\u305f\u306f\"backup_ids=\"\u5f15\u6570\u3092\u9664\u5916\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5b9f\u884c\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4ee5\u4e0b\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u3053\u306e\u51fa\u529b\u306f\u6b63\u5e38\u3067\u3059\u3002\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u306f\u30d1\u30b9\u4f5c\u6210\u6642\u306b\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6295\u7968\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f7f\u7528\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#_2","title":"\u63a5\u7d9a\u306e\u6e96\u5099","text":"

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u306eSolana\u30b4\u30b7\u30c3\u30d7\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u3092\u6301\u3064\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b9\u30c6\u30fc\u30af\u304c\u3042\u308a\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u30de\u30b7\u30f3\u3067\u3059\uff1a

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

\u51fa\u529b\u4f8b\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306e\u6700\u5f8c\u306e\u51fa\u529b\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u69cb\u9020\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#4","title":"4. \u7f72\u540d\u306e\u751f\u6210","text":"

\u524d\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u6700\u5f8c\u306b\u3001solana sign-offchain-message\u306e\u305f\u3081\u306e\u4e8b\u524d\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u51fa\u529b\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f\u3002

\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

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

\u51fa\u529b\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#5-doublezero","title":"5. DoubleZero\u3067\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u958b\u59cb","text":"

request-validator-access\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u305f\u3081\u306bSolana\u4e0a\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002DoubleZero Sentinel\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u65b0\u3057\u3044\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u691c\u51fa\u3057\u3001\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3068\u7f72\u540d\u3092\u691c\u8a3c\u3057\u3001\u30b5\u30fc\u30d0\u30fc\u304c\u63a5\u7d9a\u3092\u78ba\u7acb\u3067\u304d\u308b\u3088\u3046\u306bDoubleZero\u306b\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002

\u30ce\u30fc\u30c9ID\u3001DoubleZeroID\u3001\u7f72\u540d\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

Note

\u3053\u306e\u4f8b\u3067\u306f-k /home/user/.config/solana/id.json\u3092\u4f7f\u7528\u3057\u3066\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u898b\u3064\u3051\u307e\u3059\u3002\u30ed\u30fc\u30ab\u30eb\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u9069\u5207\u306a\u5834\u6240\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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

\u51fa\u529b\uff1a

\u3053\u306e\u51fa\u529b\u306fSolana\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3067\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3092\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u306b\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u5fd8\u308c\u305a\u306b\u3002\u3053\u306e\u78ba\u8a8d\u306f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u6210\u529f\u3057\u305f\u5834\u5408\u3001DoubleZero\u306f\u30d7\u30e9\u30a4\u30de\u30ea\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3068\u3068\u3082\u306b\u767b\u9332\u3057\u307e\u3059\u3002\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306b\u767b\u9332\u3055\u308c\u305fIP\u306e\u9593\u3067\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u3088\u3046\u306b\u767b\u9332\u3055\u308c\u305f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u3078\u306e\u5207\u308a\u66ff\u3048\u6642\u306b\u63a5\u7d9a\u3092\u81ea\u52d5\u7684\u306b\u7dad\u6301\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#6-ibrl","title":"6. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Note

\u3053\u306e\u51fa\u529b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002Tunnel src\u3068DoubleZero IP\u304c\u30de\u30b7\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30afIPv4\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3057\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#_3","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306b\u3088\u308b\u30b7\u30e5\u30ec\u30c3\u30c9\u306e\u516c\u958b","text":"

\u3053\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u5b8c\u4e86\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3067\u30b7\u30e5\u30ec\u30c3\u30c9\u3092\u516c\u958b\u3059\u308b\u4e88\u5b9a\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u30da\u30fc\u30b8\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

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\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001\u3053\u3061\u3089\u306b\u8a18\u8f09\u306e\u8a55\u4fa1\u5951\u7d04\u306e\u6761\u4ef6\u306b\u540c\u610f\u3057\u307e\u3059\uff08\u30af\u30ea\u30c3\u30af\u3057\u3066\u5c55\u958b\uff09

DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8 \u8a55\u4fa1\u5951\u7d04

\u672c\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\uff08\u4ee5\u4e0b\u306b\u5b9a\u7fa9\uff09\u3078\u306e\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u306b\u3088\u308a\u3001\u5f53\u8a72\u30a2\u30af\u30bb\u30b9\u306e\u6700\u521d\u306e\u65e5\u4ed8\u6642\u70b9\uff08\u300c\u767a\u52b9\u65e5\u300d\uff09\u3067\u3001\u3053\u306e\u8a55\u4fa1\u5951\u7d04\uff08\u300c\u672c\u5951\u7d04\u300d\uff09\u304c\u3001DoubleZero Foundation\uff08\u300cDZF\u300d\uff09\u304c\u8a55\u4fa1\u30d9\u30fc\u30b9\u3067\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u6761\u4ef6\u3092\u5b9a\u3081\u308b\u3053\u3068\u306b\u540c\u610f\u3059\u308b\u3082\u306e\u3068\u3057\u307e\u3059\u3002\u672c\u5951\u7d04\u4e2d\u306e\u76f8\u4e92\u306e\u7d04\u675f\u3092\u7d04\u56e0\u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306b\u540c\u610f\u3057\u307e\u3059\uff1a

1. \u5b9a\u7fa9\u3002

1.1\u300c\u6a5f\u5bc6\u60c5\u5831\u300d\u3068\u306f\u3001\u4e00\u65b9\u306e\u5f53\u4e8b\u8005\u304c\u4ed6\u65b9\u306b\u958b\u793a\u3057\u305f\u60c5\u5831\u3067\u3001\u6a5f\u5bc6\u3068\u3057\u3066\u6307\u5b9a\u3055\u308c\u305f\u3082\u306e\u3001\u307e\u305f\u306f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3001\u88fd\u54c1\u8a08\u753b\u3001\u4e8b\u696d\u8a08\u753b\u3001\u4f01\u696d\u79d8\u5bc6\u3001\u6280\u8853\u3001\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u72ec\u81ea\u60c5\u5831\u3092\u542b\u3080\u304c\u3053\u308c\u3089\u306b\u9650\u5b9a\u3055\u308c\u306a\u3044\u3001\u6a5f\u5bc6\u3067\u3042\u308b\u3068\u7406\u89e3\u3055\u308c\u308b\u3079\u304d\u3059\u3079\u3066\u306e\u60c5\u5831\u3092\u610f\u5473\u3057\u307e\u3059\u3002

1.2\u300c\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u300d\u3068\u306f\u3001web3\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5411\u3051DoubleZero\u9ad8\u6027\u80fd\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u7248\uff08\u300c\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u300d\uff09\u304a\u3088\u3073\u7d71\u5408\u5e2f\u57df\u5e45\u3092\u6301\u3064\u95a2\u9023\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\uff08\u300c\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u300d\uff09\u3001DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\uff08\u4ee5\u4e0b\u306b\u5b9a\u7fa9\uff09\u3001DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306b\u95a2\u9023\u3059\u308bDZF\u304c\u63d0\u4f9b\u3059\u308b\u3059\u3079\u3066\u306e\u8cc7\u6599\uff08\u300c\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u300d\uff09\u3001\u304a\u3088\u3073DZF\u304c\u3053\u3053\u3067\u30e6\u30fc\u30b6\u30fc\u306b\u63d0\u4f9b\u3059\u308b\u305d\u306e\u4ed6\u306e\u8cc7\u6599\u3092\u610f\u5473\u3057\u307e\u3059\u3002

2. \u30a2\u30af\u30bb\u30b9\u3002

2.1 \u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3002\u672c\u5951\u7d04\u306e\u6761\u4ef6\u306b\u5f93\u3044\u3001DZF\u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3092\u901a\u3058\u3066\u30e6\u30fc\u30b6\u30fc\u306b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306e\u30a2\u30af\u30bb\u30b9\u306f\u3001\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u306e\u307f\u3092\u8a55\u4fa1\u3059\u308b\u305f\u3081\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u975e\u72ec\u5360\u7684\u3001\u975e\u8b72\u6e21\u53ef\u80fd\u3001\u9650\u5b9a\u7684\u306a\u4f7f\u7528\u3067\u3059\u3002\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u6210\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\uff08\u300cDZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u300d\uff09\u306b\u95a2\u3057\u3066\u3001DZF\u306f\u3053\u3053\u3067\u8a55\u4fa1\u671f\u9593\u4e2d\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u60f3\u5b9a\u3055\u308c\u308b\u7bc4\u56f2\u3067\u306e\u307f\u3001DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u30b3\u30d4\u30fc\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3001\u5408\u7406\u7684\u306a\u6570\u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3001\u5b9f\u884c\u3001\u30c7\u30d7\u30ed\u30a4\uff08\u8a72\u5f53\u3059\u308b\u5834\u5408\uff09\u3059\u308b\u305f\u3081\u306e\u9650\u5b9a\u7684\u3067\u53d6\u308a\u6d88\u3057\u53ef\u80fd\u306a\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u30e6\u30fc\u30b6\u30fc\u306b\u4ed8\u4e0e\u3057\u307e\u3059\u3002

2.2 \u5236\u9650\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u767a\u52b9\u65e5\u304b\u3089DZF\u306b\u3088\u3063\u3066\u7d42\u4e86\u3055\u308c\u308b\u307e\u3067\uff08\u300c\u8a55\u4fa1\u671f\u9593\u300d\uff09\u672c\u5951\u7d04\u306b\u5f93\u3044\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u8a55\u4fa1\u671f\u9593\u3092\u8d85\u3048\u305f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u6a29\u306f\u3001\u624b\u6570\u6599\u306e\u652f\u6255\u3044\u3092\u542b\u3080\u5f53\u4e8b\u8005\u9593\u306e\u5225\u9014\u306e\u5546\u696d\u5951\u7d04\u306b\u5f93\u3046\u3053\u3068\u3092\u7406\u89e3\u3057\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u7b2c\u4e09\u8005\u3092\u8a31\u53ef\u3057\u305f\u5834\u5408\u3082\u542b\u3081\u3001\u6b21\u306e\u3053\u3068\u3092\u884c\u3063\u3066\u306f\u306a\u308a\u307e\u305b\u3093\uff1a\uff08i\uff09\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u307e\u305f\u306f\u305d\u306e\u4e00\u90e8\u306b\u57fa\u3065\u3044\u3066\u6539\u5909\u3084\u6d3e\u751f\u4f5c\u54c1\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\uff1b\uff08ii\uff09\u672c\u5951\u7d04\u3067\u660e\u793a\u7684\u306b\u8a31\u53ef\u3055\u308c\u308b\u5834\u5408\u3092\u9664\u304d\u3001\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u8907\u88fd\u3059\u308b\u3053\u3068\uff1b\uff08iii\uff09\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u3059\u3079\u3066\u307e\u305f\u306f\u4e00\u90e8\u3092\u30b5\u30d6\u30e9\u30a4\u30bb\u30f3\u30b9\u3001\u914d\u5e03\u3001\u8ca9\u58f2\u3001\u8cb8\u3057\u51fa\u3057\u3001\u8cc3\u8cb8\u3001\u30ea\u30fc\u30b9\u3001\u8ee2\u9001\u3001\u307e\u305f\u306f\u6a29\u5229\u3092\u4ed8\u4e0e\u3059\u308b\u3053\u3068\u3001\u307e\u305f\u306f\u30b5\u30fc\u30d3\u30b9\u30d3\u30e5\u30fc\u30ed\u30fc\u7b49\u3068\u3057\u3066\u7b2c\u4e09\u8005\u306b\u30a2\u30af\u30bb\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\uff08\u305f\u3060\u3057\u3001\u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u30d9\u30fc\u30b9\u3067\u306a\u304f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u307e\u305f\u306f\u88fd\u54c1\u3092\u901a\u3058\u3066\u307e\u305f\u306f\u95a2\u9023\u3057\u3066\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u5834\u5408\u3092\u9664\u304f\uff09\uff1b\u307e\u305f\u306f\uff08iv\uff09\u3053\u3053\u306b\u898f\u5b9a\u3055\u308c\u305f\u4ee5\u5916\u306e\u65b9\u6cd5\u3067\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3002

2.3 \u6240\u6709\u6a29\u3002DZF\u306f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u6a29\u5229\u3001\u6a29\u539f\u3001\u5229\u76ca\uff08\u77e5\u7684\u8ca1\u7523\u6a29\u3092\u542b\u3080\uff09\u3092\u4fdd\u6301\u3057\u307e\u3059\u3002

3. \u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3002 DZF\u306f\u5b9a\u671f\u7684\u306b\u30e6\u30fc\u30b6\u30fc\u306b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u3001\u904b\u7528\u3001\u6a5f\u80fd\u306b\u95a2\u3059\u308b\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\uff08\u300c\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u300d\uff09\u306e\u63d0\u4f9b\u3092\u8981\u6c42\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u306fDZF\u306b\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u3053\u3067\u3001\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u88fd\u54c1\u3084\u30b5\u30fc\u30d3\u30b9\u306b\u4f7f\u7528\u30fb\u7d44\u307f\u8fbc\u307f\u3001\u305d\u306e\u3088\u3046\u306a\u88fd\u54c1\u3084\u30b5\u30fc\u30d3\u30b9\u3092\u88fd\u9020\u3001\u4f7f\u7528\u3001\u8ca9\u58f2\u3001\u8ca9\u58f2\u306e\u7533\u3057\u51fa\u3001\u8f38\u5165\u306a\u3069\u3057\u3001\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u5236\u9650\u306a\u304f\u4f7f\u7528\u3001\u30b3\u30d4\u30fc\u3001\u914d\u5e03\u3001\u305d\u306e\u4ed6\u306e\u65b9\u6cd5\u3067\u5229\u7528\u3059\u308b\u305f\u3081\u306e\u975e\u72ec\u5360\u7684\u3001\u4e16\u754c\u7684\u3001\u6c38\u7d9a\u7684\u3001\u53d6\u308a\u6d88\u3057\u4e0d\u80fd\u3001\u30ed\u30a4\u30e4\u30eb\u30c6\u30a3\u30d5\u30ea\u30fc\u3001\u5b8c\u5168\u306b\u652f\u6255\u3044\u6e08\u307f\u3001\u5b8c\u5168\u306b\u30b5\u30d6\u30e9\u30a4\u30bb\u30f3\u30b9\u53ef\u80fd\u304b\u3064\u8b72\u6e21\u53ef\u80fd\u306a\u6a29\u5229\u3068\u30e9\u30a4\u30bb\u30f3\u30b9\u3092DZF\u306b\u4ed8\u4e0e\u3057\u307e\u3059\u3002

4. \u671f\u9593\u3068\u7d42\u4e86\u3002

4.1 \u671f\u9593\u3002\u672c\u5951\u7d04\u306f\u767a\u52b9\u65e5\u304b\u3089\u958b\u59cb\u3057\u3001\u8a55\u4fa1\u671f\u9593\u4e2d\u6709\u52b9\u3067\u3059\u3002\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u3001\u4efb\u610f\u306e\u7406\u7531\u307e\u305f\u306f\u7406\u7531\u306a\u3057\u306b\u3001\u4ed6\u65b9\u306e\u5f53\u4e8b\u8005\u3078\u306e\u66f8\u9762\u306b\u3088\u308b\u901a\u77e5\uff08\u96fb\u5b50\u30e1\u30fc\u30eb\u3067\u5341\u5206\uff09\u306b\u3088\u308a\u3001\u672c\u5951\u7d04\u3092\u3044\u3064\u3067\u3082\u7d42\u4e86\u3067\u304d\u307e\u3059\u3002

4.1 \u7d42\u4e86\u306e\u52b9\u529b\u3002\u7406\u7531\u3092\u554f\u308f\u305a\u672c\u5951\u7d04\u304c\u7d42\u4e86\u3057\u305f\u5834\u5408\uff1a\uff08i\uff09\u30e6\u30fc\u30b6\u30fc\u306b\u4ed8\u4e0e\u3055\u308c\u305f\u6a29\u5229\u306f\u76f4\u3061\u306b\u7d42\u4e86\u3057\u307e\u3059\uff1b\uff08ii\uff09\u30e6\u30fc\u30b6\u30fc\u306f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u3092\u76f4\u3061\u306b\u4e2d\u6b62\u3057\u3001\u7ba1\u7406\u4e0b\u306b\u3042\u308b\u3059\u3079\u3066\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3068DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u8fd4\u5374\u307e\u305f\u306f\u5ec3\u68c4\u3057\u307e\u3059\uff1b\uff08iii\uff09\u5404\u5f53\u4e8b\u8005\u306f\u4ed6\u65b9\u306e\u5f53\u4e8b\u8005\u306e\u3059\u3079\u3066\u306e\u6a5f\u5bc6\u60c5\u5831\u3068\u8ca1\u7523\u3092\u901f\u3084\u304b\u306b\u8fd4\u5374\u307e\u305f\u306f\u5ec3\u68c4\u3057\u307e\u3059\uff1b\uff08iv\uff09\u7b2c2.2\u6761\u3001\u7b2c2.3\u6761\u3001\u7b2c3\u6761\u3001\u7b2c4.2\u6761\u3001\u7b2c5\u6761\u304b\u3089\u7b2c8\u6761\u304c\u5b58\u7d9a\u3057\u307e\u3059\u3002

5. \u6a5f\u5bc6\u4fdd\u6301\u3002 \u5404\u5f53\u4e8b\u8005\u306f\u3001\u4ed6\u65b9\u306e\u6a5f\u5bc6\u60c5\u5831\u3092\u672c\u5951\u7d04\u306b\u57fa\u3065\u304f\u7fa9\u52d9\u306e\u5c65\u884c\u3068\u6a29\u5229\u306e\u884c\u4f7f\u306e\u307f\u306b\u4f7f\u7528\u3057\u3001\u3053\u3053\u3067\u8a31\u53ef\u3055\u308c\u308b\u5834\u5408\u3092\u9664\u304d\u3001\u540c\u60c5\u5831\u3092\u958b\u793a\u307e\u305f\u306f\u958b\u793a\u3092\u8a31\u53ef\u3057\u306a\u3044\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u3001\u77e5\u308b\u5fc5\u8981\u304c\u3042\u308a\u672c\u5951\u7d04\u3068\u540c\u7b49\u4ee5\u4e0a\u306e\u6a5f\u5bc6\u4fdd\u6301\u7fa9\u52d9\u306b\u62d8\u675f\u3055\u308c\u308b\u81ea\u793e\u306e\u4eba\u54e1\u3001\u5f01\u8b77\u58eb\u3001\u305d\u306e\u4ed6\u306e\u4ee3\u8868\u8005\u306b\u6a5f\u5bc6\u60c5\u5831\u3092\u958b\u793a\u3067\u304d\u307e\u3059\uff1b\u307e\u305f\u6cd5\u5f8b\u3067\u8981\u6c42\u3055\u308c\u308b\u5834\u5408\uff08\u3053\u306e\u5834\u5408\u3001\u53d7\u4fe1\u5f53\u4e8b\u8005\u306f\u958b\u793a\u524d\u306b\u958b\u793a\u5f53\u4e8b\u8005\u306b\u4e8b\u524d\u901a\u77e5\u3068\u7570\u8b70\u7533\u7acb\u306e\u6a5f\u4f1a\u3092\u63d0\u4f9b\u3057\u3001\u9069\u7528\u6cd5\u306e\u7bc4\u56f2\u3067\u958b\u793a\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u307e\u3059\uff09\u3002\u7b2c5\u6761\u306e\u6a5f\u5bc6\u4fdd\u6301\u7fa9\u52d9\u306f\u6b21\u306e\u60c5\u5831\u306b\u306f\u9069\u7528\u3055\u308c\u307e\u305b\u3093\uff1a\uff08a\uff09\u53d7\u4fe1\u5f53\u4e8b\u8005\u306e\u904e\u5931\u306a\u3057\u306b\u4e00\u822c\u306b\u77e5\u3089\u308c\u308b\u304b\u307e\u305f\u306f\u516c\u958b\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u60c5\u5831\uff1b\uff08b\uff09\u958b\u793a\u5f53\u4e8b\u8005\u306b\u3088\u308b\u958b\u793a\u524d\u306b\u53d7\u4fe1\u5f53\u4e8b\u8005\u304c\u5236\u9650\u306a\u304f\u9069\u5207\u306b\u77e5\u3063\u3066\u3044\u305f\u60c5\u5831\uff1b\uff08c\uff09\u305d\u3046\u3059\u308b\u6cd5\u7684\u6a29\u9650\u3092\u6301\u3064\u5225\u306e\u4eba\u304b\u3089\u53d7\u4fe1\u5f53\u4e8b\u8005\u306b\u5236\u9650\u306a\u304f\u9069\u5207\u306b\u958b\u793a\u3055\u308c\u305f\u60c5\u5831\uff1b\u307e\u305f\u306f\uff08d\uff09\u958b\u793a\u5f53\u4e8b\u8005\u306e\u6a5f\u5bc6\u60c5\u5831\u3092\u4f7f\u7528\u307e\u305f\u306f\u53c2\u7167\u305b\u305a\u306b\u53d7\u4fe1\u5f53\u4e8b\u8005\u304c\u72ec\u81ea\u306b\u958b\u767a\u3057\u305f\u60c5\u5831\u3002\u5404\u5f53\u4e8b\u8005\u306f\u3001\u4ed6\u65b9\u306e\u6a5f\u5bc6\u60c5\u5831\u3092\u7121\u8a31\u53ef\u306e\u4f7f\u7528\u304a\u3088\u3073\u958b\u793a\u304b\u3089\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306b\u9069\u5207\u306a\u6ce8\u610f\u3092\u6255\u3046\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002\u672c\u6761\u307e\u305f\u306f\u672c\u5951\u7d04\u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u5b9f\u969b\u306e\u307e\u305f\u306f\u8105\u5a01\u3068\u306a\u308b\u9055\u53cd\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u3001\u9055\u53cd\u3057\u3066\u3044\u306a\u3044\u5f53\u4e8b\u8005\u306f\u3001\u5229\u7528\u53ef\u80fd\u306a\u4ed6\u306e\u6a29\u5229\u307e\u305f\u306f\u6551\u6e08\u3092\u653e\u68c4\u3059\u308b\u3053\u3068\u306a\u304f\u3001\u5373\u6642\u306e\u5dee\u3057\u6b62\u3081\u304a\u3088\u3073\u305d\u306e\u4ed6\u306e\u8861\u5e73\u6cd5\u4e0a\u306e\u6551\u6e08\u3092\u6c42\u3081\u308b\u6a29\u5229\u3092\u6301\u3061\u307e\u3059\u3002

6. \u4fdd\u8a3c\u514d\u8cac\uff1b\u8cac\u4efb\u5236\u9650\u3002

6.1 \u4fdd\u8a3c\u514d\u8cac\u3002\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u300c\u73fe\u72b6\u306e\u307e\u307e\u300d\uff08AS IS\uff09\u3067\u63d0\u4f9b\u3055\u308c\u3001\u3044\u304b\u306a\u308b\u7a2e\u985e\u306e\u4fdd\u8a3c\u3082\u3042\u308a\u307e\u305b\u3093\u3002DZF\u306f\u3001\u305d\u306e\u72b6\u614b\u3001\u8868\u660e\u307e\u305f\u306f\u8aac\u660e\u3078\u306e\u9069\u5408\u6027\u3092\u542b\u3080\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3068\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u95a2\u3057\u3066\u3001\u660e\u793a\u7684\u3001\u9ed9\u793a\u7684\u3001\u6cd5\u5b9a\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u3044\u304b\u306a\u308b\u4fdd\u8a3c\u3082\u306a\u3055\u308c\u305a\u3001DZF\u306f\u7279\u306b\u5546\u54c1\u6027\u3001\u7279\u5b9a\u76ee\u7684\u3078\u306e\u9069\u5408\u6027\u3001\u6a29\u539f\u3001\u304a\u3088\u3073\u975e\u4fb5\u5bb3\u306e\u9ed9\u793a\u7684\u4fdd\u8a3c\u3092\u3059\u3079\u3066\u5426\u8a8d\u3057\u307e\u3059\u3002

6.2 \u8cac\u4efb\u5236\u9650\u3002 \u7b2c2.1\u6761\u3001\u7b2c2.2\u6761\u3001\u304a\u3088\u3073\u7b2c5\u6761\u306e\u9055\u53cd\u3092\u9664\u304d\u3001\u3044\u304b\u306a\u308b\u5834\u5408\u306b\u304a\u3044\u3066\u3082\u3001\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u4ed6\u65b9\u306b\u5bfe\u3057\u3066\u3001\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u9023\u3059\u308b\u5951\u7d04\u3001\u4e0d\u6cd5\u884c\u70ba\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u8a34\u8a1f\u306b\u304a\u3044\u3066\u3001\u76f8\u624b\u65b9\u304c\u305d\u306e\u3088\u3046\u306a\u640d\u5bb3\u306e\u53ef\u80fd\u6027\u306b\u3064\u3044\u3066\u901a\u77e5\u3092\u53d7\u3051\u3066\u3044\u305f\u5834\u5408\u3067\u3082\u3001\u5229\u76ca\u306e\u640d\u5931\u3001\u4f7f\u7528\u307e\u305f\u306f\u640d\u5931\u306e\u30c7\u30fc\u30bf\u3092\u542b\u3080\u304c\u3053\u308c\u306b\u9650\u5b9a\u3055\u308c\u306a\u3044\u9593\u63a5\u7684\u3001\u4ed8\u968f\u7684\u3001\u7279\u5225\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u7d50\u679c\u7684\u640d\u5bb3\u306b\u3064\u3044\u3066\u8cac\u4efb\u3092\u8ca0\u3044\u307e\u305b\u3093\u3002\u3044\u304b\u306a\u308b\u5834\u5408\u306b\u304a\u3044\u3066\u3082\u3001\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u9023\u3059\u308bDZF\u306e\u7dcf\u8cac\u4efb\u306f\u3001\u5951\u7d04\u3001\u4e0d\u6cd5\u884c\u70ba\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u8a34\u8a1f\u306b\u304a\u3044\u3066100\u30c9\u30eb\u3092\u8d85\u3048\u307e\u305b\u3093\u3002\u4e0a\u8a18\u306e\u5236\u9650\u306f\u3001\u3053\u3053\u306b\u8a18\u8f09\u3055\u308c\u305f\u3044\u304b\u306a\u308b\u9650\u5b9a\u7684\u6551\u6e08\u306e\u672c\u8cea\u7684\u76ee\u7684\u306e\u4e0d\u5c65\u884c\u306b\u3082\u304b\u304b\u308f\u3089\u305a\u9069\u7528\u3055\u308c\u307e\u3059\u3002\u5f53\u4e8b\u8005\u306f\u3001\u4e0a\u8a18\u306e\u5236\u9650\u304c\u672c\u5951\u7d04\u306b\u57fa\u3065\u304f\u30ea\u30b9\u30af\u306e\u5408\u7406\u7684\u306a\u914d\u5206\u3092\u8868\u3059\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002

7. \u6e96\u62e0\u6cd5\u3002 \u672c\u5951\u7d04\u304a\u3088\u3073\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u4e8b\u9805\u306f\u3001\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u306e\u6cd5\u5f8b\u306b\u5f93\u3063\u3066\u7d71\u6cbb\u3001\u89e3\u91c8\u3001\u304a\u3088\u3073\u69cb\u6210\u3055\u308c\u307e\u3059\u3002\u672c\u5951\u7d04\u306b\u95a2\u9023\u3057\u3066\u8ad6\u4e89\u3001\u7d1b\u4e89\u307e\u305f\u306f\u8acb\u6c42\uff08\u300c\u7d1b\u4e89\u300d\uff09\u304c\u751f\u3058\u305f\u5834\u5408\u3001\u95a2\u4fc2\u3059\u308b\u5f53\u4e8b\u8005\u306f\u9069\u5b9c\u4ed6\u306e\u5f53\u4e8b\u8005\u306b\u5f53\u8a72\u7d1b\u4e89\u306e30\u65e5\u524d\u306e\u901a\u77e5\uff08\u300c\u7d1b\u4e89\u306e\u901a\u77e5\u300d\uff09\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u7d1b\u4e89\u306e\u901a\u77e5\u304b\u308930\u65e5\u306e\u671f\u9650\u5207\u308c\u307e\u3067\u306b\u7d1b\u4e89\u304c\u89e3\u6c7a\u3055\u308c\u306a\u3044\u5834\u5408\u3001\u95a2\u4fc2\u3059\u308b\u5f53\u4e8b\u8005\u306f\u3053\u3053\u306b\u898f\u5b9a\u3059\u308b\u4ef2\u88c1\u624b\u7d9a\u304d\u3092\u958b\u59cb\u3067\u304d\u307e\u3059\u3002\u7d1b\u4e89\u306e\u901a\u77e5\u304b\u308930\u65e5\u306e\u671f\u9650\u5207\u308c\u5f8c\u3082\u7d1b\u4e89\u304c\u6b8b\u308b\u5834\u5408\u3001\u7d1b\u4e89\u306f\u30b1\u30a4\u30de\u30f3\u56fd\u969b\u8abf\u505c\u30fb\u4ef2\u88c1\u30bb\u30f3\u30bf\u30fc\uff08CI-MAC\uff09\u306b\u3088\u3063\u3066\u3001\u767a\u52b9\u65e5\u6642\u70b9\u3067\u6709\u52b9\u306aCI-MAC\u4ef2\u88c1\u898f\u5247\uff08\u300c\u4ef2\u88c1\u898f\u5247\u300d\uff09\u306b\u5f93\u3063\u3066\u7ba1\u7406\u3055\u308c\u308b\u4ef2\u88c1\u306b\u3088\u3063\u3066\u89e3\u6c7a\u3055\u308c\u3001\u4ef2\u88c1\u898f\u5247\u306f\u3053\u3053\u3067\u53c2\u7167\u306b\u3088\u308a\u7d44\u307f\u8fbc\u307e\u308c\u3001\u4ef2\u88c1\u6cd5\uff08\u6539\u6b63\uff09\u306b\u3088\u3063\u3066\u7d71\u6cbb\u3055\u308c\u307e\u3059\u3002\u4ef2\u88c1\u306f\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u30b0\u30e9\u30f3\u30c9\u30b1\u30a4\u30de\u30f3\u3001\u30b8\u30e7\u30fc\u30b8\u30bf\u30a6\u30f3\u3092\u6240\u5728\u5730\u3068\u3057\u3001\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u6cd5\u306b\u3088\u3063\u3066\u7d71\u6cbb\u3055\u308c\u307e\u3059\u3002\u4ef2\u88c1\u306e\u8a00\u8a9e\u306f\u82f1\u8a9e\u3067\u3059\u3002\u4ef2\u88c1\u306f\u4ef2\u88c1\u898f\u5247\u306b\u5f93\u3063\u3066\u4efb\u547d\u3055\u308c\u308b\u5358\u72ec\u4ef2\u88c1\u4eba\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002\u4ef2\u88c1\u4eba\u306b\u3088\u308b\u3044\u304b\u306a\u308b\u88c1\u5b9a\u3084\u6c7a\u5b9a\u3082\u66f8\u9762\u306b\u3088\u308b\u3082\u306e\u3068\u3057\u3001\u4e0a\u8a34\u306e\u6a29\u5229\u306a\u3057\u306b\u5f53\u4e8b\u8005\u9593\u3067\u6700\u7d42\u7684\u304b\u3064\u62d8\u675f\u529b\u3092\u6301\u3061\u3001\u53d6\u5f97\u3055\u308c\u305f\u88c1\u5b9a\u306b\u57fa\u3065\u304f\u5224\u6c7a\u306f\u7ba1\u8f44\u6a29\u3092\u6709\u3059\u308b\u3044\u304b\u306a\u308b\u88c1\u5224\u6240\u3067\u3082\u57f7\u884c\u3067\u304d\u307e\u3059\u3002\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u9023\u3059\u308b\u3044\u304b\u306a\u308b\u8acb\u6c42\u306b\u57fa\u3065\u304f\u6cd5\u7684\u307e\u305f\u306f\u8861\u5e73\u6cd5\u4e0a\u306e\u8a34\u8a1f\u3082\u3001\u3044\u304b\u306a\u308b\u7ba1\u8f44\u533a\u57df\u306e\u88c1\u5224\u6240\u306b\u3082\u63d0\u8d77\u3067\u304d\u307e\u305b\u3093\u3002

8. \u4e00\u822c\u898f\u5b9a\u3002 \u672c\u5951\u7d04\u306fDZF\u306e\u4e8b\u524d\u66f8\u9762\u306b\u3088\u308b\u540c\u610f\u306a\u3057\u306b\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u79fb\u8ee2\u307e\u305f\u306f\u8b72\u6e21\u3067\u304d\u307e\u305b\u3093\u3002DZF\u306f\u672c\u5951\u7d04\u3092\u81ea\u7531\u306b\u8b72\u6e21\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u9001\u4ed8\u304c\u5fc5\u8981\u306a\u3059\u3079\u3066\u306e\u901a\u77e5\u306f\u96fb\u5b50\u30e1\u30fc\u30eb\u3067\u9001\u4ed8\u3055\u308c\uff08DZF\u5b9b\uff1alegal@doublezero.xyz\uff09\u3001\u9001\u4ed8\u7fcc\u65e5\u306b\u53d7\u4fe1\u3055\u308c\u305f\u3068\u307f\u306a\u3055\u308c\u307e\u3059\uff08\u9001\u4fe1\u78ba\u8a8d\u6e08\u307f\uff09\u3002\u672c\u5951\u7d04\u306e\u3044\u305a\u308c\u304b\u306e\u898f\u5b9a\u304c\u7121\u52b9\u307e\u305f\u306f\u57f7\u884c\u4e0d\u80fd\u3068\u5224\u65ad\u3055\u308c\u305f\u5834\u5408\u3001\u672c\u5951\u7d04\u306e\u6b8b\u308a\u306e\u898f\u5b9a\u306f\u5b8c\u5168\u306b\u6709\u52b9\u3067\u3059\u3002\u3044\u305a\u308c\u304b\u306e\u5f53\u4e8b\u8005\u306b\u3088\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u307e\u305f\u306f\u672c\u5951\u7d04\u306e\u9055\u53cd\u306e\u653e\u68c4\u306f\u3001\u4ed6\u306e\u307e\u305f\u306f\u305d\u306e\u5f8c\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u307e\u305f\u306f\u9055\u53cd\u306e\u653e\u68c4\u3092\u69cb\u6210\u3057\u307e\u305b\u3093\u3002\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u3001\u4e88\u898b\u53ef\u80fd\u304b\u3069\u3046\u304b\u306b\u304b\u304b\u308f\u3089\u305a\u3001\u5929\u707d\u3001\u5730\u9707\u3001\u7269\u8cc7\u4e0d\u8db3\u3001\u8f38\u9001\u56f0\u96e3\u3001\u52b4\u50cd\u4e89\u8b70\u3001\u66b4\u52d5\u3001\u6226\u4e89\u3001\u706b\u707d\u3001\u75ab\u75c5\u3001\u304a\u3088\u3073\u305d\u306e\u7ba1\u7406\u3092\u8d85\u3048\u308b\u985e\u4f3c\u306e\u4e8b\u8c61\u306b\u3088\u308b\u5c65\u884c\u306e\u9045\u5ef6\u307e\u305f\u306f\u5931\u6557\u306b\u3064\u3044\u3066\u8cac\u4efb\u3092\u8ca0\u3044\u307e\u305b\u3093\u3002\u672c\u5951\u7d04\u306f\u3059\u3079\u3066\u306e\u6dfb\u4ed8\u3068\u5171\u306b\u3001\u5f53\u4e8b\u8005\u9593\u306e\u5b8c\u5168\u306a\u5408\u610f\u3092\u69cb\u6210\u3057\u3001\u3053\u3053\u306b\u8a18\u8f09\u3055\u308c\u305f\u4e3b\u984c\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u4ee5\u524d\u307e\u305f\u306f\u540c\u6642\u306e\u5408\u610f\u307e\u305f\u306f\u8868\u660e\uff08\u66f8\u9762\u307e\u305f\u306f\u53e3\u982d\uff09\u306b\u512a\u5148\u3057\u307e\u3059\u3002\u672c\u5951\u7d04\u306f\u3001\u5404\u5f53\u4e8b\u8005\u306e\u6b63\u5f0f\u306b\u6388\u6a29\u3055\u308c\u305f\u4ee3\u8868\u8005\u304c\u7f72\u540d\u3057\u305f\u66f8\u9762\u306b\u3088\u3063\u3066\u306e\u307f\u4fee\u6b63\u307e\u305f\u306f\u5909\u66f4\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#ibrl_1","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

Note

IBRL\u30e2\u30fc\u30c9\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u518d\u8d77\u52d5\u304c\u4e0d\u8981\u3067\u3059\u3002

Solana\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306fDoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3053\u306e\u30da\u30fc\u30b8\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u5404Solana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306b\u306f\u72ec\u81ea\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u30da\u30a2\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u3053\u304b\u3089\u30ce\u30fc\u30c9ID\u3068\u3057\u3066\u77e5\u3089\u308c\u308b\u516c\u958b\u9375\u3092\u62bd\u51fa\u3057\u307e\u3059\u3002\u3053\u308c\u306fSolana\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u4e00\u610f\u306e\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8\u3067\u3059\u3002

DoubleZeroID\u3068\u30ce\u30fc\u30c9ID\u304c\u7279\u5b9a\u3055\u308c\u308b\u3068\u3001\u30de\u30b7\u30f3\u306e\u6240\u6709\u6a29\u3092\u8a3c\u660e\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001DoubleZeroID\u3092\u542b\u3080\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u3067\u7f72\u540d\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u884c\u308f\u308c\u307e\u3059\u3002\u751f\u6210\u3055\u308c\u305f\u6697\u53f7\u7f72\u540d\u306f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5236\u5fa1\u3057\u3066\u3044\u308b\u3053\u3068\u306e\u691c\u8a3c\u53ef\u80fd\u306a\u8a3c\u660e\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002

\u6700\u5f8c\u306b\u3001DoubleZero\u3078\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u300c\u3053\u3061\u3089\u304c\u79c1\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3001\u3053\u3061\u3089\u304c\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3001\u305d\u3057\u3066\u3053\u3061\u3089\u304c\u63a5\u7d9a\u65b9\u6cd5\u3067\u3059\u3002\u300d\u3068\u3044\u3046\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u4f1d\u3048\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u60c5\u5831\u3092\u691c\u8a3c\u3057\u3001\u8a3c\u660e\u3092\u53d7\u3051\u5165\u308c\u3001DoubleZero\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30af\u30bb\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3057\u307e\u3059\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u30011\u53f0\u306e\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u81ea\u8eab\u3092\u767b\u9332\u3057\u3001\u540c\u6642\u306b\u6700\u59273\u53f0\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7/\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u30de\u30b7\u30f3\u3092\u767b\u9332\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u306fSolana\u30b4\u30b7\u30c3\u30d7\u306b\u5bfe\u3057\u3066\u78ba\u8a8d\u3055\u308c\u3001\u30bf\u30fc\u30b2\u30c3\u30c8IP\u304c\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002\u30bf\u30fc\u30b2\u30c3\u30c8IP\u3068DoubleZero ID\u306f\u3001\u30de\u30b7\u30f3\u3068\u30bf\u30fc\u30b2\u30c3\u30c8DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u306eGRE\u30c8\u30f3\u30cd\u30eb\u3092\u958b\u304f\u969b\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

\u6ce8\u610f\uff1a\u540c\u3058IP\u306b\u30b8\u30e3\u30f3\u30afID\u3068\u30d7\u30e9\u30a4\u30de\u30eaID\u304c\u3042\u308b\u5834\u5408\u3001\u30de\u30b7\u30f3\u306e\u767b\u9332\u306b\u306f\u30d7\u30e9\u30a4\u30de\u30eaID\u306e\u307f\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u30b8\u30e3\u30f3\u30afID\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u8868\u793a\u3055\u308c\u305a\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30de\u30b7\u30f3\u306eIP\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u306a\u3044\u305f\u3081\u3067\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a
\u2705 doublezerod configured for environment testnet\n

\u7d0430\u79d2\u5f8c\u306b\u5229\u7528\u53ef\u80fd\u306aDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

doublezero latency\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u4f8b\uff1a
doublezero latency\n pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.44ms   | 2.63ms   | 2.50ms   | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 71.97ms  | 72.01ms  | 71.99ms  | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.08ms  | 72.00ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.55ms  | 76.65ms  | 76.61ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.01ms  | 83.10ms  | 83.05ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.87ms  | 84.91ms  | 84.89ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 95.27ms  | 95.30ms  | 95.29ms  | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 180.96ms | 181.08ms | 181.02ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 220.87ms | 221.14ms | 220.97ms | true\n

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u306f\u69cb\u9020\u304c\u540c\u3058\u3067\u3059\u304c\u3001\u5229\u7528\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u304c\u591a\u304f\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#2-44880","title":"2. \u30dd\u30fc\u30c844880\u3092\u958b\u304f","text":"

\u4e00\u90e8\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u6a5f\u80fd\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u306b\u306f\u3001\u4f8b\u3048\u3070\u6b21\u306e\u3088\u3046\u306bIP\u30c6\u30fc\u30d6\u30eb\u3092\u66f4\u65b0\u3067\u304d\u307e\u3059\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308b-i doublezero0\u3001-o doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u307e\u305f\u306fUFW\u306e\u5834\u5408\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308bin on doublezero0\u3001out on doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#3","title":"3. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e","text":"

DoubleZero\u74b0\u5883\u304c\u8a2d\u5b9a\u3055\u308c\u305f\u306e\u3067\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3092\u884c\u3044\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u4f5c\u6210\u3057\u305fDoubleZero ID\u3092\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30de\u30b7\u30f3\u306eID\u306fdoublezero address\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u540c\u3058ID\u304c\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u3059\u3079\u3066\u306e\u30de\u30b7\u30f3\u306e~/.config/doublezero/id.json\u306b\u5fc5\u8981\u3067\u3059\u3002

\u3053\u308c\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306b\u3001\u307e\u305a\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u304c\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3067\u3042\u308b\u3053\u3068\u3092\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -ut\n

\u3053\u308c\u306b\u3088\u308a\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u767b\u9332\u3055\u308c\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u8868\u793a\u3055\u308c\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u540c\u3058\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u304c1\u53f0\u3067\u3082\u8907\u6570\u53f0\u306e\u30de\u30b7\u30f3\u3067\u3082\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 1\u53f0\u306e\u30de\u30b7\u30f3\u3092\u767b\u9332\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30da\u30fc\u30b8\u306e\u30b3\u30de\u30f3\u30c9\u304b\u3089\"--backup-validator-ids\"\u307e\u305f\u306f\"backup_ids=\"\u5f15\u6570\u3092\u9664\u5916\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5b9f\u884c\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4ee5\u4e0b\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -ut\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u3053\u306e\u51fa\u529b\u306f\u6b63\u5e38\u3067\u3059\u3002\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u306f\u30d1\u30b9\u4f5c\u6210\u6642\u306b\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6295\u7968\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f7f\u7528\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#_2","title":"\u63a5\u7d9a\u306e\u6e96\u5099","text":"

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u306eSolana\u30b4\u30b7\u30c3\u30d7\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u3092\u6301\u3064\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b9\u30c6\u30fc\u30af\u304c\u3042\u308a\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u30de\u30b7\u30f3\u3067\u3059\uff1a

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

\u51fa\u529b\u4f8b\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306e\u6700\u5f8c\u306e\u51fa\u529b\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u69cb\u9020\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#4","title":"4. \u7f72\u540d\u306e\u751f\u6210","text":"

\u524d\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u6700\u5f8c\u306b\u3001solana sign-offchain-message\u306e\u305f\u3081\u306e\u4e8b\u524d\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u51fa\u529b\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f\u3002

\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

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

\u51fa\u529b\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ja/DZ%20Testnet%20Connection/#5-doublezero","title":"5. DoubleZero\u3067\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u958b\u59cb","text":"

request-validator-access\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u305f\u3081\u306bSolana\u4e0a\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002DoubleZero Sentinel\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u65b0\u3057\u3044\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u691c\u51fa\u3057\u3001\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3068\u7f72\u540d\u3092\u691c\u8a3c\u3057\u3001\u30b5\u30fc\u30d0\u30fc\u304c\u63a5\u7d9a\u3092\u78ba\u7acb\u3067\u304d\u308b\u3088\u3046\u306bDoubleZero\u306b\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002

\u30ce\u30fc\u30c9ID\u3001DoubleZeroID\u3001\u7f72\u540d\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

Note

\u3053\u306e\u4f8b\u3067\u306f-k /home/user/.config/solana/id.json\u3092\u4f7f\u7528\u3057\u3066\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u898b\u3064\u3051\u307e\u3059\u3002\u30ed\u30fc\u30ab\u30eb\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u9069\u5207\u306a\u5834\u6240\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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

\u51fa\u529b\uff1a

\u3053\u306e\u51fa\u529b\u306fSolana\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3067\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3092\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u5fd8\u308c\u305a\u306b\u3002\u3053\u306e\u78ba\u8a8d\u306f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u6210\u529f\u3057\u305f\u5834\u5408\u3001DoubleZero\u306f\u30d7\u30e9\u30a4\u30de\u30ea\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3068\u3068\u3082\u306b\u767b\u9332\u3057\u307e\u3059\u3002\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306b\u767b\u9332\u3055\u308c\u305fIP\u306e\u9593\u3067\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u3088\u3046\u306b\u767b\u9332\u3055\u308c\u305f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u3078\u306e\u5207\u308a\u66ff\u3048\u6642\u306b\u63a5\u7d9a\u3092\u81ea\u52d5\u7684\u306b\u7dad\u6301\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#6-ibrl","title":"6. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Note

\u3053\u306e\u51fa\u529b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002Tunnel src\u3068DoubleZero IP\u304c\u30de\u30b7\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30afIPv4\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3057\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/DZ%20Testnet%20Connection/#_3","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306b\u3088\u308b\u30b7\u30e5\u30ec\u30c3\u30c9\u306e\u516c\u958b","text":"

\u3053\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u5b8c\u4e86\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3067\u30b7\u30e5\u30ec\u30c3\u30c9\u3092\u516c\u958b\u3059\u308b\u4e88\u5b9a\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u30da\u30fc\u30b8\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/New%20Tenant/","title":"\u65b0\u898f\u30c6\u30ca\u30f3\u30c8","text":"

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.

\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u3067DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u6d3b\u7528\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u6280\u8853\u7684\u306a\u3054\u8cea\u554f\u306b\u304a\u7b54\u3048\u3067\u304d\u3066\u5149\u6804\u3067\u3059\u3002

\u304a\u554f\u3044\u5408\u308f\u305b\u30d5\u30a9\u30fc\u30e0

"},{"location":"ja/Other%20Multicast%20Connection/","title":"\u305d\u306e\u4ed6\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6700\u521d\u306e\u30b9\u30c6\u30c3\u30d7 \u627f\u8a8d\u5f8c\u306e\u63a5\u7d9a\u65b9\u6cd5\uff1a Jito\u30b7\u30e5\u30ec\u30c3\u30c9\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6 \u627f\u8a8d\u306e\u305f\u3081Jito\u306b\u9023\u7d61 doublezero connect multicast --subscribe jito-shredstream

\u8a73\u7d30\u306a\u63a5\u7d9a\u60c5\u5831\uff1a

"},{"location":"ja/Other%20Multicast%20Connection/#1-doublezero","title":"1. DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u306f\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/Other%20Multicast%20Connection/#2","title":"2. \u63a5\u7d9a\u624b\u9806","text":"

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30e2\u30fc\u30c9\u3067DoubleZero\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002 \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u3057\u3066\uff1a

doublezero connect multicast --publish <\u30d5\u30a3\u30fc\u30c9\u540d>

\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3068\u3057\u3066\uff1a

doublezero connect multicast --subscribe <\u30d5\u30a3\u30fc\u30c9\u540d>

\u307e\u305f\u306f\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u306e\u4e21\u65b9\uff1a

doublezero connect multicast --publish <\u30d5\u30a3\u30fc\u30c9\u540d> --subscribe <\u30d5\u30a3\u30fc\u30c9\u540d>

\u8907\u6570\u306e\u30d5\u30a3\u30fc\u30c9\u3092\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u3059\u308b\u306b\u306f\u3001\u30b9\u30da\u30fc\u30b9\u3067\u533a\u5207\u3063\u3066\u8907\u6570\u306e\u30d5\u30a3\u30fc\u30c9\u540d\u3092\u542b\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u3053\u308c\u3092\u4f7f\u3063\u3066\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u30d5\u30a3\u30fc\u30c9\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u306b\u3082\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002 \u4f8b\uff1a doublezero connect multicast --subscribe feed1 feed2 feed3

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"ja/Other%20Multicast%20Connection/#3","title":"3. \u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a\u306e\u78ba\u8a8d","text":"

60\u79d2\u5f85\u3063\u3066\u304b\u3089\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero status\n
\u671f\u5f85\u3055\u308c\u308b\u7d50\u679c\uff1a - \u6b63\u3057\u3044DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067BGP\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u7a3c\u50cd\u4e2d - \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u306e\u5834\u5408\u3001DoubleZero IP\u306fTunnel Src IP\u3068\u7570\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u6b63\u5e38\u3067\u3059\u3002 - \u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u307f\u306e\u5834\u5408\u3001DoubleZero IP\u306fTunnel Src IP\u3068\u540c\u3058\u306b\u306a\u308a\u307e\u3059\u3002

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

\u63a5\u7d9a\u3057\u3066\u3044\u308b\u30b0\u30eb\u30fc\u30d7\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"ja/Permissioned%20Connection/","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306eDoubleZero\u3078\u306e\u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcPermissioned\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/Permissioned%20Connection/#permissioned","title":"Permissioned\u30e6\u30fc\u30b6\u30fc\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u6982\u8981","text":"

\u73fe\u5728\u3001\u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3068RPC\u306e\u30e6\u30fc\u30b6\u30fc\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u306fPermissioned\u3055\u308c\u3066\u3044\u307e\u3059\u3002Permissioned\u30d5\u30ed\u30fc\u3092\u958b\u59cb\u3059\u308b\u306b\u306f\u3001\u3053\u306e\u30d5\u30a9\u30fc\u30e0\u306b\u8a18\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u4e2d\u306b\u4e88\u60f3\u3055\u308c\u308b\u3053\u3068\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\uff1a

"},{"location":"ja/Permissioned%20Connection/#ibrl","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u304a\u3088\u3073\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

Note

IBRL\u30e2\u30fc\u30c9\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u518d\u8d77\u52d5\u304c\u4e0d\u8981\u3067\u3059\u3002

Permissioned\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u306e\u30da\u30fc\u30b8\u3067\u8a73\u8ff0\u3059\u308bDoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002

"},{"location":"ja/Permissioned%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a

\u2705 doublezerod configured for environment mainnet-beta\n
\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a \u2705 doublezerod configured for environment testnet

\u7d0430\u79d2\u5f8c\u306b\u5229\u7528\u53ef\u80fd\u306aDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

doublezero latency\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u4f8b\uff1a
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u306f\u69cb\u9020\u304c\u540c\u3058\u3067\u3059\u304c\u3001\u5229\u7528\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u304c\u591a\u304f\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\u3078\u306e\u9023\u7d61","text":"

DoubleZero Foundation\u306b\u9023\u7d61\u3057\u307e\u3059\u3002\u63a5\u7d9a\u5143\u306eDoubleZeroID\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\uff08\u30ce\u30fc\u30c9ID\uff09\u3001\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/Permissioned%20Connection/#3-ibrl","title":"3. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
\u51fa\u529b\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/Permissioned%20Connection/#_1","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8","text":"

\u3053\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u5b8c\u4e86\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3092\u4f7f\u7528\u3059\u308b\u4e88\u5b9a\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u30da\u30fc\u30b8\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/","title":"Shelby\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\u306eIBRL\u30e2\u30fc\u30c9\u3067\u306eDoubleZero\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/Shelby%20Permissioned%20Connection/#doublezeroid","title":"DoubleZeroID\u306e\u53d6\u5f97","text":"

DoubleZeroID\u3068\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u3092\u3053\u3061\u3089\u306e\u30d5\u30a9\u30fc\u30e0\u3067\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/#ibrl","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

Shelby\u306ePermissioned\u30e6\u30fc\u30b6\u30fc\u306fDoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3053\u306e\u30da\u30fc\u30b8\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u4e0a\u306eShelby\u30c6\u30ca\u30f3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306bDoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3092\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

doublezero config set --tenant shelby\n

Shelby\u56fa\u6709\u306e\u8ffd\u52a0\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u9069\u7528\u3057\u307e\u3059\uff1a

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"ja/Shelby%20Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\u3078\u306e\u9023\u7d61","text":"

DoubleZero Foundation\u306b\u9023\u7d61\u3057\u307e\u3059\u3002\u63a5\u7d9a\u5143\u306eDoubleZeroID\u3068\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/#3-ibrl","title":"3. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
\u51fa\u529b\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u8cc7\u6599\u306b\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u3059\u308b\u524d\u306b\u514d\u8cac\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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.

\u514d\u8cac\u4e8b\u9805

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306f\u3001\u60c5\u5831\u63d0\u4f9b\u304a\u3088\u3073\u6280\u8853\u7684\u76ee\u7684\u306e\u307f\u306e\u305f\u3081\u306b\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u8aac\u660e\u3055\u308c\u3066\u3044\u308b\u30c8\u30fc\u30af\u30f3\u5909\u63db\u6a5f\u80fd\u306f\u30ce\u30f3\u30ab\u30b9\u30c8\u30c7\u30a3\u30a2\u30eb\uff08\u975e\u4fdd\u7ba1\u578b\uff09\u3067\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u57fa\u790e\u3068\u306a\u308b\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u76f4\u63a5\u5bfe\u8a71\u3057\u3001\u5e38\u306b\u81ea\u5206\u306e\u8cc7\u7523\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3057\u307e\u3059\u3002

\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u306f\u3001\u958b\u767a\u8005\u3084\u767a\u884c\u8005\u306b\u3088\u3063\u3066\u958b\u767a\u3001\u7ba1\u7406\u3001\u307e\u305f\u306f\u30ec\u30d3\u30e5\u30fc\u3055\u308c\u3066\u3044\u306a\u3044\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30b3\u30fc\u30c9\u3001\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3001\u307e\u305f\u306f\u4fa1\u683c\u304a\u3088\u3073\u624b\u6570\u6599\u30e1\u30ab\u30cb\u30ba\u30e0\uff08\u4f8b\uff1a\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3001API\u3001\u307e\u305f\u306f\u5206\u6563\u578b\u53d6\u5f15\u6240\uff09\u306b\u4f9d\u5b58\u307e\u305f\u306f\u5bfe\u8a71\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u7cbe\u5ea6\u3001\u6a5f\u80fd\u3001\u307e\u305f\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u3064\u3044\u3066\u8868\u660e\u3084\u4fdd\u8a3c\u306f\u306a\u3055\u308c\u307e\u305b\u3093\u3002 \u3053\u306e\u30b3\u30fc\u30c9\u306e\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u305d\u306e\u7cbe\u5ea6\u3001\u5b8c\u5168\u6027\u3001\u307e\u305f\u306f\u7d99\u7d9a\u7684\u306a\u53ef\u7528\u6027\u3092\u4fdd\u8a3c\u3057\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u3068\u95a2\u9023\u8cc7\u6599\u306f\u300c\u73fe\u72b6\u306e\u307e\u307e\u300d\uff08AS IS\uff09\u3067\u63d0\u4f9b\u3055\u308c\u3001\u30d0\u30b0\u3001\u30a8\u30e9\u30fc\u3001\u307e\u305f\u306f\u8106\u5f31\u6027\u304c\u542b\u307e\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f7f\u7528\u306f\u3059\u3079\u3066\u3054\u81ea\u8eab\u306e\u30ea\u30b9\u30af\u3067\u304a\u884c\u3044\u304f\u3060\u3055\u3044\u3002 \u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3053\u308c\u3089\u306e\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306e\u4f7f\u7528\u306b\u95a2\u9023\u3057\u3066\u3044\u304b\u306a\u308b\u624b\u6570\u6599\u3082\u53d7\u3051\u53d6\u308a\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3001\u66f4\u65b0\u3001\u307e\u305f\u306f\u30b5\u30dd\u30fc\u30c8\u306e\u7fa9\u52d9\u306f\u3042\u308a\u307e\u305b\u3093\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u30c8\u30fc\u30af\u30f3\u5909\u63db\u3001\u30b9\u30ef\u30c3\u30d7\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3078\u306e\u53c2\u52a0\u3092\u58f2\u308a\u8fbc\u3080\u3001\u8cb7\u3044\u6c42\u3081\u308b\u3001\u307e\u305f\u306f\u63a8\u5968\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u6cd5\u7684\u3001\u8ca1\u52d9\u7684\u3001\u307e\u305f\u306f\u6295\u8cc7\u4e0a\u306e\u30a2\u30c9\u30d0\u30a4\u30b9\u306f\u63d0\u4f9b\u3055\u308c\u307e\u305b\u3093\u3002 \u30e6\u30fc\u30b6\u30fc\u306f\u81ea\u5206\u306e\u6d3b\u52d5\u306e\u5408\u6cd5\u6027\u3092\u5224\u65ad\u3059\u308b\u8cac\u4efb\u3092\u5358\u72ec\u3067\u8ca0\u3044\u307e\u3059\u3002\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u305f\u308a\u5909\u63db\u306b\u53c2\u52a0\u3057\u305f\u308a\u3059\u308b\u524d\u306b\u3001\u7ba1\u8f44\u533a\u57df\u306b\u9069\u7528\u3055\u308c\u308b\u6cd5\u5f8b\u3068\u898f\u5236\u3092\u78ba\u8a8d\u3057\u3001\u72ec\u7acb\u3057\u305f\u9867\u554f\u306b\u76f8\u8ac7\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5236\u88c1\u5bfe\u8c61\u306e\u500b\u4eba\u3084\u7d44\u7e54\u3001\u307e\u305f\u306f\u5236\u9650\u533a\u57df\u3067\u306e\u4f7f\u7528\u3092\u542b\u3080\u3001\u9055\u6cd5\u3068\u306a\u308b\u5834\u6240\u3067\u306e\u4f7f\u7528\u306f\u7981\u6b62\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u6cd5\u5f8b\u3067\u8a31\u53ef\u3055\u308c\u308b\u6700\u5927\u9650\u306e\u7bc4\u56f2\u3067\u3001\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u30b3\u30fc\u30c9\u306e\u4f7f\u7528\u307e\u305f\u306f\u5909\u63db\u3078\u306e\u53c2\u52a0\u306b\u8d77\u56e0\u3059\u308b\u307e\u305f\u306f\u95a2\u9023\u3059\u308b\u3059\u3079\u3066\u306e\u640d\u5931\u3001\u640d\u5bb3\u3001\u307e\u305f\u306f\u8acb\u6c42\u306b\u5bfe\u3059\u308b\u4e00\u5207\u306e\u8cac\u4efb\u3092\u5426\u8a8d\u3057\u307e\u3059\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306e\u30ec\u30d3\u30e5\u30fc\u3068\u4f7f\u7528\u306f\u3001\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u5229\u7528\u898f\u7d04\u304a\u3088\u3073\u30d7\u30ed\u30c8\u30b3\u30eb\u5229\u7528\u898f\u7d04\u306b\u5f93\u3044\u307e\u3059\u3002

DoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u306f\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30e6\u30fc\u30b6\u30fc\u304b\u3089SOL\u5efa\u3066\u306e\u53ce\u76ca\u3092\u53ce\u96c6\u3057\u307e\u3059\u304c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306f2Z\u5efa\u3066\u306e\u5831\u916c\u3092\u914d\u5e03\u3057\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001SOL\u30922Z\u306b\u5909\u63db\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u305d\u306e\u305f\u3081\u306b\u3001\u9069\u683c\u306a\u53c2\u52a0\u8005\u306fDoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306b\u5bfe\u3057\u3066\u30c8\u30ec\u30fc\u30c9\u3057\u3001\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u304b\u3089SOL\u3092\u8cfc\u5165\u3057\u30662Z\u3092\u58f2\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u4fa1\u683c\u8a2d\u5b9a\u306fPyth\u30d7\u30e9\u30a4\u30b9\u30d5\u30a3\u30fc\u30c9\u3068\u30d7\u30ed\u30b0\u30e9\u30de\u30c6\u30a3\u30c3\u30af\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u30e1\u30ab\u30cb\u30ba\u30e0\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u8aac\u660e\u3057\u307e\u3059\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306b\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u3059\u308b\u524d\u306b\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u6700\u5f8c\u306b\u3042\u308b\u514d\u8cac\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/Swapping-sol-to-2z/#_1","title":"\u30d7\u30ed\u30b0\u30e9\u30e0\u8a2d\u8a08","text":"

\u30b9\u30ef\u30c3\u30d7\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u5b9f\u8cea\u7684\u306b\u30011\u53d6\u5f15\u3042\u305f\u308a1 SOL\u306e\u56fa\u5b9a\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u3067SOL\u3092\u8ca9\u58f2\u3059\u308b\u7247\u5074\u6d41\u52d5\u6027\u30d7\u30fc\u30eb\u3067\u3059\u3002\u9069\u683c\u306a\u53c2\u52a0\u8005\u306fPyth\u306e\u30aa\u30e9\u30af\u30eb\u4fa1\u683c\u3068\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u308b\u4fa1\u683c\u3067\u30012Z\u3092\u9810\u3051\u5165\u308c\u3066\u30d7\u30ed\u30b0\u30e9\u30e0\u304b\u3089SOL\u3092\u5f15\u304d\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6642\u9593\u306e\u7d4c\u904e\u3068\u3068\u3082\u306b\u3001\u3053\u308c\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30c8\u30fc\u30af\u30f3\u30922Z\u306b\u5909\u63db\u3059\u308b\u3068\u3044\u3046\u30b4\u30fc\u30eb\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

\u5229\u7528\u3059\u308b\u306b\u306f\u3001\u30c8\u30ec\u30fc\u30c0\u30fc\u306f2\u3064\u306e\u6700\u65b0\u306ePyth\u4fa1\u683c\uff08SOL/USD\u304a\u3088\u30732Z/USD\uff09\u30682Z\u306e\u6570\u91cf\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u305d\u306e\u5f8c\u3001\u6697\u793a\u3055\u308c\u305fSOL/2Z\u4fa1\u683c\u306b\u57fa\u3065\u3044\u3066\u305d\u306e1 SOL\u3092\u8cfc\u5165\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a2Z\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u305d\u306e\u5f8c\u3044\u304f\u3064\u304b\u306e\u8ffd\u52a0\u30b9\u30c6\u30c3\u30d7\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\u3053\u306e\u6642\u70b9\u3067\u3001\u30c8\u30ec\u30fc\u30c0\u30fc\u304c\u3053\u306e\u8a08\u7b97\u3055\u308c\u305f\u4fa1\u683c\uff08\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u3092\u542b\u3080\uff09\u3067\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u306e\u306b\u5341\u5206\u306a2Z\u3092\u63d0\u4f9b\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u8a08\u7b97\u3055\u308c\u305f\u4fa1\u683c\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u30c8\u30ec\u30fc\u30c0\u30fc\u306b\u306f\u8cfc\u5165\u3057\u305fSOL\u3068\u4f59\u5206\u306a2Z\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002

\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306f\u305d\u306e\u5f8c\u3001\u305d\u306e\u30b9\u30ed\u30c3\u30c8\u3067\u306e\u30c8\u30ec\u30fc\u30c9\u3092\u3053\u308c\u4ee5\u4e0a\u8a31\u53ef\u3057\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001\u65e2\u5b58\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u304c\u6349\u3048\u306a\u3044\u307b\u3069Pyth\u4fa1\u683c\u304c\u4efb\u610f\u306e\u6642\u70b9\u3067\u771f\u306e\u4fa1\u683c\u304b\u3089\u5927\u304d\u304f\u96e2\u308c\u3066\u3044\u308b\u5834\u5408\u306b\u3001\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u304c\u904e\u5ea6\u306b\u9ad8\u3044\u30b9\u30ea\u30c3\u30da\u30fc\u30b8\u3092\u652f\u6255\u308f\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3067\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#_2","title":"\u30ac\u30b9\u30ec\u30b9\u30a2\u30c8\u30df\u30c3\u30af\u5b9f\u884c","text":"

\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306fharvest-dz\u30b3\u30de\u30f3\u30c9\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u8aac\u660e\u3057\u307e\u3059\u3002\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f2\u3064\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u30a2\u30c8\u30df\u30c3\u30af\u306b\u5b9f\u884c\u3057\u307e\u3059\u3002 1. \u30b3\u30de\u30f3\u30c9\u306fJupiter\u306b\u30cd\u30a4\u30c6\u30a3\u30d6\u306eSOL <> 2Z\u5909\u63db\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u5bfe\u3059\u308b\u30af\u30a9\u30fc\u30c8\u3092\u8981\u6c42\u3057\u307e\u3059\u3002 2. Jupiter\u30eb\u30fc\u30c8\u304c\u30cd\u30a4\u30c6\u30a3\u30d6\u306eSOL\u5909\u63db\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u5fc5\u8981\u3068\u3059\u308b\u3088\u308a\u3082\u591a\u304f\u306e2Z/SOL\u3092\u751f\u6210\u3059\u308b\u5834\u5408\u3001harvest-2z\u306f\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3057\u30011 SOL\u30682Z\u306e\u5dee\u984d\u3092\u30a6\u30a9\u30ec\u30c3\u30c8\u306b\u8fd4\u3057\u307e\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#2z","title":"2Z\u306e\u30cf\u30fc\u30d9\u30b9\u30c8","text":"

\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution harvest-2z\n
\u51fa\u529b\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
\u30b3\u30de\u30f3\u30c9\u306f--dry-run\u5f15\u6570\u3067\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u30c9\u30e9\u30a4\u30e9\u30f3\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u30ed\u30b0\u3068\u6b21\u306e\u3088\u3046\u306a\u51fa\u529b\u3092\u751f\u6210\u3057\u307e\u3059\uff1a

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"ja/Swapping-sol-to-2z/#_3","title":"\u30d7\u30ed\u30c8\u30b3\u30eb\u5909\u63db","text":"

\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5909\u63db\u30ec\u30fc\u30c8\u306e\u78ba\u8a8d\u3068doublezero-solana CLI\u3092\u4f7f\u7528\u3057\u305f\u5909\u63db\u306e\u5b9f\u884c\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002\u307e\u305f\u6700\u5f8c\u306b\u3001DoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u306e\u30ab\u30b9\u30bf\u30e0\u30d3\u30eb\u30c9\u7d71\u5408\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#doublezero-solanasol2z","title":"doublezero-solana\u3092\u901a\u3058\u3066SOL/2Z\u5909\u63db\u4fa1\u683c\u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5","text":"

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306eSOL/2Z\u5909\u63db\u30ec\u30fc\u30c8\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution fetch sol-conversion\n

\u8868\u793a\u3055\u308c\u308b\u51fa\u529b\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Journal Balance\u306f\u3001Revenue Distribution\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306b\u3069\u308c\u3060\u3051\u306eSOL\u6d41\u52d5\u6027\u304c\u3042\u308b\u304b\u3092\u30e6\u30fc\u30b6\u30fc\u306b\u901a\u77e5\u3057\u307e\u3059\u3002Journal Balance\u304c\u56fa\u5b9a\u53d6\u5f15\u30b5\u30a4\u30ba\u306e1 SOL\u3092\u8d85\u3048\u308b\u9650\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u53d6\u5f15\u3067\u304d\u307e\u3059\u3002

\u6700\u521d\u306e\u884c\u306f\u30aa\u30d5\u30c1\u30a7\u30fc\u30f3\u30aa\u30e9\u30af\u30eb\u306b\u3088\u308b\u300c\u771f\u306e\u300dSOL/2Z\u5909\u63db\u4fa1\u683c\u3092\u8868\u793a\u3057\u307e\u3059\u30022\u884c\u76ee\u306f\u30b9\u30ef\u30c3\u30d7\u306b\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3067\u4f7f\u7528\u3055\u308c\u308b\u5909\u63db\u4fa1\u683c\u3067\u3001\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u306e\u305f\u3081\u306b\u771f\u306e\u4fa1\u683c\u3092\u8abf\u6574\u3057\u305f\u3082\u306e\u3067\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#doublezero-solana2zsol","title":"doublezero-solana\u3092\u901a\u3058\u30662Z\u3092SOL\u306b\u5909\u63db\u3059\u308b\u65b9\u6cd5","text":"

2Z\u30c8\u30fc\u30af\u30f3\u3092\u30de\u30eb\u30c1\u306b\u5909\u63db\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution convert-2z\n

\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u3001\u5341\u5206\u306aSOL\u6d41\u52d5\u6027\u304c\u3042\u308a\u3001ATA\u306b\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3059\u308b\u306e\u306b\u5341\u5206\u306a2Z\u304c\u3042\u308b\u5834\u5408\u3001\u3053\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306f\u6210\u529f\u3057\u307e\u3059\u3002\u6b21\u306e\u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u30b9\u30ef\u30c3\u30d7\u3092\u3088\u308a\u7d30\u304b\u304f\u8abf\u6574\u3067\u304d\u307e\u3059\uff1a

      --limit-price <DECIMAL>                    \u6307\u5024\u4fa1\u683c\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u73fe\u5728\u306eSOL/2Z\u30aa\u30e9\u30af\u30eb\u4fa1\u683c\n      --source-2z-account <PUBKEY>               \u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u30b5\u30a4\u30ca\u30fc\u304c\u6240\u6709\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u306f\u30b5\u30a4\u30ca\u30fcATA\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\n      --checked-sol-amount <SOL>                 SOL\u91d1\u984d\u3092\u660e\u793a\u7684\u306b\u78ba\u8a8d\u3057\u307e\u3059\u3002\u6307\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u91d1\u984d\u306f\u56fa\u5b9a\u30d5\u30a3\u30eb\u6570\u91cf\u306b\u5bfe\u3057\u3066\u78ba\u8a8d\u3055\u308c\u307e\u3059\n

\u6307\u5b9a\u3055\u308c\u305f\u6307\u5024\u4fa1\u683c\u306f\u3001SOL/2Z\u5909\u63db\u3092\u5b9f\u884c\u3059\u308b\u969b\u306b\u53d7\u3051\u5165\u308c\u308b\u6700\u60aa\u306e\u30b1\u30fc\u30b9\u306e\u4fa1\u683c\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001SOL\u306e\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c82Z\u4fa1\u683c\u304c800\uff081 SOL\u306b\u5bfe\u3057\u3066800 2Z\u30c8\u30fc\u30af\u30f3\uff09\u3060\u3068\u3057\u307e\u3059\u3002\u6307\u5024\u4fa1\u683c\u3092790\u306b\u6307\u5b9a\u3057\u305f\u5834\u5408\u30011 SOL\u306b\u5bfe\u3057\u3066\u6700\u5927790 2Z\u30c8\u30fc\u30af\u30f3\u3057\u304b\u30b9\u30ef\u30c3\u30d7\u3057\u305f\u304f\u306a\u3044\u305f\u3081\u3001\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3057\u3088\u3046\u3068\u3057\u307e\u305b\u3093\u3002\u3057\u304b\u3057810\u3092\u6307\u5b9a\u3057\u305f\u5834\u5408\u3001\u6700\u5927810 2Z\u30c8\u30fc\u30af\u30e0\uff08\u3053\u306e\u5834\u5408\u3001\u3053\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3067800 2Z\u30c8\u30fc\u30af\u30f3\u306e\u307f\u30b9\u30ef\u30c3\u30d7\uff09\u3092\u559c\u3093\u3067\u30b9\u30ef\u30c3\u30d7\u3059\u308b\u306e\u3067\u3001\u53d6\u5f15\u306f\u901a\u308a\u307e\u3059\u3002

\u30bd\u30fc\u30b92Z\u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u3001\u3053\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u306eATA\u3092\u30b5\u30a4\u30ca\u30fc\u3092\u3053\u306e2Z ATA\u306e\u6240\u6709\u8005\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3088\u308a\u3082\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u305f\u3044\u5225\u306e\u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u5f15\u6570\u3067\u305d\u306e\u516c\u958b\u9375\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066\u3001\u78ba\u8a8d\u3057\u305f\u3044SOL\u91d1\u984d\u3092\u6a19\u6e96\u306e\u30d5\u30a3\u30eb\u30b5\u30a4\u30ba\uff08\u8d77\u52d5\u6642\u306b1 SOL\u306b\u8a2d\u5b9a\uff09\u306b\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d5\u30a3\u30eb\u30b5\u30a4\u30ba\u3068\u4e00\u81f4\u3057\u306a\u3044\u5834\u5408\u3001\u30b9\u30ef\u30c3\u30d7\u306f\u5931\u6557\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d5\u30a3\u30eb\u30b5\u30a4\u30ba\u304c\u5909\u308f\u308a\u6c17\u3065\u304b\u306a\u3044\u3068\u3044\u3046\u30ea\u30b9\u30af\u3092\u8efd\u6e1b\u3057\u307e\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#sol","title":"SOL\u3092\u8cfc\u5165\u3059\u308b\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9","text":"

\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068doublezero-solana CLI\u306f\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u3042\u308a\u307e\u3059\u3002DoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u306b\u3042\u308a\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0ID\u306f9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs\u3067\u3059\u3002

buy SOL\u547d\u4ee4\u306b\u5fc5\u8981\u306a\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u751f\u6210\u3059\u308b\u4fbf\u5229\u306a\u65b9\u6cd5\u306f\u3001new\u30e1\u30bd\u30c3\u30c9\uff08instruction/account.rs\u306b\u3042\u308b\uff09\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3059\u3002

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key\u306fProgramState\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // \u3053\u306e\u30ad\u30fc\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

\u3042\u308b\u3044\u306f\u3001Solana RPC\u3092\u901a\u3058\u3066\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u3067getProgramAccounts\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u3053\u306e\u516c\u958b\u9375\u306f\u6c7a\u3057\u3066\u5909\u308f\u3089\u306a\u3044\u306e\u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u3059\u308b\u3053\u3068\u3092\u63a8\u5968\u3057\u307e\u3059\u3002

user_key\u306fbuy SOL\u547d\u4ee4\u306e\u30b5\u30a4\u30ca\u30fc\u3067\u3042\u308a\u3001user_token_account_key\u306e\u6240\u6709\u8005\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u4e0a\u8a18\u306e\u3088\u3046\u306b\u3001\u3053\u308c\u306fATA\u3067\u3042\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u30022Z\u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u304cuser_key\u306b\u3088\u3063\u3066\u6240\u6709\u3055\u308c\u3066\u3044\u308b\u9650\u308a\u3001\u3053\u306e\u547d\u4ee4\u306f\u6210\u529f\u3057\u307e\u3059\u3002

BuySolAccounts\u69cb\u9020\u4f53\u306fInto<Vec<AccountMeta>>\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u547d\u4ee4\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3059\u3079\u3066\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u30e1\u30bf\u3092\u751f\u6210\u3067\u304d\u307e\u3059\u3002

\u547d\u4ee4\u30c7\u30fc\u30bf\u306f

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

\u3053\u306e\u547d\u4ee4\u30c7\u30fc\u30bf\u306fBorsh\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3055\u308c\u3066\u304a\u308a\u30018\u30d0\u30a4\u30c8\u306eAnchor\u30bb\u30ec\u30af\u30bf\u30fc\u304c\u3042\u308a\u3001BorshSerialize::serialize\u3092\u4f7f\u7528\u3059\u308b\u3068\u3059\u3079\u3066\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3055\u308c\u307e\u3059\u3002

\u30aa\u30e9\u30af\u30eb\u4fa1\u683c\u30c7\u30fc\u30bf\u306f\u3053\u306e\u30d1\u30d6\u30ea\u30c3\u30af\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059\uff1ahttps://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate\u3002\u30c7\u30fc\u30bf\u306foracle.rs\u306b\u3042\u308bOraclePriceData\u69cb\u9020\u4f53\u3092\u4f7f\u7528\u3057\u3066serde\u3067\u30c7\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u53ef\u80fd\u3067\u3059\u3002

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

reqwest\u30af\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u305f\u53d6\u5f97\u306e\u4f8b\uff1a

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

\u30d7\u30ed\u30b0\u30e9\u30e0ID\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u547d\u4ee4\u30c7\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066\u3001DoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u304b\u3089SOL\u3092\u8cfc\u5165\u3059\u308b\u547d\u4ee4\u3092\u69cb\u7bc9\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/Validator%20Multicast%20Connection/","title":"\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

\u307e\u3060DoubleZero\u306b\u63a5\u7d9a\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u63a5\u7d9a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u5b8c\u4e86\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u65e2\u306bDoubleZero\u306b\u63a5\u7d9a\u3057\u3066\u3044\u308b\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u3001\u3053\u306e\u30ac\u30a4\u30c9\u3092\u7d9a\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/Validator%20Multicast%20Connection/#jito-agave319","title":"Jito-Agave\uff08\u30d0\u30fc\u30b8\u30e7\u30f33.1.9\u4ee5\u4e0a\uff09","text":"
  1. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\uff1a--shred-receiver-address 233.84.178.1:7733

    Jito\u3068Bebop\u30b0\u30eb\u30fc\u30d7\u306b\u540c\u6642\u306b\u9001\u4fe1\u3067\u304d\u307e\u3059\u3002

    \u4f8b\uff1a

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...\u305d\u306e\u4ed6\u306e\u8a2d\u5b9a...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002

  3. \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u3057\u3066DoubleZero\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7bebop\u306b\u63a5\u7d9a\u3057\u307e\u3059\uff1a doublezero connect multicast --publish bebop

"},{"location":"ja/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. config.toml\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\uff1a
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002

  3. \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u3057\u3066DoubleZero\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7bebop\u306b\u63a5\u7d9a\u3057\u307e\u3059\uff1a doublezero connect multicast --publish bebop

Note

XDP\u30c9\u30e9\u30a4\u30d0\u30fc\u30e2\u30fc\u30c9\u306eFrankendancer\u30e6\u30fc\u30b6\u30fc\u306ftcpdump\u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u73fe\u5728\u3001\u516c\u958b\u4e2d\u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u8fd1\u3044\u3046\u3061\u306b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u304c\u63d0\u4f9b\u3055\u308c\u308b\u4e88\u5b9a\u3067\u3059\u3002

"},{"location":"ja/Validator%20Multicast%20Connection/#_2","title":"\u516c\u958b\u4e2d\u306e\u78ba\u8a8d","text":"

\u6b21\u306e\u30ea\u30fc\u30c0\u30fc\u30b9\u30ed\u30c3\u30c8\u4e2d\u306btcpdump\u3092\u4f7f\u7528\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u516c\u958b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u30b7\u30e5\u30ec\u30c3\u30c9\u3092\u516c\u958b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b10\u79d2\u3054\u3068\u306b\u30cf\u30fc\u30c8\u30d3\u30fc\u30c8\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

\u5b9f\u884c\uff1asudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

\u516c\u958b\u4e2d\u306e\u51fa\u529b\u4f8b\uff1a

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"ja/architecture/","title":"\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3","text":"

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\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u3055\u307e\u3056\u307e\u306a\u30a2\u30af\u30bf\u30fc\u3068\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u4f55\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u304b\uff1f

\u56f31\uff1a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8"},{"location":"ja/architecture/#_2","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3001\u4e16\u754c\u4e2d\u306e\u90fd\u5e02\u306b\u3042\u308b\u6210\u9577\u4e2d\u306e\u5206\u6563\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u304b\u3089\u306e\u63a5\u7d9a\u6027\u3068\u30d1\u30b1\u30c3\u30c8\u51e6\u7406\u306e\u8ca2\u732e\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u5206\u6563\u578b\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u30ea\u30f3\u30af\u3068\u60c5\u5831\u51e6\u7406\u30ea\u30bd\u30fc\u30b9\u3092\u30d7\u30ed\u30c8\u30b3\u30eb\u306b\u63d0\u4f9b\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_3","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30012\u70b9\u9593\u306b\u5c02\u7528\u5e2f\u57df\u5e45\u3092\u63d0\u4f9b\u3057\u3001\u5404\u7aef\u306bDoubleZero\u4e92\u63db\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u904b\u7528\u3057\u3001\u5404\u7aef\u3067\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u304c\u5fc5\u8981\u3067\u3059\u3002\u307e\u305f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3001\u30e6\u30fc\u30b6\u30fc\u691c\u7d22\u3001\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u306a\u3069\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u5404DZD\u3067DoubleZero\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u7269\u7406\u30ea\u30f3\u30af\u306f\u3001\u4e00\u822c\u306b\u30a6\u30a7\u30fc\u30d6\u30ec\u30f3\u30b0\u30b9\u30b5\u30fc\u30d3\u30b9\u3068\u547c\u3070\u308c\u308b\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u306e\u5f62\u3067\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304b\u3089\u6240\u6709\u307e\u305f\u306f\u8cc3\u501f\u3057\u305f\u672a\u6d3b\u7528\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u30922\u3064\u4ee5\u4e0a\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u3067\u30b3\u30df\u30c3\u30c8\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30ea\u30f3\u30af\u306f\u4e21\u7aef\u3067DoubleZero\u30c7\u30d0\u30a4\u30b9\u306b\u3088\u3063\u3066\u7d42\u7aef\u3055\u308c\u3001DoubleZero\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5b9f\u884c\u3059\u308b\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30a4\u30c3\u30c1\u30f3\u30b0\u30a8\u30f3\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3067\u3059\u3002

"},{"location":"ja/architecture/#doublezero-exchangedzx","title":"DoubleZero Exchange\uff08DZX / \u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u30b5\u30a4\u30c8\uff09","text":"

DoubleZero Exchange\uff08DZX\uff09\u306f\u3001\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30ea\u30f3\u30af\u304c\u6a4b\u6e21\u3057\u3055\u308c\u308b\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u76f8\u4e92\u63a5\u7d9a\u70b9\u3067\u3059\u3002DZX\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4ea4\u5dee\u70b9\u304c\u767a\u751f\u3059\u308b\u4e16\u754c\u4e2d\u306e\u4e3b\u8981\u306a\u5927\u90fd\u5e02\u570f\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u30ea\u30f3\u30af\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306b\u5730\u7406\u7684\u306b\u6700\u3082\u8fd1\u3044DZX\u3067\u30ea\u30f3\u30af\u3092\u3088\u308a\u5e83\u3044DoubleZero\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/architecture/#_4","title":"\u8a08\u7b97\u30ea\u30bd\u30fc\u30b9\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u306f\u5225\u306b\u3001\u30ea\u30bd\u30fc\u30b9\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306fDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u6280\u8853\u7684\u6574\u5408\u6027\u3068\u7d99\u7d9a\u7684\u306a\u6a5f\u80fd\u6027\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3055\u307e\u3056\u307e\u306a\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u304a\u3088\u3073\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u7fa9\u52d9\u3092\u5b9f\u884c\u3059\u308b\u5206\u6563\u578b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u53c2\u52a0\u8005\u30b0\u30eb\u30fc\u30d7\u3067\u3059\u3002\u5177\u4f53\u7684\u306b\u306f\u3001\u5f7c\u3089\u306f(i)\u30e6\u30fc\u30b6\u30fc\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3068\u652f\u6255\u3044\u3092\u8ffd\u8de1\u3057\u3001(ii)\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u624b\u6570\u6599\u3092\u8a08\u7b97\u3057\u3001(iii)(i)\u3068(ii)\u306e\u7d50\u679c\u3092\u8a18\u9332\u3057\u3001(iv)\u30d7\u30ed\u30c8\u30b3\u30eb\u30c8\u30fc\u30af\u30ce\u30df\u30af\u30b9\u3092\u5236\u5fa1\u3059\u308b\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3092\u53b3\u5bc6\u306b\u975e\u88c1\u91cf\u7684\u306a\u57fa\u6e96\u3067\u7ba1\u7406\u3057\u3001(v)\u9069\u7528\u3055\u308c\u308b\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u3078\u306e\u8a3c\u660e\u3092\u30ea\u30ec\u30fc\u3057\u3001(vi)\u3059\u3079\u3066\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u900f\u660e\u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6307\u6a19\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u30ea\u30f3\u30af\u54c1\u8cea\u3068\u5229\u7528\u7387\u306b\u95a2\u3059\u308b\u30c6\u30ec\u30e1\u30c8\u30ea\u30c7\u30fc\u30bf\u3092\u516c\u958b\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_5","title":"\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8","text":""},{"location":"ja/architecture/#doublezero","title":"DoubleZero\u30c7\u30fc\u30e2\u30f3","text":"

DoubleZero\u30c7\u30fc\u30e2\u30f3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306f\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4ecb\u3057\u3066\u901a\u4fe1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u30c7\u30fc\u30e2\u30f3\u306f\u30db\u30b9\u30c8\u306e\u30ab\u30fc\u30cd\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u30b9\u30bf\u30c3\u30af\u3068\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3057\u3066\u3001\u30c8\u30f3\u30cd\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30c6\u30fc\u30d6\u30eb\u3001\u304a\u3088\u3073\u30eb\u30fc\u30c8\u3092\u4f5c\u6210\u304a\u3088\u3073\u7ba1\u7406\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_6","title":"\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30bf\u30fc","text":"

DoubleZero\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e1\u3064\u4ee5\u4e0a\u306e\u8a08\u7b97\u30ea\u30bd\u30fc\u30b9\u8ca2\u732e\u30e1\u30f3\u30d0\u30fc\u304c\u30db\u30b9\u30c8\u3059\u308b\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30bf\u30fc\u30b5\u30fc\u30d3\u30b9\u306f\u3001IP\u30a2\u30c9\u30ec\u30b9\u5272\u308a\u5f53\u3066\u3068\u72b6\u614b\u5909\u66f4\u3092\u5fc5\u8981\u3068\u3059\u308b\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u30a4\u30d9\u30f3\u30c8\u3092\u76e3\u8996\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u4ee3\u308f\u3063\u3066\u305d\u308c\u3089\u306e\u5909\u66f4\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_7","title":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc","text":"

DoubleZero\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e1\u3064\u4ee5\u4e0a\u306e\u8a08\u7b97\u30ea\u30bd\u30fc\u30b9\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u30db\u30b9\u30c8\u3059\u308b\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u306f\u3001\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u30a4\u30d9\u30f3\u30c8\u306b\u57fa\u3065\u3044\u3066\u73fe\u5728\u306e\u8a2d\u5b9a\u3092\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u3059\u308b\u305f\u3081\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u8a2d\u5b9a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_8","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8","text":"

\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306fDoubleZero\u30c7\u30d0\u30a4\u30b9\u4e0a\u3067\u76f4\u63a5\u5b9f\u884c\u3055\u308c\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u306b\u3088\u3063\u3066\u89e3\u91c8\u3055\u308c\u305f\u8a2d\u5b9a\u5909\u66f4\u3092\u30c7\u30d0\u30a4\u30b9\u306b\u9069\u7528\u3057\u307e\u3059\u3002\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306f\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306b\u8a2d\u5b9a\u5909\u66f4\u3092\u30dd\u30fc\u30ea\u30f3\u30b0\u3057\u3001\u30c7\u30d0\u30a4\u30b9\u72b6\u614b\u306e\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u6b63\u898f\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u30c7\u30d0\u30a4\u30b9\u4e0a\u306e\u30a2\u30af\u30c6\u30a3\u30d6\u8a2d\u5b9a\u306e\u5dee\u5206\u3092\u8a08\u7b97\u3057\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u8a2d\u5b9a\u3092\u8abf\u6574\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5909\u66f4\u3092\u9069\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_9","title":"\u30c7\u30d0\u30a4\u30b9","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30ea\u30f3\u30af\u7d42\u7aef\u3092\u63d0\u4f9b\u3059\u308b\u7269\u7406\u30c7\u30d0\u30a4\u30b9\u30a8\u30f3\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3067\u3059\u3002DZD\u306fDoubleZero\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3057\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u8aad\u307f\u53d6\u3089\u308c\u305f\u30c7\u30fc\u30bf\u306b\u57fa\u3065\u3044\u3066\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/connect/","title":"Connect","text":"

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.

\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3055\u308c\u306a\u3044\u5834\u5408\u306f\u3001\u3053\u3061\u3089\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-operations/","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u5411\u3051\u904b\u7528\u30ac\u30a4\u30c9","text":"

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.

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u30c7\u30d0\u30a4\u30b9/\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u66f4\u65b0\u3001\u30ea\u30f3\u30af\u7ba1\u7406\u306a\u3069\u3001DoubleZero\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u306e\u7d99\u7d9a\u7684\u306a\u904b\u7528\u30bf\u30b9\u30af\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002

\u524d\u63d0\u6761\u4ef6\uff1a\u3053\u306e\u30ac\u30a4\u30c9\u3092\u4f7f\u7528\u3059\u308b\u524d\u306b\u3001\u4ee5\u4e0b\u3092\u5b8c\u4e86\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/contribute-operations/#_2","title":"\u30c7\u30d0\u30a4\u30b9\u306e\u66f4\u65b0","text":"

\u521d\u671f\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u5f8c\u306b\u30c7\u30d0\u30a4\u30b9\u8a2d\u5b9a\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001doublezero device update\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

\u4e00\u822c\u7684\u306a\u66f4\u65b0\u30aa\u30d7\u30b7\u30e7\u30f3\uff1a

\u30aa\u30d7\u30b7\u30e7\u30f3 \u8aac\u660e --device-type <TYPE> \u52d5\u4f5c\u30e2\u30fc\u30c9\u3092\u5909\u66f4\uff1ahybrid\u3001transit\u3001edge\uff08\u30c7\u30d0\u30a4\u30b9\u30bf\u30a4\u30d7\u3092\u53c2\u7167\uff09 --location <LOCATION> \u30c7\u30d0\u30a4\u30b9\u3092\u5225\u306e\u5834\u6240\u306b\u79fb\u52d5 --metrics-publisher <PUBKEY> \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u3092\u5909\u66f4"},{"location":"ja/contribute-operations/#_3","title":"\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u66f4\u65b0","text":"

\u65e2\u5b58\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001doublezero device interface update\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306finterface create\u3068\u540c\u3058\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u53d7\u3051\u4ed8\u3051\u307e\u3059\u3002

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

CYOA/DIA\u8a2d\u5b9a\u3092\u542b\u3080\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5b8c\u5168\u306a\u30ea\u30b9\u30c8\u306b\u3064\u3044\u3066\u306f\u3001\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u4f5c\u6210\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u4f8b - \u65e2\u5b58\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306bCYOA\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3059\u308b\uff1a

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"ja/contribute-operations/#_4","title":"\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u4e00\u89a7\u8868\u793a","text":"
doublezero device interface list              # \u3059\u3079\u3066\u306e\u30c7\u30d0\u30a4\u30b9\u306e\u3059\u3079\u3066\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\ndoublezero device interface list <DEVICE>     # \u7279\u5b9a\u306e\u30c7\u30d0\u30a4\u30b9\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\n
"},{"location":"ja/contribute-operations/#config","title":"Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9","text":"

Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-operations/#1","title":"1. \u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ja/contribute-operations/#2","title":"2. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#3","title":"3. \u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3059\u308b","text":"

\u307e\u305a\u3001\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

switch# show extensions\n

\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3057\u307e\u3059\u3002<OLD_VERSION>\u3092\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u5f97\u305f\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\uff1a

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ja/contribute-operations/#4","title":"4. \u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-operations/#5","title":"5. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3092\u89e3\u9664\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#6","title":"6. \u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u300cA, I, B\u300d\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

switch# show extensions\n

"},{"location":"ja/contribute-operations/#7-configoutput","title":"7. Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30ed\u30b0Output\u3092\u78ba\u8a8d\u3059\u308b","text":"
show agent doublezero-agent log\n
"},{"location":"ja/contribute-operations/#telemetry","title":"Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9","text":"

Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-operations/#1_1","title":"1. \u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ja/contribute-operations/#2_1","title":"2. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#3_1","title":"3. \u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3059\u308b","text":"

\u307e\u305a\u3001\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

switch# show extensions\n

\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3057\u307e\u3059\u3002<OLD_VERSION>\u3092\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u5f97\u305f\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\uff1a

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ja/contribute-operations/#4_1","title":"4. \u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-operations/#5_1","title":"5. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3092\u89e3\u9664\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#6_1","title":"6. \u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u300cA, I, B\u300d\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

switch# show extensions\n

"},{"location":"ja/contribute-operations/#7-telemetryoutput","title":"7. Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30ed\u30b0Output\u3092\u78ba\u8a8d\u3059\u308b","text":"
show agent doublezero-telemetry log\n
"},{"location":"ja/contribute-operations/#_5","title":"\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0","text":"

\u26a0\ufe0f \u91cd\u8981\uff1a

  1. \u4ee5\u4e0b\u306e\u8a2d\u5b9a\u4f8b\u3067\u306f\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u7ba1\u7406VRF\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002
  2. Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3068Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u30e1\u30c8\u30ea\u30af\u30b9\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306b\u540c\u3058\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\uff08:8080\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u4e21\u65b9\u3067\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b\u5834\u5408\u306f\u3001-metrics-addr\u30d5\u30e9\u30b0\u3092\u4f7f\u7528\u3057\u3066\u5404\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u56fa\u6709\u306e\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
"},{"location":"ja/contribute-operations/#config_1","title":"Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30e1\u30c8\u30ea\u30af\u30b9","text":"

DoubleZero\u30c7\u30d0\u30a4\u30b9\u4e0a\u306eConfig\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3001doublezero-agent\u30c7\u30fc\u30e2\u30f3\u8a2d\u5b9a\u3067-metrics-enable\u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001Prometheus\u4e92\u63db\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u516c\u958b\u3067\u304d\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\u306ftcp/8080\u3067\u3059\u304c\u3001-metrics-addr\u3067\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u5909\u66f4\u3067\u304d\u307e\u3059\uff1a

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

Go\u30e9\u30f3\u30bf\u30a4\u30e0\u30e1\u30c8\u30ea\u30af\u30b9\u3068\u3068\u3082\u306b\u3001\u4ee5\u4e0b\u306eDoubleZero\u56fa\u6709\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u516c\u958b\u3055\u308c\u307e\u3059\uff1a

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"ja/contribute-operations/#_6","title":"\u91cd\u8981\u306a\u30a8\u30e9\u30fc\u30b7\u30b0\u30ca\u30eb","text":""},{"location":"ja/contribute-operations/#telemetry_1","title":"Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30e1\u30c8\u30ea\u30af\u30b9","text":"

DoubleZero\u30c7\u30d0\u30a4\u30b9\u4e0a\u306eTelemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3001doublezero-telemetry\u30c7\u30fc\u30e2\u30f3\u8a2d\u5b9a\u3067-metrics-enable\u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001Prometheus\u4e92\u63db\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u516c\u958b\u3067\u304d\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\u306ftcp/8080\u3067\u3059\u304c\u3001-metrics-addr\u3067\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u5909\u66f4\u3067\u304d\u307e\u3059\uff1a

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

Go\u30e9\u30f3\u30bf\u30a4\u30e0\u30e1\u30c8\u30ea\u30af\u30b9\u3068\u3068\u3082\u306b\u3001\u4ee5\u4e0b\u306eDoubleZero\u56fa\u6709\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u516c\u958b\u3055\u308c\u307e\u3059\uff1a

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"ja/contribute-operations/#_7","title":"\u91cd\u8981\u306a\u30a8\u30e9\u30fc\u30b7\u30b0\u30ca\u30eb","text":""},{"location":"ja/contribute-operations/#_8","title":"\u30ea\u30f3\u30af\u7ba1\u7406","text":""},{"location":"ja/contribute-operations/#_9","title":"\u30ea\u30f3\u30af\u30c9\u30ec\u30a4\u30f3","text":"

\u30ea\u30f3\u30af\u30c9\u30ec\u30a4\u30f3\u306b\u3088\u308a\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3084\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u305f\u3081\u306b\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u30ea\u30f3\u30af\u3092\u6b63\u5e38\u306b\u524a\u9664\u3067\u304d\u307e\u3059\u30022\u3064\u306e\u30c9\u30ec\u30a4\u30f3\u72b6\u614b\u304c\u3042\u308a\u307e\u3059\uff1a

\u30b9\u30c6\u30fc\u30bf\u30b9 IS-IS\u52d5\u4f5c \u8aac\u660e soft-drained \u30e1\u30c8\u30ea\u30af\u30b9\u30921,000,000\u306b\u8a2d\u5b9a \u30ea\u30f3\u30af\u306e\u512a\u5148\u5ea6\u304c\u4e0b\u3052\u3089\u308c\u307e\u3059\u3002\u4ee3\u66ff\u30d1\u30b9\u304c\u5229\u7528\u53ef\u80fd\u306a\u5834\u5408\u306f\u305d\u3061\u3089\u3092\u4f7f\u7528\u3057\u307e\u3059\u304c\u3001\u4ed6\u306b\u9078\u629e\u80a2\u304c\u306a\u3044\u5834\u5408\u306f\u3053\u306e\u30ea\u30f3\u30af\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 hard-drained \u30d1\u30c3\u30b7\u30d6\u306b\u8a2d\u5b9a \u30ea\u30f3\u30af\u304c\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u304b\u3089\u5b8c\u5168\u306b\u524a\u9664\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30ea\u30f3\u30af\u3092\u901a\u904e\u3059\u308b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},{"location":"ja/contribute-operations/#_10","title":"\u72b6\u614b\u9077\u79fb","text":"

\u4ee5\u4e0b\u306e\u72b6\u614b\u9077\u79fb\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u3059\uff1a

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (must go through soft-drained first)\n

\u26a0\ufe0f \u6ce8\u610f\uff1a hard-drained\u304b\u3089\u76f4\u63a5activated\u306b\u79fb\u884c\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u307e\u305asoft-drained\u306b\u9077\u79fb\u3057\u3066\u304b\u3089activated\u306b\u79fb\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute-operations/#_11","title":"\u30ea\u30f3\u30af\u306e\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3","text":"

\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3\u306f\u3001IS-IS\u30e1\u30c8\u30ea\u30af\u30b9\u30921,000,000\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u30ea\u30f3\u30af\u306e\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u307e\u3059\u3002\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u4ee3\u66ff\u30d1\u30b9\u3092\u512a\u5148\u3057\u307e\u3059\u304c\u3001\u5fc5\u8981\u306a\u5834\u5408\u306f\u3053\u306e\u30ea\u30f3\u30af\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"ja/contribute-operations/#_12","title":"\u30ea\u30f3\u30af\u306e\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3","text":"

\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3\u306f\u3001IS-IS\u3092\u30d1\u30c3\u30b7\u30d6\u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u30ea\u30f3\u30af\u3092\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u304b\u3089\u5b8c\u5168\u306b\u524a\u9664\u3057\u307e\u3059\u3002\u3053\u306e\u30ea\u30f3\u30af\u3092\u901a\u904e\u3059\u308b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u3042\u308a\u307e\u305b\u3093\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"ja/contribute-operations/#_13","title":"\u30ea\u30f3\u30af\u3092\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u5fa9\u5143\u3059\u308b","text":"

\u30c9\u30ec\u30a4\u30f3\u3055\u308c\u305f\u30ea\u30f3\u30af\u3092\u901a\u5e38\u306e\u52d5\u4f5c\u306b\u623b\u3059\u306b\u306f\uff1a

# soft-drained\u304b\u3089\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# hard-drained\u304b\u3089\uff08\u5148\u306bsoft-drained\u3092\u7d4c\u7531\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff09\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"ja/contribute-operations/#_14","title":"\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9","text":"

\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u6a5f\u80fd\u306b\u3088\u308a\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u5b9f\u969b\u306b\u6e2c\u5b9a\u3055\u308c\u305f\u9045\u5ef6\u5024\u3092\u5909\u66f4\u305b\u305a\u306b\u3001\u30ea\u30f3\u30af\u306e\u6709\u52b9\u306a\u9045\u5ef6\u3092\u4e00\u6642\u7684\u306b\u5909\u66f4\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30ea\u30f3\u30af\u3092\u30d7\u30e9\u30a4\u30de\u30ea\u30d1\u30b9\u304b\u3089\u30bb\u30ab\u30f3\u30c0\u30ea\u30d1\u30b9\u306b\u4e00\u6642\u7684\u306b\u964d\u683c\u3059\u308b\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002

"},{"location":"ja/contribute-operations/#_15","title":"\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u8a2d\u5b9a\u3059\u308b","text":"

\u30ea\u30f3\u30af\u306e\u9045\u5ef6\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\uff08\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3067\u306e\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u308b\uff09\u306b\u306f\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

\u6709\u52b9\u306a\u5024\u306f0.01\u301c1000\u30df\u30ea\u79d2\u3067\u3059\u3002

"},{"location":"ja/contribute-operations/#_16","title":"\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u89e3\u9664\u3059\u308b","text":"

\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u524a\u9664\u3057\u3066\u5b9f\u969b\u306b\u6e2c\u5b9a\u3055\u308c\u305f\u9045\u5ef6\u306e\u4f7f\u7528\u306b\u623b\u308b\u306b\u306f\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f \u6ce8\u610f\uff1a \u30ea\u30f3\u30af\u304csoft-drained\u306e\u5834\u5408\u3001\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u308b\u305f\u3081\u306bdelay_ms\u3068delay_override_ms\u306e\u4e21\u65b9\u304c1000ms\uff081\u79d2\uff09\u306b\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/contribute-overview/","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8","text":"

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.

\u7528\u8a9e

DoubleZero\u3092\u521d\u3081\u3066\u5229\u7528\u3057\u307e\u3059\u304b\uff1f\u7528\u8a9e\u96c6\u3067DZD\u3001DZX\u3001CYOA\u306a\u3069\u306e\u4e3b\u8981\u306a\u7528\u8a9e\u306e\u5b9a\u7fa9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

DoubleZero\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\u3088\u3046\u3053\u305d\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306a\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3059\u3079\u3066\u3092\u30ab\u30d0\u30fc\u3057\u3066\u3044\u307e\u3059\u3002

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306a\u308b\u3053\u3068\u306b\u8208\u5473\u304c\u3042\u308a\u307e\u3059\u304b\uff1f

\u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30da\u30fc\u30b8\u3092\u78ba\u8a8d\u3057\u3066\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u8ca2\u732e\u306b\u5fc5\u8981\u306a\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3001\u5e2f\u57df\u5e45\u3001\u63a5\u7d9a\u6027\u3092\u7406\u89e3\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-overview/#_2","title":"\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8","text":"

\u3053\u306e\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\u3092\u4f7f\u3063\u3066\u9032\u6357\u3092\u8ffd\u8de1\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u8ca2\u732e\u304c\u6280\u8853\u7684\u306b\u904b\u7528\u53ef\u80fd\u306b\u306a\u308b\u524d\u306b\u3059\u3079\u3066\u306e\u9805\u76ee\u3092\u5b8c\u4e86\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute-overview/#1","title":"\u30d5\u30a7\u30fc\u30ba1\uff1a\u524d\u63d0\u6761\u4ef6","text":""},{"location":"ja/contribute-overview/#2","title":"\u30d5\u30a7\u30fc\u30ba2\uff1a\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7","text":""},{"location":"ja/contribute-overview/#3","title":"\u30d5\u30a7\u30fc\u30ba3\uff1a\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0","text":""},{"location":"ja/contribute-overview/#4","title":"\u30d5\u30a7\u30fc\u30ba4\uff1a\u30ea\u30f3\u30af\u78ba\u7acb\u3068\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":""},{"location":"ja/contribute-overview/#5","title":"\u30d5\u30a7\u30fc\u30ba5\uff1a\u30ea\u30f3\u30af\u306e\u30d0\u30fc\u30f3\u30a4\u30f3","text":""},{"location":"ja/contribute-overview/#6","title":"\u30d5\u30a7\u30fc\u30ba6\uff1a\u691c\u8a3c\u3068\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3","text":""},{"location":"ja/contribute-overview/#_3","title":"\u30d8\u30eb\u30d7\u306e\u53d6\u5f97","text":"

\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u4e00\u74b0\u3068\u3057\u3066\u3001DZF\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306eSlack\u30c1\u30e3\u30f3\u30cd\u30eb\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

\u30c1\u30e3\u30f3\u30cd\u30eb \u76ee\u7684 #dz-contributor-announcements DZF\u3068Malbec Labs\u304b\u3089\u306e\u516c\u5f0f\u901a\u77e5 \u2014 CLI/\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u91cd\u5927\u306a\u5909\u66f4\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30a2\u30ca\u30a6\u30f3\u30b9\u3002\u91cd\u8981\u306a\u66f4\u65b0\u3092\u76e3\u8996\u3057\u3001\u30b9\u30ec\u30c3\u30c9\u3067\u8cea\u554f\u3057\u3066\u304f\u3060\u3055\u3044\u3002 #dz-contributor-incidents \u4e88\u5b9a\u5916\u306e\u30b5\u30fc\u30d3\u30b9\u5f71\u97ff\u30a4\u30d9\u30f3\u30c8\u3002\u30a4\u30f3\u30b7\u30c7\u30f3\u30c8\u306fAPI/\u30a6\u30a7\u30d6\u30d5\u30a9\u30fc\u30e0\u3092\u901a\u3058\u3066\u6df1\u523b\u5ea6\u3068\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30c7\u30d0\u30a4\u30b9/\u30ea\u30f3\u30af\u3068\u3068\u3082\u306b\u81ea\u52d5\u6295\u7a3f\u3055\u308c\u307e\u3059\u3002\u30b9\u30ec\u30c3\u30c9\u3067\u8b70\u8ad6\u3068\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u304c\u884c\u308f\u308c\u307e\u3059\u3002 #dz-contributor-maintenance \u8a08\u753b\u3055\u308c\u305f\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u6d3b\u52d5\uff08\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u4fee\u7406\uff09\u3002API/\u30a6\u30a7\u30d6\u30d5\u30a9\u30fc\u30e0\u3092\u901a\u3058\u3066\u8a08\u753b\u3055\u308c\u305f\u958b\u59cb/\u7d42\u4e86\u6642\u9593\u3068\u3068\u3082\u306b\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002\u30b9\u30ec\u30c3\u30c9\u3067\u8b70\u8ad6\u304c\u884c\u308f\u308c\u307e\u3059\u3002 #dz-contributor-ops \u3059\u3079\u3066\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30aa\u30fc\u30d7\u30f3\u30c7\u30a3\u30b9\u30ab\u30c3\u30b7\u30e7\u30f3 \u2014 \u904b\u7528\u4e0a\u306e\u8cea\u554f\u3001CLI\u306e\u30d8\u30eb\u30d7\u3001\u30e9\u30f3\u30d6\u30c3\u30af\u3068\u30d7\u30ec\u30a4\u30d6\u30c3\u30af\u306e\u5171\u6709\u3002

\u307e\u305f\u3001\u7d44\u7e54\u3078\u306e\u76f4\u63a5\u30b5\u30dd\u30fc\u30c8\u306e\u305f\u3081\u306b\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8DZ/Malbec Labs\u30c1\u30e3\u30f3\u30cd\u30eb\u3082\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/contribute-overview/#dz","title":"DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30eb\u30fc\u30eb","text":"

\u91cd\u8981\uff1aDZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30d7\u30fc\u30eb\u306e\u4f7f\u7528

\u63d0\u4f9b\u3059\u308bDZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30d7\u30fc\u30eb\u306fDoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u304cIP\u5272\u308a\u5f53\u3066\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u4f7f\u7528\u65b9\u6cd5\uff1a

\u3053\u308c\u3089\u306e\u30a2\u30c9\u30ec\u30b9\u306f\u4ee5\u4e0b\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\uff1a

\u8981\u4ef6\uff1a

\u81ea\u793e\u306e\u6a5f\u5668\u7528\u306b\u30a2\u30c9\u30ec\u30b9\u304c\u5fc5\u8981\u306a\u5834\u5408\uff08DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9IP\u3001\u7ba1\u7406\u306a\u3069\uff09\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-overview/#_4","title":"\u30af\u30a4\u30c3\u30af\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\uff1a\u4e3b\u8981\u7528\u8a9e","text":"

DoubleZero\u3092\u521d\u3081\u3066\u5229\u7528\u3057\u307e\u3059\u304b\uff1f\u4ee5\u4e0b\u306f\u5fc5\u9808\u306e\u7528\u8a9e\u3067\u3059\uff08\u5b8c\u5168\u306a\u7528\u8a9e\u96c6\u3092\u53c2\u7167\uff09\uff1a

\u7528\u8a9e \u5b9a\u7fa9 DZD DoubleZero\u30c7\u30d0\u30a4\u30b9 - DZ\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u5b9f\u884c\u3059\u308b\u7269\u7406Arista\u30b9\u30a4\u30c3\u30c1 DZX DoubleZero Exchange - \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u30d4\u30a2\u3059\u308b\u30e1\u30c8\u30ed\u76f8\u4e92\u63a5\u7d9a\u30dd\u30a4\u30f3\u30c8 CYOA Choose Your Own Adventure - \u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u65b9\u5f0f\uff08GREOverDIA\u3001GREOverFabric\u306a\u3069\uff09 DIA Direct Internet Access - \u3059\u3079\u3066\u306eDZD\u304c\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3068\u30c6\u30ec\u30e1\u30c8\u30ea\u306b\u5fc5\u8981\u3068\u3059\u308b\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u3001\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9\u3067\u306e\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u306eCYOA\u30bf\u30a4\u30d7\u3068\u3057\u3066\u3088\u304f\u4f7f\u7528\u3055\u308c\u308b WAN\u30ea\u30f3\u30af \u81ea\u793e\u306eDZD\u9593\u306e\u30ea\u30f3\u30af\uff08\u540c\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\uff09 DZX\u30ea\u30f3\u30af \u5225\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306eDZD\u3078\u306e\u30ea\u30f3\u30af\uff08\u76f8\u4e92\u627f\u8a8d\u304c\u5fc5\u8981\uff09 Config Agent \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3092\u30dd\u30fc\u30ea\u30f3\u30b0\u3057\u3001DZD\u306b\u8a2d\u5b9a\u3092\u9069\u7528\u3059\u308b Telemetry Agent TWAMP\u30ec\u30a4\u30c6\u30f3\u30b7/\u30ed\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53ce\u96c6\u3057\u3001\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u30ec\u30b8\u30e3\u30fc\u306b\u9001\u4fe1\u3059\u308b \u30b5\u30fc\u30d3\u30b9\u30ad\u30fc CLI\u64cd\u4f5c\u306e\u305f\u3081\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc \u30c6\u30ec\u30e1\u30c8\u30ea\u9001\u4fe1\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3067\u7f72\u540d\u3059\u308b\u305f\u3081\u306e\u30ad\u30fc"},{"location":"ja/contribute-overview/#_5","title":"\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u69cb\u6210","text":"\u30ac\u30a4\u30c9 \u8aac\u660e \u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3 \u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4ed5\u69d8\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3001\u5e2f\u57df\u5e45\u30aa\u30d7\u30b7\u30e7\u30f3 \u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0 \u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\uff1a\u30ad\u30fc \u2192 \u30ea\u30dd\u30b8\u30c8\u30ea\u30a2\u30af\u30bb\u30b9 \u2192 \u30c7\u30d0\u30a4\u30b9 \u2192 \u30ea\u30f3\u30af \u2192 \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8 \u904b\u7528 \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u30ea\u30f3\u30af\u7ba1\u7406\u3001\u76e3\u8996 \u7528\u8a9e\u96c6 \u3059\u3079\u3066\u306eDoubleZero\u7528\u8a9e\u306e\u5b9a\u7fa9"},{"location":"ja/contribute-overview/#_6","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30b8\u30cb\u30a2\u4ee5\u5916\u5411\u3051\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u57fa\u790e","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u304c\u306a\u3044\u5834\u5408\u306f\u3001\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u4f7f\u7528\u3055\u308c\u308b\u6982\u5ff5\u306e\u5165\u9580\u3068\u3057\u3066\u4ee5\u4e0b\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/contribute-overview/#ip","title":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0","text":""},{"location":"ja/contribute-overview/#_7","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5c64","text":""},{"location":"ja/contribute-overview/#_8","title":"\u4e00\u822c\u7684\u306a\u7528\u8a9e","text":""},{"location":"ja/contribute-overview/#doublezero","title":"DoubleZero\u56fa\u6709","text":"

\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u304b\uff1f\u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u304b\u3089\u59cb\u3081\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/","title":"\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u30ac\u30a4\u30c9","text":"

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.

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u3001DoubleZero\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u6700\u521d\u304b\u3089\u6700\u5f8c\u307e\u3067\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u624b\u9806\u3092\u8aac\u660e\u3057\u307e\u3059\u3002\u5404\u30d5\u30a7\u30fc\u30ba\u306f\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_2","title":"\u5168\u4f53\u50cf","text":"

\u624b\u9806\u306b\u5165\u308b\u524d\u306b\u3001\u69cb\u7bc9\u3059\u308b\u3082\u306e\u306e\u5168\u4f53\u50cf\u3092\u78ba\u8a8d\u3057\u307e\u3057\u3087\u3046\uff1a

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero\u30ec\u30b8\u30e3\u30fc]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc<br/>DoubleZero CLI]\n        DZD[\u3042\u306a\u305f\u306eDZD<br/>Arista\u30b9\u30a4\u30c3\u30c1]\n        DZD ---|WAN\u30ea\u30f3\u30af| DZD2[\u3082\u3046\u4e00\u53f0\u306eDZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[\u4ed6\u306eDZD]\n    end\n\n    subgraph Users\n        VAL[\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc]\n        RPC[RPC\u30ce\u30fc\u30c9]\n    end\n\n    MGMT -.->|\u30c7\u30d0\u30a4\u30b9\u3001\u30ea\u30f3\u30af\u3001<br/>\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u767b\u9332| SC\n    DZD ---|DZX\u30ea\u30f3\u30af| OtherDZD\n    VAL ---|\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63a5\u7d9a| DZD\n    RPC ---|\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63a5\u7d9a| DZD
"},{"location":"ja/contribute-provisioning/#1","title":"\u30d5\u30a7\u30fc\u30ba1\uff1a\u524d\u63d0\u6761\u4ef6","text":"

\u30c7\u30d0\u30a4\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u524d\u306b\u3001\u7269\u7406\u7684\u306a\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u3001\u3044\u304f\u3064\u304b\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_3","title":"\u5fc5\u8981\u306a\u3082\u306e","text":"\u8981\u4ef6 \u5fc5\u8981\u306a\u7406\u7531 DZD\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2 Arista 7280CR3A\u30b9\u30a4\u30c3\u30c1\uff08\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4ed5\u69d8\u53c2\u7167\uff09 \u30e9\u30c3\u30af\u30b9\u30da\u30fc\u30b9 \u9069\u5207\u306a\u30a8\u30a2\u30d5\u30ed\u30fc\u3092\u6301\u30644U \u96fb\u529b \u5197\u9577\u30d5\u30a3\u30fc\u30c9\u3001\u7d044KW\u63a8\u5968 \u7ba1\u7406\u30a2\u30af\u30bb\u30b9 \u30b9\u30a4\u30c3\u30c1\u3092\u8a2d\u5b9a\u3059\u308b\u305f\u3081\u306eSSH/\u30b3\u30f3\u30bd\u30fc\u30eb\u30a2\u30af\u30bb\u30b9 \u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a \u30e1\u30c8\u30ea\u30af\u30b9\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3068\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u304b\u3089\u306e\u8a2d\u5b9a\u53d6\u5f97\u306e\u305f\u3081 \u30d1\u30d6\u30ea\u30c3\u30afIPv4\u30d6\u30ed\u30c3\u30af DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30d7\u30fc\u30eb\u7528\u306e\u6700\u5c0f/29\uff08\u4ee5\u4e0b\u53c2\u7167\uff09"},{"location":"ja/contribute-provisioning/#doublezero-cli","title":"DoubleZero CLI\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

DoubleZero CLI\uff08doublezero\uff09\u306f\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u5168\u4f53\u3067\u30c7\u30d0\u30a4\u30b9\u306e\u767b\u9332\u3001\u30ea\u30f3\u30af\u306e\u4f5c\u6210\u3001\u8ca2\u732e\u306e\u7ba1\u7406\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002DZD\u30b9\u30a4\u30c3\u30c1\u81ea\u4f53\u3067\u306f\u306a\u304f\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u307e\u305f\u306fVM\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30b9\u30a4\u30c3\u30c1\u306fConfig Agent\u3068Telemetry Agent\u306e\u307f\u3092\u5b9f\u884c\u3057\u307e\u3059\uff08\u30d5\u30a7\u30fc\u30ba4\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\uff09\u3002

Ubuntu / Debian\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u30c7\u30fc\u30e2\u30f3\u304c\u5b9f\u884c\u4e2d\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

sudo systemctl status doublezerod\n

"},{"location":"ja/contribute-provisioning/#dz","title":"DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306b\u3064\u3044\u3066","text":"

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306fDoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u304cIP\u5272\u308a\u5f53\u3066\u306b\u7ba1\u7406\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u306e\u30d6\u30ed\u30c3\u30af\u3067\u3059\u3002

flowchart LR\n    subgraph \"\u3042\u306a\u305f\u306e/29\u30d6\u30ed\u30c3\u30af\uff088 IP\uff09\"\n        IP1[\"\u6700\u521d\u306eIP<br/>\u30c7\u30d0\u30a4\u30b9\u7528\u306b<br/>\u4e88\u7d04\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|\u5272\u308a\u5f53\u3066\u5148| LO[DZD\u4e0a\u306e<br/>Loopback100]\n    IP2 -->|\u5272\u308a\u5f53\u3066\u5148| U1[\u30e6\u30fc\u30b6\u30fc1]\n    IP3 -->|\u5272\u308a\u5f53\u3066\u5148| U2[\u30e6\u30fc\u30b6\u30fc2]

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u4f7f\u7528\u65b9\u6cd5\uff1a

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30eb\u30fc\u30eb

\u3053\u308c\u3089\u306e\u30a2\u30c9\u30ec\u30b9\u306f\u4ee5\u4e0b\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\uff1a

\u8981\u4ef6\uff1a

\u81ea\u793e\u306e\u6a5f\u5668\u7528\u306b\u30a2\u30c9\u30ec\u30b9\u304c\u5fc5\u8981\u306a\u5834\u5408\uff08DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9IP\u3001\u7ba1\u7406\u306a\u3069\uff09\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#2","title":"\u30d5\u30a7\u30fc\u30ba2\uff1a\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7","text":"

\u3053\u306e\u30d5\u30a7\u30fc\u30ba\u3067\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30c7\u30d0\u30a4\u30b9\u3092\u8b58\u5225\u3059\u308b\u6697\u53f7\u9375\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#cli","title":"CLI\u3092\u5b9f\u884c\u3059\u308b\u5834\u6240","text":"

\u30b9\u30a4\u30c3\u30c1\u306bCLI\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044

DoubleZero CLI\uff08doublezero\uff09\u306fArista\u30b9\u30a4\u30c3\u30c1\u3067\u306f\u306a\u304f\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u307e\u305f\u306fVM\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

flowchart LR\n    subgraph \"\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[\u30ad\u30fc\u30da\u30a2]\n    end\n\n    subgraph \"DZD\u30b9\u30a4\u30c3\u30c1\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|\u30c7\u30d0\u30a4\u30b9\u3001\u30ea\u30f3\u30af\u3092\u4f5c\u6210| BC[\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3]\n    CA -->|\u8a2d\u5b9a\u3092\u53d6\u5f97| CTRL[\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc]\n    TA -->|\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u9001\u4fe1| BC
\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u30b9\u30a4\u30c3\u30c1\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb doublezero CLI Config Agent \u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u30da\u30a2 Telemetry Agent \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u30da\u30a2 \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u30da\u30a2\uff08\u30b3\u30d4\u30fc\uff09"},{"location":"ja/contribute-provisioning/#_4","title":"\u30ad\u30fc\u3068\u306f\uff1f","text":"

\u30ad\u30fc\u306f\u5b89\u5168\u306a\u30ed\u30b0\u30a4\u30f3\u8a8d\u8a3c\u60c5\u5831\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\uff1a

\u3069\u3061\u3089\u3082\u6697\u53f7\u9375\u30da\u30a2\uff08\u5171\u6709\u3059\u308b\u516c\u958b\u9375\u3068\u79d8\u5bc6\u306b\u4fdd\u6301\u3059\u308b\u79d8\u5bc6\u9375\uff09\u3067\u3059\u3002

flowchart LR\n    subgraph \"\u3042\u306a\u305f\u306e\u30ad\u30fc\"\n        SK[\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc<br/>~/.config/solana/id.json]\n        MK[\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|\u4f7f\u7528\u5148| CLI[CLI\u30b3\u30de\u30f3\u30c9<br/>doublezero device create<br/>doublezero link create]\n    MK -->|\u4f7f\u7528\u5148| TEL[Telemetry Agent<br/>\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u9001\u4fe1]
"},{"location":"ja/contribute-provisioning/#21","title":"\u30b9\u30c6\u30c3\u30d72.1\uff1a\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u306e\u751f\u6210","text":"

\u3053\u308c\u306fDoubleZero\u3068\u5bfe\u8a71\u3059\u308b\u305f\u3081\u306e\u30e1\u30a4\u30f3\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3067\u3059\u3002

doublezero keygen\n

\u3053\u308c\u306b\u3088\u308a\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u5834\u6240\u306b\u30ad\u30fc\u30da\u30a2\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002\u51fa\u529b\u306b\u306f\u516c\u958b\u9375\u304c\u8868\u793a\u3055\u308c\u307e\u3059 - \u3053\u308c\u3092DZF\u3068\u5171\u6709\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#22","title":"\u30b9\u30c6\u30c3\u30d72.2\uff1a\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u306e\u751f\u6210","text":"

\u3053\u306e\u30ad\u30fc\u306fTelemetry Agent\u304c\u30e1\u30c8\u30ea\u30af\u30b9\u9001\u4fe1\u306b\u7f72\u540d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"ja/contribute-provisioning/#23dzf","title":"\u30b9\u30c6\u30c3\u30d72.3\uff1aDZF\u3078\u306e\u30ad\u30fc\u306e\u63d0\u51fa","text":"

DoubleZero Foundation\u307e\u305f\u306fMalbec Labs\u306b\u9023\u7d61\u3057\u3001\u4ee5\u4e0b\u3092\u63d0\u4f9b\u3057\u307e\u3059\uff1a

  1. \u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u306e\u516c\u958b\u9375
  2. GitHub\u30e6\u30fc\u30b6\u30fc\u540d\uff08\u30ea\u30dd\u30b8\u30c8\u30ea\u30a2\u30af\u30bb\u30b9\u306e\u305f\u3081\uff09

DZF\u306f\u4ee5\u4e0b\u3092\u884c\u3044\u307e\u3059\uff1a

"},{"location":"ja/contribute-provisioning/#24","title":"\u30b9\u30c6\u30c3\u30d72.4\uff1a\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u78ba\u8a8d","text":"

\u78ba\u8a8d\u5f8c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u5b58\u5728\u3059\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero contributor list\n

\u4e00\u89a7\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30b3\u30fc\u30c9\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#25contributors","title":"\u30b9\u30c6\u30c3\u30d72.5\uff1aContributors\u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9","text":"

malbeclabs/contributors\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u306f\u4ee5\u4e0b\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\uff1a

\u30c7\u30d0\u30a4\u30b9\u56fa\u6709\u306e\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u3053\u306e\u6307\u793a\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#3","title":"\u30d5\u30a7\u30fc\u30ba3\uff1a\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0","text":"

\u3053\u3053\u3067\u306f\u7269\u7406\u7684\u306a\u30c7\u30d0\u30a4\u30b9\u3092\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306b\u767b\u9332\u3057\u3001\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_5","title":"\u30c7\u30d0\u30a4\u30b9\u30bf\u30a4\u30d7\u306b\u3064\u3044\u3066","text":"
flowchart TB\n    subgraph \"\u30a8\u30c3\u30b8\u30c7\u30d0\u30a4\u30b9\"\n        E[\u30a8\u30c3\u30b8DZD]\n        EU[\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u3053\u306b\u63a5\u7d9a]\n        EU --> E\n        E <-->|DZX\u30ea\u30f3\u30af| ED[\u4ed6\u306eDZD]\n    end\n\n    subgraph \"\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u30c7\u30d0\u30a4\u30b9\"\n        T[\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8DZD]\n        T <-->|WAN\u30ea\u30f3\u30af| T2[\u5225\u306eDZD]\n        T <-->|DZX\u30ea\u30f3\u30af| TD[\u4ed6\u306eDZD]\n    end\n\n    subgraph \"\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9\"\n        H[\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9DZD]\n        HU[\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u3053\u306b\u63a5\u7d9a]\n        HU --> H\n        H <-->|WAN\u30ea\u30f3\u30af| H2[\u5225\u306eDZD]\n        H <-->|DZX\u30ea\u30f3\u30af| HD[\u4ed6\u306eDZD]\n    end
\u30bf\u30a4\u30d7 \u6a5f\u80fd \u4f7f\u7528\u3059\u308b\u3068\u304d \u30a8\u30c3\u30b8 \u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u306e\u307f\u3092\u53d7\u3051\u5165\u308c\u308b \u5358\u4e00\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30e6\u30fc\u30b6\u30fc\u5411\u3051\u306e\u307f \u30c8\u30e9\u30f3\u30b8\u30c3\u30c8 \u30c7\u30d0\u30a4\u30b9\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u79fb\u52d5 \u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u63a5\u7d9a\u3001\u30e6\u30fc\u30b6\u30fc\u306a\u3057 \u30cf\u30a4\u30d6\u30ea\u30c3\u30c9 \u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3068\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u306e\u4e21\u65b9 \u6700\u3082\u4e00\u822c\u7684 - \u3059\u3079\u3066\u3092\u884c\u3046"},{"location":"ja/contribute-provisioning/#31","title":"\u30b9\u30c6\u30c3\u30d73.1\uff1a\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u3092\u8abf\u3079\u308b","text":"

\u30c7\u30d0\u30a4\u30b9\u3092\u4f5c\u6210\u3059\u308b\u524d\u306b\u3001\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306e\u5834\u6240\u3068\u6700\u5bc4\u308a\u306e\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u306e\u30b3\u30fc\u30c9\u3092\u8abf\u3079\u307e\u3059\uff1a

# \u5229\u7528\u53ef\u80fd\u306a\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\uff08\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\uff09\u3092\u4e00\u89a7\u8868\u793a\ndoublezero location list\n\n# \u5229\u7528\u53ef\u80fd\u306a\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\uff08\u76f8\u4e92\u63a5\u7d9a\u30dd\u30a4\u30f3\u30c8\uff09\u3092\u4e00\u89a7\u8868\u793a\ndoublezero exchange list\n
"},{"location":"ja/contribute-provisioning/#32","title":"\u30b9\u30c6\u30c3\u30d73.2\uff1a\u30c7\u30d0\u30a4\u30b9\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3067\u4f5c\u6210\u3059\u308b","text":"

\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306b\u30c7\u30d0\u30a4\u30b9\u3092\u767b\u9332\u3057\u307e\u3059\uff1a

doublezero device create \\\n  --code <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> \\\n  --contributor <\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30b3\u30fc\u30c9> \\\n  --device-type hybrid \\\n  --location <\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9> \\\n  --exchange <\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u30b3\u30fc\u30c9> \\\n  --public-ip <\u30c7\u30d0\u30a4\u30b9\u30d1\u30d6\u30ea\u30c3\u30afIP> \\\n  --dz-prefixes <DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9>\n

\u4f8b\uff1a

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 4vKz8H...truncated...7xPq2\n

\u30c7\u30d0\u30a4\u30b9\u304c\u4f5c\u6210\u3055\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero device list | grep nyc-dz001\n

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u8aac\u660e\uff1a

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc \u610f\u5473 --code \u30c7\u30d0\u30a4\u30b9\u306e\u4e00\u610f\u306e\u540d\u524d\uff08\u4f8b\uff1anyc-dz001\uff09 --contributor \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30b3\u30fc\u30c9\uff08DZF\u304b\u3089\u4ed8\u4e0e\uff09 --device-type hybrid\u3001transit\u3001\u307e\u305f\u306fedge --location location list\u304b\u3089\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u30b3\u30fc\u30c9 --exchange exchange list\u304b\u3089\u306e\u6700\u5bc4\u308a\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u30b3\u30fc\u30c9 --public-ip \u30e6\u30fc\u30b6\u30fc\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30afIP --dz-prefixes \u30e6\u30fc\u30b6\u30fc\u7528\u306e\u5272\u308a\u5f53\u3066IP\u30d6\u30ed\u30c3\u30af"},{"location":"ja/contribute-provisioning/#33","title":"\u30b9\u30c6\u30c3\u30d73.3\uff1a\u5fc5\u8981\u306a\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b","text":"

\u3059\u3079\u3066\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u306f\u5185\u90e8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u7528\u306e2\u3064\u306e\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u5fc5\u8981\u3067\u3059\uff1a

# VPNv4\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\ndoublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Loopback255 --loopback-type vpnv4\n\n# IPv4\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\ndoublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Loopback256 --loopback-type ipv4\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff08\u5404\u30b3\u30de\u30f3\u30c9\uff09\uff1a

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"ja/contribute-provisioning/#34","title":"\u30b9\u30c6\u30c3\u30d73.4\uff1a\u7269\u7406\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b","text":"

\u4f7f\u7528\u3059\u308b\u7269\u7406\u30dd\u30fc\u30c8\u3092\u767b\u9332\u3057\u307e\u3059\uff1a

# \u57fa\u672c\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\ndoublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Ethernet1/1\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"ja/contribute-provisioning/#35cyoa","title":"\u30b9\u30c6\u30c3\u30d73.5\uff1aCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b\uff08\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9\u306e\u5834\u5408\uff09","text":"

\u30c7\u30d0\u30a4\u30b9\u304c\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u5834\u5408\u3001CYOA\uff08Choose Your Own Adventure\uff09\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u3069\u306e\u3088\u3046\u306b\u63a5\u7d9a\u3059\u308b\u304b\u3092\u30b7\u30b9\u30c6\u30e0\u306b\u4f1d\u3048\u307e\u3059\u3002

CYOA\u30bf\u30a4\u30d7\u306e\u8aac\u660e\uff1a

\u30bf\u30a4\u30d7 \u308f\u304b\u308a\u3084\u3059\u3044\u8aac\u660e \u4f7f\u7528\u3059\u308b\u5834\u5408 gre-over-dia \u30e6\u30fc\u30b6\u30fc\u304c\u901a\u5e38\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63a5\u7d9a \u6700\u3082\u4e00\u822c\u7684 - \u30e6\u30fc\u30b6\u30fc\u304cDIA\u3092\u901a\u3058\u3066DZD\u306b\u63a5\u7d9a gre-over-private-peering \u30e6\u30fc\u30b6\u30fc\u304c\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30ea\u30f3\u30af\u7d4c\u7531\u3067\u63a5\u7d9a \u30e6\u30fc\u30b6\u30fc\u304c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u76f4\u63a5\u63a5\u7d9a gre-over-public-peering \u30e6\u30fc\u30b6\u30fc\u304cIX\u7d4c\u7531\u3067\u63a5\u7d9a \u30e6\u30fc\u30b6\u30fc\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u3067\u30d4\u30a2\u30ea\u30f3\u30b0 gre-over-fabric \u30e6\u30fc\u30b6\u30fc\u304c\u540c\u3058\u30ed\u30fc\u30ab\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a \u30e6\u30fc\u30b6\u30fc\u304c\u540c\u3058\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u5b58\u5728 gre-over-cable \u30e6\u30fc\u30b6\u30fc\u3078\u306e\u76f4\u63a5\u30b1\u30fc\u30d6\u30eb \u5358\u4e00\u5c02\u7528\u30e6\u30fc\u30b6\u30fc

\u4f8b - \u6a19\u6e96\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\uff1a

doublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 2wLp8N...truncated...5vHt3\n

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u8aac\u660e\uff1a

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc \u610f\u5473 --interface-cyoa \u30e6\u30fc\u30b6\u30fc\u306e\u63a5\u7d9a\u65b9\u6cd5\uff08\u4e0a\u8a18\u30c6\u30fc\u30d6\u30eb\u53c2\u7167\uff09 --interface-dia \u3053\u308c\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u5411\u304d\u30dd\u30fc\u30c8\u306e\u5834\u5408\u306fdia --bandwidth Mbps\u306e\u30dd\u30fc\u30c8\u901f\u5ea6\uff0810000 = 10Gbps\uff09 --cir Mbps\u306e\u30b3\u30df\u30c3\u30c8\u6e08\u307f\u30ec\u30fc\u30c8\uff08\u4fdd\u8a3c\u5e2f\u57df\u5e45\uff09 --user-tunnel-endpoint \u3053\u306e\u30dd\u30fc\u30c8\u306f\u30e6\u30fc\u30b6\u30fc\u30c8\u30f3\u30cd\u30eb\u3092\u53d7\u3051\u5165\u308c\u308b"},{"location":"ja/contribute-provisioning/#36","title":"\u30b9\u30c6\u30c3\u30d73.6\uff1a\u30c7\u30d0\u30a4\u30b9\u3092\u78ba\u8a8d\u3059\u308b","text":"
doublezero device list\n

\u51fa\u529b\u4f8b\uff1a

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

\u30c7\u30d0\u30a4\u30b9\u306f\u30b9\u30c6\u30fc\u30bf\u30b9activated\u3067\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#4","title":"\u30d5\u30a7\u30fc\u30ba4\uff1a\u30ea\u30f3\u30af\u78ba\u7acb\u3068\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

\u30ea\u30f3\u30af\u306f\u30c7\u30d0\u30a4\u30b9\u3092DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u6b8b\u308a\u306e\u90e8\u5206\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_6","title":"\u30ea\u30f3\u30af\u306b\u3064\u3044\u3066","text":"
flowchart LR\n    subgraph \"\u3042\u306a\u305f\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\"\n        D1[\u3042\u306a\u305f\u306eDZD 1<br/>NYC]\n        D2[\u3042\u306a\u305f\u306eDZD 2<br/>LAX]\n    end\n\n    subgraph \"\u4ed6\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\"\n        O1[\u5f7c\u3089\u306eDZD<br/>NYC]\n    end\n\n    D1 ---|WAN\u30ea\u30f3\u30af<br/>\u540c\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc| D2\n    D1 ---|DZX\u30ea\u30f3\u30af<br/>\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc| O1
\u30ea\u30f3\u30af\u30bf\u30a4\u30d7 \u63a5\u7d9a\u5148 \u627f\u8a8d WAN\u30ea\u30f3\u30af \u3042\u306a\u305f\u306e2\u3064\u306e\u30c7\u30d0\u30a4\u30b9 \u81ea\u52d5\uff08\u4e21\u65b9\u3092\u6240\u6709\uff09 DZX\u30ea\u30f3\u30af \u3042\u306a\u305f\u306e\u30c7\u30d0\u30a4\u30b9\u3068\u5225\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c7\u30d0\u30a4\u30b9 \u76f8\u624b\u306e\u627f\u8a8d\u304c\u5fc5\u8981"},{"location":"ja/contribute-provisioning/#41wan","title":"\u30b9\u30c6\u30c3\u30d74.1\uff1aWAN\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\uff08\u8907\u6570\u306e\u30c7\u30d0\u30a4\u30b9\u304c\u3042\u308b\u5834\u5408\uff09","text":"

WAN\u30ea\u30f3\u30af\u306f\u81ea\u5206\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u63a5\u7d9a\u3057\u307e\u3059\uff1a

doublezero link create wan \\\n  --code <\u30ea\u30f3\u30af\u30b3\u30fc\u30c9> \\\n  --contributor <\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc> \\\n  --side-a <\u30c7\u30d0\u30a4\u30b91\u306e\u30b3\u30fc\u30c9> \\\n  --side-a-interface <\u30c7\u30d0\u30a4\u30b91\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9> \\\n  --side-z <\u30c7\u30d0\u30a4\u30b92\u306e\u30b3\u30fc\u30c9> \\\n  --side-z-interface <\u30c7\u30d0\u30a4\u30b92\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

\u4f8b\uff1a

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"ja/contribute-provisioning/#42dzx","title":"\u30b9\u30c6\u30c3\u30d74.2\uff1aDZX\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b","text":"

DZX\u30ea\u30f3\u30af\u306f\u30c7\u30d0\u30a4\u30b9\u3092\u5225\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306eDZD\u306b\u76f4\u63a5\u63a5\u7d9a\u3057\u307e\u3059\uff1a

doublezero link create dzx \\\n  --code <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9A:\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9Z> \\\n  --contributor <\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc> \\\n  --side-a <\u3042\u306a\u305f\u306e\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> \\\n  --side-a-interface <\u3042\u306a\u305f\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9> \\\n  --side-z <\u4ed6\u306e\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> \\\n  --bandwidth <\u5e2f\u57df\u5e45 Kbps\u3001Mbps\u3001\u307e\u305f\u306fGbps> \\\n  --mtu <MTU> \\\n  --delay-ms <\u9045\u5ef6> \\\n  --jitter-ms <\u30b8\u30c3\u30bf\u30fc>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 8mKp3W...truncated...2nRx7\n

DZX\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3057\u305f\u5f8c\u3001\u4ed6\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u305d\u308c\u3092\u627f\u8a8d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff1a

# \u4ed6\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u3053\u308c\u3092\u5b9f\u884c\u3059\u308b\ndoublezero link accept \\\n  --code <\u30ea\u30f3\u30af\u30b3\u30fc\u30c9> \\\n  --side-z-interface <\u5f7c\u3089\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff08\u627f\u8a8d\u3059\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u7528\uff09\uff1a

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"ja/contribute-provisioning/#43","title":"\u30b9\u30c6\u30c3\u30d74.3\uff1a\u30ea\u30f3\u30af\u3092\u78ba\u8a8d\u3059\u308b","text":"
doublezero link list\n

\u51fa\u529b\u4f8b\uff1a

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

\u4e21\u5074\u304c\u8a2d\u5b9a\u3055\u308c\u308b\u3068\u30ea\u30f3\u30af\u306f\u30b9\u30c6\u30fc\u30bf\u30b9activated\u3092\u8868\u793a\u3059\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_7","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

2\u3064\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304cDZD\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\uff1a

flowchart TB\n    subgraph \"\u3042\u306a\u305f\u306eDZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[\u30b9\u30a4\u30c3\u30c1\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2/\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2]\n    end\n\n    CA -->|\u8a2d\u5b9a\u3092\u30dd\u30fc\u30ea\u30f3\u30b0| CTRL[\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9]\n    CA -->|\u8a2d\u5b9a\u3092\u9069\u7528| HW\n\n    HW -->|\u30e1\u30c8\u30ea\u30af\u30b9| TA\n    TA -->|\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u9001\u4fe1| BC[DoubleZero\u30ec\u30b8\u30e3\u30fc]
\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8 \u6a5f\u80fd Config Agent \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u304b\u3089\u8a2d\u5b9a\u3092\u53d6\u5f97\u3057\u3001\u30b9\u30a4\u30c3\u30c1\u306b\u9069\u7528\u3059\u308b Telemetry Agent \u4ed6\u306e\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u30ec\u30a4\u30c6\u30f3\u30b7/\u30ed\u30b9\u3092\u6e2c\u5b9a\u3057\u3001\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u5831\u544a\u3059\u308b"},{"location":"ja/contribute-provisioning/#44config-agent","title":"\u30b9\u30c6\u30c3\u30d74.4\uff1aConfig Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":""},{"location":"ja/contribute-provisioning/#api","title":"\u30b9\u30a4\u30c3\u30c1\u3067API\u3092\u6709\u52b9\u306b\u3059\u308b","text":"

EOS\u8a2d\u5b9a\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF\u306b\u95a2\u3059\u308b\u6ce8\u610f

\u7570\u306a\u308b\u5834\u5408\uff08\u4f8b\uff1amanagement\uff09\u306fdefault\u3092\u7ba1\u7406VRF\u540d\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#_8","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3068\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"
# \u30b9\u30a4\u30c3\u30c1\u3067bash\u306b\u5165\u308b\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS\u62e1\u5f35\u6a5f\u80fd\u3068\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-provisioning/#_9","title":"\u62e1\u5f35\u6a5f\u80fd\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show extensions\n

\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\"A, I, B\"\u3067\u3042\u308b\u3079\u304d\u3067\u3059\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ja/contribute-provisioning/#_10","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u8d77\u52d5\u3059\u308b","text":"

EOS\u8a2d\u5b9a\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <\u30c7\u30d0\u30a4\u30b9\u516c\u958b\u9375>\n    no shut\n

VRF\u306b\u95a2\u3059\u308b\u6ce8\u610f

\u7ba1\u7406VRF\u304cdefault\u3067\u306a\u3044\u5834\u5408\uff08\u3064\u307e\u308a\u540d\u524d\u7a7a\u9593\u304cns-default\u3067\u306a\u3044\u5834\u5408\uff09\u3001exec\u30b3\u30de\u30f3\u30c9\u306bexec /sbin/ip netns exec ns-<VRF>\u3092\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001VRF\u304cmanagement\u306e\u5834\u5408\uff1a

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <\u30c7\u30d0\u30a4\u30b9\u516c\u958b\u9375>\n    no shut\n

\u30c7\u30d0\u30a4\u30b9\u306e\u516c\u958b\u9375\u306fdoublezero device list\uff08account\u5217\uff09\u304b\u3089\u53d6\u5f97\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_11","title":"\u5b9f\u884c\u4e2d\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show agent doublezero-agent logs\n

\"Starting doublezero-agent\"\u3068\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u63a5\u7d9a\u306e\u6210\u529f\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#45telemetry-agent","title":"\u30b9\u30c6\u30c3\u30d74.5\uff1aTelemetry Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":""},{"location":"ja/contribute-provisioning/#_12","title":"\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u3092\u30c7\u30d0\u30a4\u30b9\u306b\u30b3\u30d4\u30fc\u3059\u308b","text":"
scp ~/.config/doublezero/metrics-publisher.json <\u30b9\u30a4\u30c3\u30c1IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"ja/contribute-provisioning/#_13","title":"\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u767b\u9332\u3059\u308b","text":"
doublezero device update \\\n  --pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> \\\n  --metrics-publisher <\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u516c\u958b\u9375>\n

\u516c\u958b\u9375\u306fmetrics-publisher.json\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u53d6\u5f97\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_14","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3068\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS\u62e1\u5f35\u6a5f\u80fd\u3068\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-provisioning/#_15","title":"\u62e1\u5f35\u6a5f\u80fd\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show extensions\n

\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\"A, I, B\"\u3067\u3042\u308b\u3079\u304d\u3067\u3059\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ja/contribute-provisioning/#_16","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u8d77\u52d5\u3059\u308b","text":"

EOS\u8a2d\u5b9a\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF\u306b\u95a2\u3059\u308b\u6ce8\u610f

\u7ba1\u7406VRF\u304cdefault\u3067\u306a\u3044\u5834\u5408\uff08\u3064\u307e\u308a\u540d\u524d\u7a7a\u9593\u304cns-default\u3067\u306a\u3044\u5834\u5408\uff09\u3001exec\u30b3\u30de\u30f3\u30c9\u306b--management-namespace ns-<VRF>\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001VRF\u304cmanagement\u306e\u5834\u5408\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"ja/contribute-provisioning/#_17","title":"\u5b9f\u884c\u4e2d\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show agent doublezero-telemetry logs\n

\"Starting telemetry collector\"\u3068\"Starting submission loop\"\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#5","title":"\u30d5\u30a7\u30fc\u30ba5\uff1a\u30ea\u30f3\u30af\u306e\u30d0\u30fc\u30f3\u30a4\u30f3","text":"

\u3059\u3079\u3066\u306e\u65b0\u3057\u3044\u30ea\u30f3\u30af\u306f\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u904b\u3076\u524d\u306b\u30d0\u30fc\u30f3\u30a4\u30f3\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059

\u65b0\u3057\u3044\u30ea\u30f3\u30af\u306f\u672c\u756a\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u305f\u3081\u306b\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u3055\u308c\u308b\u524d\u306b\u3001\u5c11\u306a\u304f\u3068\u308224\u6642\u9593\u30c9\u30ec\u30a4\u30f3\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30d0\u30fc\u30f3\u30a4\u30f3\u8981\u4ef6\u306fRFC12: Network Provisioning\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u304a\u308a\u3001\u30ea\u30f3\u30af\u304c\u30b5\u30fc\u30d3\u30b9\u6e96\u5099\u5b8c\u4e86\u306b\u306a\u308b\u524d\u306b\u7d04200,000 DZ Ledger\u30b9\u30ed\u30c3\u30c8\uff08\u7d0420\u6642\u9593\uff09\u306e\u30af\u30ea\u30fc\u30f3\u306a\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002

\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u5b9f\u884c\u4e2d\u306b\u306a\u3063\u305f\u3089\u3001\u5c11\u306a\u304f\u3068\u308224\u6642\u9593\u9023\u7d9a\u3057\u3066metrics.doublezero.xyz\u3067\u30ea\u30f3\u30af\u3092\u76e3\u8996\u3057\u307e\u3059\uff1a

\u30d0\u30fc\u30f3\u30a4\u30f3\u671f\u9593\u304c\u30bc\u30ed\u30ed\u30b9\u3068\u30bc\u30ed\u30a8\u30e9\u30fc\u306e\u30af\u30ea\u30fc\u30f3\u306a\u30ea\u30f3\u30af\u3092\u793a\u3057\u305f\u5f8c\u306b\u306e\u307f\u3001\u30ea\u30f3\u30af\u306e\u30c9\u30ec\u30a4\u30f3\u3092\u89e3\u9664\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#6","title":"\u30d5\u30a7\u30fc\u30ba6\uff1a\u78ba\u8a8d\u3068\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3","text":"

\u3059\u3079\u3066\u304c\u6a5f\u80fd\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u3001\u3053\u306e\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

\u30c7\u30d0\u30a4\u30b9\u306f\u30ed\u30c3\u30af\u72b6\u614b\uff08max_users = 0\uff09\u3067\u958b\u59cb\u3057\u307e\u3059

\u30c7\u30d0\u30a4\u30b9\u304c\u4f5c\u6210\u3055\u308c\u308b\u3068\u3001max_users\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u30670\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u307e\u3060\u30e6\u30fc\u30b6\u30fc\u304c\u63a5\u7d9a\u3067\u304d\u306a\u3044\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u610f\u56f3\u7684\u306a\u3082\u306e\u3067\u3059 \u2014 \u30e6\u30fc\u30b6\u30fc\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u53d7\u3051\u5165\u308c\u308b\u524d\u306b\u3059\u3079\u3066\u304c\u6a5f\u80fd\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

max_users\u30920\u4ee5\u4e0a\u306b\u8a2d\u5b9a\u3059\u308b\u524d\u306b\u3001\u4ee5\u4e0b\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff1a

  1. \u3059\u3079\u3066\u306e\u30ea\u30f3\u30af\u304cmetrics.doublezero.xyz\u3067\u30bc\u30ed\u30ed\u30b9/\u30a8\u30e9\u30fc\u306e24\u6642\u9593\u30d0\u30fc\u30f3\u30a4\u30f3\u3092\u5b8c\u4e86\u3057\u305f\u3053\u3068\u3092\u78ba\u8a8d
  2. DZ/Malbec Labs\u3068\u5354\u529b\u3057\u3066\u63a5\u7d9a\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\uff1a
    • \u30c6\u30b9\u30c8\u30e6\u30fc\u30b6\u30fc\u306f\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3067\u304d\u307e\u3059\u304b\uff1f
    • \u30e6\u30fc\u30b6\u30fc\u306fDZ\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u30eb\u30fc\u30c8\u3092\u53d7\u4fe1\u3057\u307e\u3059\u304b\uff1f
    • \u30e6\u30fc\u30b6\u30fc\u306fDZ\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30c9\u30c4\u30fc\u30a8\u30f3\u30c9\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3067\u304d\u307e\u3059\u304b\uff1f
  3. DZ/ML\u304c\u30c6\u30b9\u30c8\u5408\u683c\u3092\u78ba\u8a8d\u3057\u305f\u5f8c\u306b\u306e\u307f\u3001max_users\u309296\u306b\u8a2d\u5b9a\u3057\u307e\u3059\uff1a
doublezero device update --pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> --max-users 96\n
"},{"location":"ja/contribute-provisioning/#_18","title":"\u30c7\u30d0\u30a4\u30b9\u306e\u78ba\u8a8d","text":"
# \u30c7\u30d0\u30a4\u30b9\u306f\u30b9\u30c6\u30fc\u30bf\u30b9\"activated\"\u3067\u8868\u793a\u3055\u308c\u308b\u3079\u304d\ndoublezero device list | grep <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u4e00\u89a7\u8868\u793a\u3055\u308c\u308b\u3079\u304d\ndoublezero device interface list | grep <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"ja/contribute-provisioning/#_19","title":"\u30ea\u30f3\u30af\u306e\u78ba\u8a8d","text":"
# \u30ea\u30f3\u30af\u306f\u30b9\u30c6\u30fc\u30bf\u30b9\"activated\"\u3092\u8868\u793a\u3059\u308b\u3079\u304d\ndoublezero link list | grep <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"ja/contribute-provisioning/#_20","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u78ba\u8a8d","text":"

\u30b9\u30a4\u30c3\u30c1\u4e0a\u3067\uff1a

# Config Agent\u306f\u8a2d\u5b9a\u30d7\u30eb\u306e\u6210\u529f\u3092\u8868\u793a\u3059\u308b\u3079\u304d\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry Agent\u306f\u9001\u4fe1\u306e\u6210\u529f\u3092\u8868\u793a\u3059\u308b\u3079\u304d\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"ja/contribute-provisioning/#_21","title":"\u6700\u7d42\u78ba\u8a8d\u56f3","text":"
flowchart TB\n    subgraph \"\u78ba\u8a8d\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\"\n        D[\u30c7\u30d0\u30a4\u30b9\u30b9\u30c6\u30fc\u30bf\u30b9: activated?]\n        I[\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9: \u767b\u9332\u6e08\u307f?]\n        L[\u30ea\u30f3\u30af: activated?]\n        CA[Config Agent: \u8a2d\u5b9a\u3092\u53d6\u5f97\u4e2d?]\n        TA[Telemetry Agent: \u30e1\u30c8\u30ea\u30af\u30b9\u3092\u9001\u4fe1\u4e2d?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[\u3059\u3079\u3066\u306e\u78ba\u8a8d\u306b\u5408\u683c] --> NOTIFY[DZF/Malbec Labs\u306b\u901a\u77e5<br/>\u6280\u8853\u7684\u306b\u6e96\u5099\u5b8c\u4e86\u3067\u3059\uff01]
"},{"location":"ja/contribute-provisioning/#_22","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0","text":""},{"location":"ja/contribute-provisioning/#_23","title":"\u30c7\u30d0\u30a4\u30b9\u4f5c\u6210\u306b\u5931\u6557\u3059\u308b","text":""},{"location":"ja/contribute-provisioning/#requested","title":"\u30ea\u30f3\u30af\u304c\"requested\"\u30b9\u30c6\u30fc\u30bf\u30b9\u304b\u3089\u52d5\u304b\u306a\u3044","text":""},{"location":"ja/contribute-provisioning/#config-agent","title":"Config Agent\u304c\u63a5\u7d9a\u3057\u306a\u3044","text":""},{"location":"ja/contribute-provisioning/#telemetry-agent","title":"Telemetry Agent\u304c\u9001\u4fe1\u3057\u306a\u3044","text":""},{"location":"ja/contribute-provisioning/#_24","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7","text":""},{"location":"ja/contribute/","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3","text":"

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.

"},{"location":"ja/contribute/#_2","title":"\u6982\u8981","text":"

\u672a\u6d3b\u7528\u306e\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u53ce\u76ca\u5316\u3057\u305f\u3044\u65b9\u306f\u3069\u306a\u305f\u3067\u3082DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u8ca2\u732e\u3067\u304d\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30012\u70b9\u9593\u306b\u5c02\u7528\u5e2f\u57df\u5e45\u3092\u63d0\u4f9b\u3057\u3001\u5404\u7aef\u3067DoubleZero\u4e92\u63db\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u904b\u7528\u3057\u3001\u5404\u7aef\u3067\u30d1\u30d6\u30ea\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u304c\u5fc5\u8981\u3067\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u307e\u305f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3001\u30e6\u30fc\u30b6\u30fc\u691c\u7d22\u3001\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306a\u3069\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u5404DZD\u3067DoubleZero\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

DoubleZero\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u6e2c\u5b9a\u53ef\u80fd\u3067\u30c8\u30dd\u30ed\u30b8\u30fc\u306b\u7d71\u5408\u3067\u304d\u308b\u9ad8\u54c1\u8cea\u306e\u30ea\u30f3\u30af\u3092\u7dad\u6301\u3059\u308b\u3053\u3068\u3092\u4fdd\u8a3c\u3059\u308b\u305f\u3081\u306e\u790e\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u304c\u7570\u306a\u308b\u30e6\u30fc\u30b6\u30fc\u3068\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u9593\u3067\u6700\u3082\u52b9\u7387\u7684\u306a\u30a8\u30f3\u30c9\u30c4\u30fc\u30a8\u30f3\u30c9\u30d1\u30b9\u3092\u958b\u767a\u3067\u304d\u307e\u3059\u3002\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306e\u5b9f\u884c\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u5668\u3068\u5e2f\u57df\u5e45\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u5f8c\u3001\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u3057\u3066\u5206\u985e\u3055\u308c\u307e\u3059\u3002DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u3057\u3066\u306e\u53c2\u52a0\u80cc\u5f8c\u306e\u7d4c\u6e08\u5b66\u3092\u3055\u3089\u306b\u7406\u89e3\u3059\u308b\u306b\u306f\u3001DoubleZero Economics\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute/#doublezero","title":"DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306a\u308b\u8981\u4ef6","text":""},{"location":"ja/contribute/#_3","title":"\u30af\u30a4\u30c3\u30af\u30b9\u30bf\u30fc\u30c8\u30ac\u30a4\u30c9","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u3057\u3066\u3001DoubleZero\u3092\u958b\u59cb\u3059\u308b\u6700\u3082\u7c21\u5358\u306a\u65b9\u6cd5\u306f\u3001DoubleZero\u5c02\u7528\u306b\u5229\u7528\u3067\u304d\u308b\u5bb9\u91cf\u3092\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u3067\u7279\u5b9a\u3059\u308b\u3053\u3068\u3067\u3059\u3002\u7279\u5b9a\u3057\u305f\u3089\u3001DZD\u3092\u30c7\u30d7\u30ed\u30a4\u3057\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089IPv4\u5230\u9054\u53ef\u80fd\u6027\u3068\u6700\u4f4eMTU 2048\u30d0\u30a4\u30c8\u306e\u307f\u3092\u4f9d\u5b58\u95a2\u4fc2\u3068\u3057\u3066\u5fc5\u8981\u3068\u3059\u308bDoubleZero\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4fc3\u9032\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u56f31\u306f\u5e2f\u57df\u5e45\u3068\u30d1\u30b1\u30c3\u30c8\u9001\u4fe1\u30fb\u51e6\u7406\u30b5\u30fc\u30d3\u30b9\u3092\u8ca2\u732e\u3059\u308b\u305f\u3081\u306e\u6700\u3082\u30b7\u30f3\u30d7\u30eb\u306a\u30e2\u30c7\u30eb\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002DZD\u306f\u5404\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u914d\u5099\u3055\u308c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3057\u3066DoubleZero WAN\u63a5\u7d9a\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u30ed\u30fc\u30ab\u30eb\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\uff08\u901a\u5e38\u306fDirect Internet Access\uff08DIA\uff09\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\uff09\u306b\u3088\u3063\u3066\u88dc\u5b8c\u3055\u308c\u3001DoubleZero\u30e6\u30fc\u30b6\u30fc\u306e\u30aa\u30f3\u30e9\u30f3\u30d7\u3068\u3057\u3066\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002DIA\u304cDoubleZero\u306e\u30e6\u30fc\u30b6\u30fc\u30a2\u30af\u30bb\u30b9\u3092\u4fc3\u9032\u3059\u308b\u512a\u5148\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306a\u308b\u3053\u3068\u304c\u4e88\u60f3\u3055\u308c\u307e\u3059\u304c\u3001\u7269\u7406\u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u304b\u3089\u30b5\u30fc\u30d0\u30fc\u3078\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d5\u30a1\u30d6\u30ea\u30c3\u30af\u62e1\u5f35\u306a\u3069\u3001\u3055\u307e\u3056\u307e\u306a\u63a5\u7d9a\u30e2\u30c7\u30eb\u304c\u53ef\u80fd\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092Choose Your Own Adventure\uff08CYOA\uff09\u3068\u547c\u3073\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30dd\u30ea\u30b7\u30fc\u306b\u6700\u3082\u9069\u3057\u305f\u65b9\u6cd5\u3067\u30ed\u30fc\u30ab\u30eb\u307e\u305f\u306f\u30ea\u30e2\u30fc\u30c8\u30e6\u30fc\u30b6\u30fc\u3092\u63a5\u7d9a\u3059\u308b\u67d4\u8edf\u6027\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

\u3042\u3089\u3086\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u540c\u69d8\u306b\u3001\u5230\u9054\u53ef\u80fd\u6027\u306f\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u57fa\u672c\u7684\u306a\u90e8\u5206\u3067\u3042\u308a\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u5b64\u7acb\u3057\u3066\u5b58\u5728\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u305f\u3081\u3001DZD\u306f\u53c2\u52a0\u8005\u9593\u3067\u9023\u7d9a\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306bDoubleZero Exchange\uff08DZX\uff09\u3078\u306e\u30ea\u30f3\u30af\u3092\u6301\u305f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002

\u56f31\uff1a2\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e - \u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc"},{"location":"ja/contribute/#_4","title":"\u8ca2\u732e\u306e\u4f8b","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304cDoubleZero\u3078\u306e\u8ca2\u732e\u3092\u62e1\u5927\u3067\u304d\u308b\u65b9\u6cd5\u306f\u591a\u6570\u3042\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\uff1a

"},{"location":"ja/contribute/#132","title":"\u4f8b1\uff1a\u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30013\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u30012\u30ea\u30f3\u30af","text":"\u56f32\uff1a3\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e - \u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc

\u5358\u4e00\u306eDZD\u306fDoubleZero\u306b\u63d0\u4f9b\u3055\u308c\u308b\u8907\u6570\u306e\u30ea\u30f3\u30af\u3092\u30b5\u30dd\u30fc\u30c8\u3067\u304d\u307e\u3059\u3002\u56f32\u306f\u3001\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc1\u3068\u305d\u308c\u305e\u308c\u7570\u306a\u308b\u30ea\u30e2\u30fc\u30c8\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc2\u30683\u306e\u9593\u306e\u5e2f\u57df\u5e45\u3092\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u304c\u7d42\u7aef\u3059\u308b\u5834\u5408\u306e\u6f5c\u5728\u7684\u306a\u30c8\u30dd\u30ed\u30b8\u30fc\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30b7\u30ca\u30ea\u30aa\u3067\u306f\u3001\u5404\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u306f1\u3064\u306eDZD\u306e\u307f\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u3059\u3079\u3066\u306eDZD\u306fCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068\u3057\u3066DIA\u3092\u30e6\u30fc\u30b6\u30fc\u30aa\u30f3\u30e9\u30f3\u30d7\u306b\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/contribute/#233","title":"\u4f8b2\uff1a\u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30013\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u30013\u30ea\u30f3\u30af","text":"

\u56f33\u306f\u5358\u4e00\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c3\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306e\u30c8\u30e9\u30a4\u30a2\u30f3\u30b0\u30eb\u30c8\u30dd\u30ed\u30b8\u30fc\u306b3\u3064\u306e\u30ea\u30f3\u30af\u3092\u5c55\u958b\u3057\u305f\u5834\u5408\u306eDoubleZero\u30c8\u30dd\u30ed\u30b8\u30fc\u3092\u8aac\u660e\u3057\u3066\u3044\u307e\u3059\u3002\u4f8b1\u306b\u4f3c\u305f\u30b7\u30ca\u30ea\u30aa\u3067\u3001\u5358\u4e00\u306eDZD\u304c\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc1\u30012\u30013\u306b\u5c55\u958b\u3055\u308c\u3001\u305d\u308c\u305e\u308c2\u3064\u306e\u72ec\u7acb\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002\u7d50\u679c\u3068\u3057\u3066\u5f97\u3089\u308c\u308b\u30c8\u30dd\u30ed\u30b8\u30fc\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306e\u30c8\u30e9\u30a4\u30a2\u30f3\u30b0\u30eb\u307e\u305f\u306f\u30ea\u30f3\u30b0\u3067\u3059\u3002

\u56f33\uff1a3\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e - \u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc"},{"location":"ja/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

\u9023\u7d9a\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u4f5c\u6210\u306fDoubleZero\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u57fa\u672c\u7684\u306a\u69cb\u6210\u8981\u7d20\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30cb\u30e5\u30fc\u30e8\u30fc\u30af\uff08NYC\uff09\u3001\u30ed\u30f3\u30c9\u30f3\uff08LON\uff09\u3001\u6771\u4eac\uff08TYO\uff09\u306a\u3069\u306e\u90fd\u5e02\u3067\u3042\u308b\u5927\u90fd\u5e02\u570f\u5185\u306eDoubleZero Exchange\uff08DZX\uff09\u3092\u901a\u3058\u3066\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3057\u307e\u3059\u3002DZX\u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u306b\u4f3c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d5\u30a1\u30d6\u30ea\u30c3\u30af\u3067\u3042\u308a\u3001\u30d4\u30a2\u30ea\u30f3\u30b0\u3068\u30eb\u30fc\u30c8\u4ea4\u63db\u3092\u53ef\u80fd\u306b\u3057\u307e\u3059\u3002

\u56f34\u3067\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc1\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc1\u30012\u30013\u3067\u904b\u7528\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc2\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc2\u30014\u30015\u3067\u904b\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc2\u3067\u76f8\u4e92\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u5230\u9054\u7bc4\u56f2\u306f5\u3064\u306e\u9023\u7d9a\u3057\u305f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u62e1\u5927\u3055\u308c\u307e\u3059\u3002

\u56f34\uff1a2\u3064\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e"},{"location":"ja/contribute/#_5","title":"\u5e2f\u57df\u5e45\u8ca2\u732e\u30aa\u30d7\u30b7\u30e7\u30f3","text":"

DoubleZero\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u5bfe\u3057\u3001\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3092\u901a\u3058\u3066\u8868\u73fe\u3055\u308c\u308b2\u3064\u306e\u7d42\u7aef\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306eDZD\u9593\u306e\u4fdd\u8a3c\u3055\u308c\u305f\u5e2f\u57df\u5e45\u3001\u30ec\u30a4\u30c6\u30f3\u30b7\u3001\u30b8\u30c3\u30bf\u30fc\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306b\u3088\u308b\u7d71\u5408\u63a5\u7d9a\u6027\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u3092\u8981\u6c42\u3057\u307e\u3059\u3002DoubleZero\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u8ca2\u732e\u3092\u5b9f\u88c5\u3059\u308b\u65b9\u6cd5\u3092\u7fa9\u52d9\u4ed8\u3051\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u4ee5\u4e0b\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u305d\u308c\u305e\u308c\u306e\u5224\u65ad\u3067\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u6307\u793a\u7684\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u3068\u3063\u3066\u8003\u616e\u3059\u3079\u304d\u91cd\u8981\u306a\u5206\u91ce\uff1a

"},{"location":"ja/contribute/#1","title":"\u30ec\u30a4\u30e4\u30fc1\u5e2f\u57df\u5e45","text":"\u56f35\uff1a\u30ec\u30a4\u30e4\u30fc1\u5149\u5b66\u30b5\u30fc\u30d3\u30b9

\u30ec\u30a4\u30e4\u30fc1\u5e2f\u57df\u5e45\uff08\u3088\u308a\u6b63\u5f0f\u306b\u306f\u6ce2\u9577\u30b5\u30fc\u30d3\u30b9\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306f\u3001DWDM\u3001CWDM\u307e\u305f\u306f\u5149\u30de\u30eb\u30c1\u30d7\u30ec\u30af\u30b5\u30fc\uff08MUX\uff09\u306a\u3069\u306e\u65e2\u5b58\u306e\u5149\u5b66\u30a4\u30f3\u30d5\u30e9\u306b\u5c02\u7528\u5bb9\u91cf\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u56f35\u3067\u306f\u3001DZD\u306fL1 MUX\u306b\u30b1\u30fc\u30d6\u30eb\u63a5\u7d9a\u3055\u308c\u305f\u30ab\u30e9\u30fc\u30c9\u30aa\u30d7\u30c6\u30a3\u30af\u30b9\u3092\u4f7f\u7528\u3057\u3001DZD\u306e\u6ce2\u9577\u3092\u65e2\u5b58\u306e\u30c0\u30fc\u30af\u30d5\u30a1\u30a4\u30d0\u30fc\u306b\u591a\u91cd\u5316\u3057\u307e\u3059\u3002

\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306b\u306f\u3001\u65e2\u5b58\u306e\u30b3\u30a2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u904b\u7528\u3057\u3066\u3044\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u3068\u3063\u3066\u591a\u304f\u306e\u5229\u70b9\u304c\u3042\u308a\u307e\u3059\u3002\u53cd\u5fa9\u7684\u306a\u904b\u7528\u4e0a\u306e\u5909\u66f4\u3001\u304a\u3088\u3073\u8ffd\u52a0\u306eCAPEX\u3068OPEX\u306e\u8981\u4ef6\u306f\u63a7\u3048\u3081\u3067\u3059\u3002\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u306e\u5206\u96e2\u3092\u63d0\u4f9b\u3059\u308b\u4e0a\u3067\u7279\u306b\u5805\u7262\u3067\u3059\u3002

"},{"location":"ja/contribute/#_6","title":"\u30d1\u30b1\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u30c9\u5e2f\u57df\u5e45","text":"

\u30d1\u30b1\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u30c9\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3001\u30d3\u30b8\u30cd\u30b9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u6a19\u6e96\u7684\u306a\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u304a\u3088\u3073\u30b9\u30a4\u30c3\u30c1\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u5b9f\u884c\u3059\u308b\u5178\u578b\u7684\u306a\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u8003\u3048\u3089\u308c\u307e\u3059\u3002VLAN\u30bf\u30b0\u3092\u4f7f\u7528\u3057\u305f\u30ec\u30a4\u30e4\u30fc2\uff08L2\uff09\u62e1\u5f35\u306a\u3069\u3001\u63a5\u7d9a\u3092\u5b9f\u73fe\u3059\u308b\u3055\u307e\u3056\u307e\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u6280\u8853\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute/#l2","title":"L2\u62e1\u5f35","text":"\u56f36\uff1a\u30d1\u30b1\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u30c9\u30cd\u30c3\u30c8\u30ef\u30fc\u30af - L2\u62e1\u5f35

\u56f36\u306b\u793a\u3059L2\u62e1\u5f35\u306fVLAN\u30bf\u30ae\u30f3\u30b0\u3092\u901a\u3058\u3066\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002DZD\u306e\u30dd\u30fc\u30c8\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30a4\u30c3\u30c1\u306b\u30b1\u30fc\u30d6\u30eb\u63a5\u7d9a\u3067\u304d\u3001\u30b9\u30a4\u30c3\u30c1\u30dd\u30fc\u30c8\u306f\u4f8b\u3048\u3070VLAN 10\u306e\u30a2\u30af\u30bb\u30b9\u30dd\u30fc\u30c8\u3068\u3057\u3066\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002802.1q\u30bf\u30ae\u30f3\u30b0\u3092\u901a\u3058\u3066\u3001\u3053\u306eVLAN\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u8907\u6570\u306e\u30b9\u30a4\u30c3\u30c1\u30db\u30c3\u30d7\u3092\u901a\u3058\u3066\u904b\u642c\u3055\u308c\u3001\u30ea\u30e2\u30fc\u30c8DZD\u3068\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3059\u308b\u30b9\u30a4\u30c3\u30c1\u3067\u7d42\u7aef\u3055\u308c\u307e\u3059\u3002

\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u5e83\u304f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u3066\u6bd4\u8f03\u7684\u5b9f\u88c5\u304c\u5bb9\u6613\u3067\u3042\u308a\u3001DoubleZero\u3068\u5185\u90e8\u30ec\u30a4\u30e4\u30fc3\u30b5\u30fc\u30d3\u30b9\u9593\u306e\u30bb\u30b0\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u5e2f\u57df\u5e45\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30b9\u30a4\u30c3\u30c1\u307e\u305f\u306f\u30eb\u30fc\u30bf\u30fc\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u901f\u5ea6\u306b\u57fa\u3065\u3044\u3066\u5236\u5fa1\u3067\u304d\u307e\u3059\u3002Quality of Service\uff08QoS\uff09\u3084\u305d\u306e\u4ed6\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306a\u3069\u306e\u6280\u8853\u3092\u901a\u3058\u3066\u3001\u5171\u6709\u5185\u90e8L2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5168\u4f53\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u614e\u91cd\u306b\u8003\u616e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30b3\u30a2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u306b\u65e2\u5b58\u306e\u5bb9\u91cf\u304c\u3042\u308b\u5834\u5408\u3001\u8ffd\u52a0\u306eCAPEX\u3068OPEX\u306e\u6295\u8cc7\u306f\u63a7\u3048\u3081\u306a\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute/#_7","title":"\u5c02\u7528\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u5e2f\u57df\u5e45","text":"\u56f37\uff1a\u5c02\u7528\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u5e2f\u57df\u5e45

\u5229\u7528\u53ef\u80fd\u306a\u5bb9\u91cf\u3092\u518d\u5229\u7528\u3059\u308b\u3053\u3068\u306f\u591a\u304f\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u3068\u3063\u3066\u9b45\u529b\u7684\u3067\u3059\u304c\u3001\u65b0\u305f\u306b\u53d6\u5f97\u3057\u305f\u5e2f\u57df\u5e45\u3092DoubleZero\u306b\u5c02\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u3088\u3046\u306a\u30b7\u30ca\u30ea\u30aa\u3067\u306f\u3001DZD\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30c7\u30d0\u30a4\u30b9\u3092\u30a4\u30f3\u30e9\u30a4\u30f3\u306b\u914d\u7f6e\u3059\u308b\u3053\u3068\u306a\u304f\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30ad\u30e3\u30ea\u30a2\u306b\u76f4\u63a5\u63a5\u7d9a\u3055\u308c\u307e\u3059\uff08\u56f37\uff09\u3002

\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306fDoubleZero\u5c02\u7528\u306e\u5e2f\u57df\u5e45\u3092\u78ba\u4fdd\u3057\u3001\u904b\u7528\u304c\u30b7\u30f3\u30d7\u30eb\u3067\u3001\u4ed6\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u306e\u5b8c\u5168\u306a\u5206\u96e2\u3092\u78ba\u4fdd\u3059\u308b\u305f\u3081\u9b45\u529b\u7684\u3067\u3059\u3002\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u304a\u305d\u3089\u304f\u6700\u3082\u9ad8\u3044OPEX\u306e\u5897\u52a0\u3092\u3082\u305f\u3089\u3057\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30ad\u30e3\u30ea\u30a2\u3068\u306e\u65b0\u3057\u3044\u30b5\u30fc\u30d3\u30b9\u5951\u7d04\u304c\u5fc5\u8981\u3067\u3059\u3002

"},{"location":"ja/contribute/#_8","title":"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u8981\u4ef6","text":""},{"location":"ja/contribute/#100gbps","title":"100Gbps\u5e2f\u57df\u5e45\u8ca2\u732e","text":"

\u4ee5\u4e0b\u306e\u6570\u91cf\u306f2\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u3067\u5fc5\u8981\u306a\u6a5f\u5668\u3001\u3059\u306a\u308f\u30611\u672c\u306e\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u306e\u5e2f\u57df\u5e45\u8ca2\u732e\u3092\u5c55\u958b\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5408\u8a08\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u53cd\u6620\u3057\u3066\u3044\u307e\u3059\u3002

*\u3059\u3079\u3066\u306eFPGA\u306f\u6700\u7d42\u30c6\u30b9\u30c8\u6b21\u7b2c\u3067\u3059\u300210G\u8ca2\u732e\u306f\u7d44\u307f\u8fbc\u307f\u30c7\u30e5\u30a2\u30ebVirtex\u00ae UltraScale+\u2122 FPGA\u3092\u6301\u3064Arista 7130LBR\u30b9\u30a4\u30c3\u30c1\u3092\u4f7f\u7528\u3057\u3066\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\uff08\u3054\u8cea\u554f\u304c\u3042\u308c\u3070\u3001DoubleZero Foundation / Malbec Labs\u304c\u559c\u3093\u3067\u8a73\u7d30\u60c5\u5831\u3092\u63d0\u4f9b\u3057\u307e\u3059\uff09\u3002"},{"location":"ja/contribute/#_9","title":"\u6a5f\u80fd\u3068\u30dd\u30fc\u30c8\u8981\u4ef6","text":"\u6a5f\u80fd \u30dd\u30fc\u30c8\u901f\u5ea6 DZ\u8981\u4ef6 QTY \u6ce8\u610f \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u5e2f\u57df\u5e45 100G \u306f\u3044 1 Direct Internet Access (DIA) 10G \u306f\u3044 2 DoubleZero eXchange (DZX) 100G \u306f\u3044* 1 \u540c\u3058\u5927\u90fd\u5e02\u570f\u30673\u793e\u4ee5\u4e0a\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u904b\u55b6\u3059\u308b\u5834\u5408\u306b\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u308c\u4ee5\u524d\u306f\u3001\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u307e\u305f\u306f\u4ed6\u306e\u30d4\u30a2\u30ea\u30f3\u30b0\u624b\u914d\u3092\u4f7f\u7528\u3057\u3066\u4ed6\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u76f8\u4e92\u63a5\u7d9a\u3067\u304d\u307e\u3059\u3002 \u7ba1\u7406 \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002 \u30b3\u30f3\u30bd\u30fc\u30eb \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002"},{"location":"ja/contribute/#dzd","title":"DZD\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f AMD* V80* 24540474 \u306f\u3044 4 Arista 7280CR3A DCS-7280CR3A-32S \u306f\u3044 2 \u30ea\u30fc\u30c9\u30bf\u30a4\u30e0\u304c\u56f0\u96e3\u306a\u5834\u5408\u306f\u4ee3\u66ff\u54c1\u3082\u53ef\u80fd\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002"},{"location":"ja/contribute/#-100g","title":"\u5149\u5b66\u90e8\u54c1 - 100G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 100GBASE-LR QSFP-100G-LR \u3044\u3044\u3048 16 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002FPGA\u306e\u63a5\u7d9a\u306b\u306f100G\u304c\u5fc5\u8981\u3067\u3059\u3002"},{"location":"ja/contribute/#-10g","title":"\u5149\u5b66\u90e8\u54c1 - 10G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 10GBASE-LR SFP-10G-LR \u3044\u3044\u3048 2 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u3044\u3044\u3048 2 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002"},{"location":"ja/contribute/#ip","title":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0","text":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0 \u6700\u5c0f\u30b5\u30d6\u30cd\u30c3\u30c8\u30b5\u30a4\u30ba DZ\u8981\u4ef6 \u6ce8\u610f \u30d1\u30d6\u30ea\u30c3\u30afIPv4 /29 \u306f\u3044\uff08\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9DZD\u306e\u5834\u5408\uff09 DIA\u7d4c\u7531\u3067\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u53ef\u80fd\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5c06\u6765\u7684\u306b\u306f\u3053\u306e\u5fc5\u8981\u6027\u3092\u306a\u304f\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

DZ\u30d7\u30ed\u30c8\u30b3\u30eb\u7528\u306b\u5b8c\u5168\u306a/29\u30d7\u30fc\u30eb\u304c\u5229\u7528\u53ef\u80fd\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u4e0a\u306e\u30dd\u30a4\u30f3\u30c8\u30c4\u30fc\u30dd\u30a4\u30f3\u30c8\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0\u306a\u3069\u306e\u8981\u4ef6\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3067\u7ba1\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute/#10gbps","title":"10Gbps\u5e2f\u57df\u5e45\u8ca2\u732e","text":"

\u4ee5\u4e0b\u306e\u6570\u91cf\u306f2\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306e\u6a5f\u5668\u3001\u3059\u306a\u308f\u30611\u3064\u306e\u5e2f\u57df\u5e45\u8ca2\u732e\u3092\u5c55\u958b\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5408\u8a08\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u53cd\u6620\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/contribute/#_10","title":"\u6a5f\u80fd\u3068\u30dd\u30fc\u30c8\u8981\u4ef6","text":"\u6a5f\u80fd \u30dd\u30fc\u30c8\u901f\u5ea6 DZ\u8981\u4ef6 QTY \u6ce8\u610f \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u5e2f\u57df\u5e45 10G \u306f\u3044 1 Direct Internet Access (DIA) 10G \u306f\u3044 2 DoubleZero eXchange (DZX) 100G \u306f\u3044* 1 \u540c\u3058\u5927\u90fd\u5e02\u570f\u30673\u793e\u4ee5\u4e0a\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u904b\u55b6\u3059\u308b\u5834\u5408\u306b\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u308c\u4ee5\u524d\u306f\u3001\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u307e\u305f\u306f\u4ed6\u306e\u30d4\u30a2\u30ea\u30f3\u30b0\u624b\u914d\u3092\u4f7f\u7528\u3057\u3066\u4ed6\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u76f8\u4e92\u63a5\u7d9a\u3067\u304d\u307e\u3059\u3002 \u7ba1\u7406 \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002 \u30b3\u30f3\u30bd\u30fc\u30eb \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002"},{"location":"ja/contribute/#_11","title":"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f AMD* V80* 24540474* \u306f\u3044 4 Arista 7280CR3A DCS-7280CR3A-32S \u306f\u3044 2 \u30ea\u30fc\u30c9\u30bf\u30a4\u30e0\u304c\u56f0\u96e3\u306a\u5834\u5408\u306f\u4ee3\u66ff\u54c1\u3082\u53ef\u80fd\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002"},{"location":"ja/contribute/#-100g_1","title":"\u5149\u5b66\u90e8\u54c1 - 100G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 100GBASE-LR QSFP-100G-LR \u3044\u3044\u3048 14 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002FPGA\u306e\u63a5\u7d9a\u306b\u306f100G\u304c\u5fc5\u8981\u3067\u3059\u3002"},{"location":"ja/contribute/#-10g_1","title":"\u5149\u5b66\u90e8\u54c1 - 10G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 10GBASE-LR SFP-10G-LR \u3044\u3044\u3048 4 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u3044\u3044\u3048 4 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002"},{"location":"ja/contribute/#ip_1","title":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0","text":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0 \u6700\u5c0f\u30b5\u30d6\u30cd\u30c3\u30c8\u30b5\u30a4\u30ba DZ\u8981\u4ef6 \u6ce8\u610f \u30d1\u30d6\u30ea\u30c3\u30afIPv4 /29 \u306f\u3044\uff08\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9DZD\u306e\u5834\u5408\uff09 DIA\u7d4c\u7531\u3067\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u53ef\u80fd\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5c06\u6765\u7684\u306b\u306f\u3053\u306e\u5fc5\u8981\u6027\u3092\u306a\u304f\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

DZ\u30d7\u30ed\u30c8\u30b3\u30eb\u7528\u306b\u5b8c\u5168\u306a/29\u30d7\u30fc\u30eb\u304c\u5229\u7528\u53ef\u80fd\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u4e0a\u306e\u30dd\u30a4\u30f3\u30c8\u30c4\u30fc\u30dd\u30a4\u30f3\u30c8\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0\u306a\u3069\u306e\u8981\u4ef6\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3067\u7ba1\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute/#_12","title":"\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u8981\u4ef6","text":""},{"location":"ja/contribute/#_13","title":"\u30e9\u30c3\u30af\u3068\u96fb\u529b\u8981\u4ef6","text":"\u8981\u4ef6 \u4ed5\u69d8 \u30e9\u30c3\u30af\u30b9\u30da\u30fc\u30b9 4U \u96fb\u529b 4KW\uff08\u63a8\u5968\uff09"},{"location":"ja/contribute/#_14","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7","text":"

\u6700\u521d\u306eDZD\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u304b\uff1f\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u30ac\u30a4\u30c9\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/","title":"\u7528\u8a9e\u96c6","text":"

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.

\u3053\u306e\u30da\u30fc\u30b8\u3067\u306f\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5168\u4f53\u3067\u4f7f\u7528\u3055\u308c\u308bDoubleZero\u56fa\u6709\u306e\u7528\u8a9e\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_2","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9","text":""},{"location":"ja/glossary/#dzddoublezero","title":"DZD\uff08DoubleZero\u30c7\u30d0\u30a4\u30b9\uff09","text":"

DoubleZero\u30ea\u30f3\u30af\u3092\u7d42\u7aef\u3057\u3001DoubleZero\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3059\u308b\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30a4\u30c3\u30c1\u30f3\u30b0\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3067\u3059\u3002DZD\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u914d\u5099\u3055\u308c\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3001\u30d1\u30b1\u30c3\u30c8\u51e6\u7406\u3001\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u5404DZD\u306f\u7279\u5b9a\u306e\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4ed5\u69d8\u3092\u5fc5\u8981\u3068\u3057\u3001Config Agent\u3068Telemetry Agent\u306e\u4e21\u65b9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#dzxdoublezero-exchange","title":"DZX\uff08DoubleZero Exchange\uff09","text":"

\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30ea\u30f3\u30af\u304c\u6a4b\u6e21\u3057\u3055\u308c\u308b\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u76f8\u4e92\u63a5\u7d9a\u70b9\u3067\u3059\u3002DZX\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4ea4\u5dee\u304c\u767a\u751f\u3059\u308b\u4e3b\u8981\u306a\u5927\u90fd\u5e02\u570f\uff08NYC\u3001LON\u3001TYO\u306a\u3069\uff09\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u6700\u5bc4\u308a\u306eDZX\u3067\u3088\u308a\u5e83\u3044DoubleZero\u30e1\u30c3\u30b7\u30e5\u306b\u30ea\u30f3\u30af\u3092\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u6982\u5ff5\u7684\u306b\u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\uff08IX\uff09\u306b\u985e\u4f3c\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/glossary/#wan","title":"WAN\u30ea\u30f3\u30af","text":"

\u540c\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u904b\u7528\u3059\u308b2\u3064\u306eDZD\u9593\u306e\u30ef\u30a4\u30c9\u30a8\u30ea\u30a2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u3067\u3059\u3002WAN\u30ea\u30f3\u30af\u306f\u3001\u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u5185\u3067\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u63a5\u7d9a\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#dzx","title":"DZX\u30ea\u30f3\u30af","text":"

DZX\u306b\u304a\u3044\u3066\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u904b\u7528\u3059\u308bDZD\u9593\u306b\u78ba\u7acb\u3055\u308c\u308b\u30ea\u30f3\u30af\u3067\u3059\u3002DZX\u30ea\u30f3\u30af\u306f\u53cc\u65b9\u306e\u660e\u793a\u7684\u306a\u627f\u8a8d\u304c\u5fc5\u8981\u3067\u3059\u3002

"},{"location":"ja/glossary/#dz","title":"DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9","text":"

\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0\u306e\u305f\u3081\u306bDZD\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u308bCIDR\u5f62\u5f0f\u306eIP\u30a2\u30c9\u30ec\u30b9\u5272\u308a\u5f53\u3066\u3067\u3059\u3002--dz-prefixes\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30d0\u30a4\u30b9\u4f5c\u6210\u6642\u306b\u6307\u5b9a\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_3","title":"\u30c7\u30d0\u30a4\u30b9\u30bf\u30a4\u30d7","text":""},{"location":"ja/glossary/#_4","title":"\u30a8\u30c3\u30b8\u30c7\u30d0\u30a4\u30b9","text":"

\u30e6\u30fc\u30b6\u30fc\u306bDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u63a5\u7d9a\u3092\u63d0\u4f9b\u3059\u308bDZD\u3067\u3059\u3002\u30a8\u30c3\u30b8\u30c7\u30d0\u30a4\u30b9\u306fCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u6d3b\u7528\u3057\u3066\u30e6\u30fc\u30b6\u30fc\uff08\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3001RPC\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\uff09\u3092\u7d42\u7aef\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_5","title":"\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u30c7\u30d0\u30a4\u30b9","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u3067\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u63a5\u7d9a\u3092\u63d0\u4f9b\u3059\u308bDZD\u3067\u3059\u3002\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u30c7\u30d0\u30a4\u30b9\u306fDZD\u9593\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u79fb\u52d5\u3057\u307e\u3059\u304c\u3001\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3092\u76f4\u63a5\u7d42\u7aef\u3057\u307e\u305b\u3093\u3002

"},{"location":"ja/glossary/#_6","title":"\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9","text":"

\u30a8\u30c3\u30b8\u3068\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u306e\u4e21\u6a5f\u80fd\u3092\u7d44\u307f\u5408\u308f\u305b\u3001\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3068\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4e21\u65b9\u3092\u63d0\u4f9b\u3059\u308bDZD\u3067\u3059\u3002

"},{"location":"ja/glossary/#_7","title":"\u63a5\u7d9a\u6027","text":""},{"location":"ja/glossary/#cyoachoose-your-own-adventure","title":"CYOA\uff08Choose Your Own Adventure\uff09","text":"

\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u30e6\u30fc\u30b6\u30fc\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u63a5\u7d9a\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u767b\u9332\u3067\u304d\u308b\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30bf\u30a4\u30d7\u3067\u3059\u3002CYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306b\u306f\u3001DIA\u3001GRE\u30c8\u30f3\u30cd\u30eb\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30d4\u30a2\u30ea\u30f3\u30b0\u306a\u3069\u306e\u3055\u307e\u3056\u307e\u306a\u65b9\u5f0f\u304c\u542b\u307e\u308c\u307e\u3059\u3002\u8a2d\u5b9a\u306e\u8a73\u7d30\u306fCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u4f5c\u6210\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#diadirect-internet-access","title":"DIA\uff08Direct Internet Access\uff09","text":"

\u30d1\u30d6\u30ea\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63d0\u4f9b\u3055\u308c\u308b\u63a5\u7d9a\u306e\u6a19\u6e96\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7528\u8a9e\u3067\u3059\u3002DoubleZero\u3067\u306f\u3001DIA\u306f\u30e6\u30fc\u30b6\u30fc\uff08\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3001RPC\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\uff09\u304c\u65e2\u5b58\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u3092\u901a\u3058\u3066DZD\u306b\u63a5\u7d9a\u3059\u308bCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30bf\u30a4\u30d7\u3067\u3059\u3002

"},{"location":"ja/glossary/#ibrlincrease-bandwidth-reduce-latency","title":"IBRL\uff08Increase Bandwidth Reduce Latency\uff09","text":"

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3068RPC\u30ce\u30fc\u30c9\u304c\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u518d\u8d77\u52d5\u305b\u305a\u306bDoubleZero\u306b\u63a5\u7d9a\u3067\u304d\u308b\u63a5\u7d9a\u30e2\u30fc\u30c9\u3067\u3059\u3002IBRL\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3057\u3001\u6700\u5bc4\u308a\u306eDZD\u3078\u306e\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30c8\u30f3\u30cd\u30eb\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306f\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u63a5\u7d9a\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_8","title":"\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8","text":"

DoubleZero\u304c\u30b5\u30dd\u30fc\u30c8\u3059\u308b1\u5bfe\u591a\u30d1\u30b1\u30c3\u30c8\u914d\u4fe1\u65b9\u5f0f\u3067\u3059\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30e2\u30fc\u30c9\u306b\u306f2\u3064\u306e\u5f79\u5272\u304c\u3042\u308a\u307e\u3059\uff1a\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\uff08\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5168\u4f53\u306b\u30d1\u30b1\u30c3\u30c8\u3092\u9001\u4fe1\uff09\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\uff08\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u304b\u3089\u30d1\u30b1\u30c3\u30c8\u3092\u53d7\u4fe1\uff09\u3002\u958b\u767a\u30c1\u30fc\u30e0\u304c\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u914d\u4fe1\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002\u63a5\u7d9a\u306e\u8a73\u7d30\u306f\u305d\u306e\u4ed6\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_9","title":"\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8","text":""},{"location":"ja/glossary/#doublezerod","title":"doublezerod","text":"

\u30e6\u30fc\u30b6\u30fc\u30b5\u30fc\u30d0\u30fc\uff08\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3001RPC\u30ce\u30fc\u30c9\uff09\u3067\u5b9f\u884c\u3055\u308c\u308bDoubleZero\u30c7\u30fc\u30e2\u30f3\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u63a5\u7d9a\u3092\u7ba1\u7406\u3057\u3001\u30c8\u30f3\u30cd\u30eb\u78ba\u7acb\u3092\u51e6\u7406\u3057\u3001DZD\u3078\u306e\u63a5\u7d9a\u3092\u7dad\u6301\u3057\u307e\u3059\u3002systemd\u3067\u8a2d\u5b9a\u3055\u308c\u3001doublezero CLI\u3092\u901a\u3058\u3066\u5236\u5fa1\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#doublezerocli","title":"doublezero\uff08CLI\uff09","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u5bfe\u8a71\u3059\u308b\u305f\u3081\u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u63a5\u7d9a\u3001\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u7ba1\u7406\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u78ba\u8a8d\u3001\u7ba1\u7406\u64cd\u4f5c\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002doublezerod\u30c7\u30fc\u30e2\u30f3\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#config-agent","title":"Config Agent","text":"

DZD\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u308b\u30c7\u30d0\u30a4\u30b9\u8a2d\u5b9a\u7ba1\u7406\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u3001\u30c7\u30d0\u30a4\u30b9\u306b\u5909\u66f4\u3092\u9069\u7528\u3057\u307e\u3059\u3002\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306fConfig Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

DZD\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\uff08\u30ec\u30a4\u30c6\u30f3\u30b7\u3001\u30b8\u30c3\u30bf\u30fc\u3001\u30d1\u30b1\u30c3\u30c8\u30ed\u30b9\uff09\u3092\u53ce\u96c6\u3057\u3001DoubleZero\u30ec\u30b8\u30e3\u30fc\u306b\u9001\u4fe1\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3059\u3002\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306fTelemetry Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_10","title":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc","text":"

DZD\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u8a2d\u5b9a\u3092\u63d0\u4f9b\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306fDoubleZero\u30ec\u30b8\u30e3\u30fc\u306e\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u72b6\u614b\u304b\u3089\u30c7\u30d0\u30a4\u30b9\u8a2d\u5b9a\u3092\u5c0e\u51fa\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_11","title":"\u30ea\u30f3\u30af\u72b6\u614b","text":""},{"location":"ja/glossary/#_12","title":"\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u6e08\u307f","text":"

\u30ea\u30f3\u30af\u306e\u901a\u5e38\u306e\u52d5\u4f5c\u72b6\u614b\u3067\u3059\u3002\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u30ea\u30f3\u30af\u3092\u901a\u3058\u3066\u6d41\u308c\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u6c7a\u5b9a\u306b\u53c2\u52a0\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_13","title":"\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3\u6e08\u307f","text":"

\u7279\u5b9a\u306e\u30ea\u30f3\u30af\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u6291\u5236\u3055\u308c\u308b\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u72b6\u614b\u3067\u3059\u3002\u30b0\u30ec\u30fc\u30b9\u30d5\u30eb\u306a\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u6e08\u307f\u307e\u305f\u306f\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3\u6e08\u307f\u306b\u79fb\u884c\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/glossary/#_14","title":"\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3\u6e08\u307f","text":"

\u30ea\u30f3\u30af\u304c\u5b8c\u5168\u306b\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u9664\u5916\u3055\u308c\u308b\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u72b6\u614b\u3067\u3059\u3002\u30ea\u30f3\u30af\u3092\u901a\u3058\u3066\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u6d41\u308c\u307e\u305b\u3093\u3002\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u6e08\u307f\u306b\u623b\u308b\u524d\u306b\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3\u6e08\u307f\u306b\u79fb\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/glossary/#_15","title":"\u7d44\u7e54\u30fb\u30c8\u30fc\u30af\u30f3","text":""},{"location":"ja/glossary/#dzfdoublezero-foundation","title":"DZF\uff08DoubleZero Foundation\uff09","text":"

DoubleZero Foundation\u306f\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u958b\u767a\u3001\u5206\u6563\u5316\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3001\u304a\u3088\u3073\u666e\u53ca\u3092\u652f\u63f4\u3059\u308b\u305f\u3081\u306b\u8a2d\u7acb\u3055\u308c\u305f\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u306e\u30e1\u30f3\u30d0\u30fc\u306a\u3057\u975e\u55b6\u5229\u8ca1\u56e3\u4f1a\u793e\u3067\u3059\u3002

"},{"location":"ja/glossary/#2z","title":"2Z\u30c8\u30fc\u30af\u30f3","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30c8\u30fc\u30af\u30f3\u3067\u3059\u3002\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u624b\u6570\u6599\u306e\u652f\u6255\u3044\u306b\u4f7f\u7528\u3055\u308c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3078\u306e\u5831\u916c\u3068\u3057\u3066\u914d\u5e03\u3055\u308c\u307e\u3059\u3002\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u30b9\u30ef\u30c3\u30d7\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u901a\u3058\u30662Z\u3067\u624b\u6570\u6599\u3092\u652f\u6255\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u30022Z\u3067\u306e\u624b\u6570\u6599\u652f\u6255\u3044\u3068SOL\u304b\u30892Z\u3078\u306e\u30b9\u30ef\u30c3\u30d7\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_16","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5e2f\u57df\u5e45\u3068\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u63d0\u4f9b\u3059\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306fDZD\u3092\u904b\u7528\u3057\u3001WAN\u304a\u3088\u3073DZX\u30ea\u30f3\u30af\u3092\u63d0\u4f9b\u3057\u3001\u305d\u306e\u8ca2\u732e\u306b\u5bfe\u3057\u30662Z\u30c8\u30fc\u30af\u30f3\u30a4\u30f3\u30bb\u30f3\u30c6\u30a3\u30d6\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002\u958b\u59cb\u3059\u308b\u306b\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_17","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u306e\u6982\u5ff5","text":""},{"location":"ja/glossary/#mtumaximum-transmission-unit","title":"MTU\uff08Maximum Transmission Unit\uff09","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u3067\u9001\u4fe1\u3067\u304d\u308b\u6700\u5927\u30d1\u30b1\u30c3\u30c8\u30b5\u30a4\u30ba\uff08\u30d0\u30a4\u30c8\u5358\u4f4d\uff09\u3067\u3059\u3002DoubleZero WAN\u30ea\u30f3\u30af\u306f\u901a\u5e38\u3001\u52b9\u7387\u5316\u306e\u305f\u3081\u306bMTU 9000\uff08\u30b8\u30e3\u30f3\u30dc\u30d5\u30ec\u30fc\u30e0\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#vrfvirtual-routing-and-forwarding","title":"VRF\uff08Virtual Routing and Forwarding\uff09","text":"

\u540c\u4e00\u306e\u7269\u7406\u30eb\u30fc\u30bf\u30fc\u4e0a\u306b\u8907\u6570\u306e\u72ec\u7acb\u3057\u305f\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30c6\u30fc\u30d6\u30eb\u3092\u5171\u5b58\u3055\u305b\u308b\u6280\u8853\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u30b9\u30a4\u30c3\u30c1\u7ba1\u7406\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u672c\u756a\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304b\u3089\u5206\u96e2\u3059\u308b\u305f\u3081\u306b\u3001\u72ec\u7acb\u3057\u305f\u7ba1\u7406VRF\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002

"},{"location":"ja/glossary/#gregeneric-routing-encapsulation","title":"GRE\uff08Generic Routing Encapsulation\uff09","text":"

IP\u30d1\u30b1\u30c3\u30c8\u5185\u306b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d1\u30b1\u30c3\u30c8\u3092\u30ab\u30d7\u30bb\u30eb\u5316\u3059\u308b\u30c8\u30f3\u30cd\u30ea\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002IBRL\u304a\u3088\u3073CYOA\u63a5\u7d9a\u304c\u30e6\u30fc\u30b6\u30fc\u3068DZD\u9593\u306e\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30c8\u30f3\u30cd\u30eb\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#bgpborder-gateway-protocol","title":"BGP\uff08Border Gateway Protocol\uff09","text":"

\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u9593\u3067\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u60c5\u5831\u3092\u4ea4\u63db\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002DoubleZero\u306fASN 65342\u3092\u4f7f\u7528\u3057\u3066\u5185\u90e8\u7684\u306bBGP\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#asnautonomous-system-number","title":"ASN\uff08Autonomous System Number\uff09","text":"

BGP\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u305f\u3081\u306b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u4e00\u610f\u306e\u8b58\u5225\u5b50\u3067\u3059\u3002\u3059\u3079\u3066\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u306f\u5185\u90e8BGP\u30d7\u30ed\u30bb\u30b9\u306bASN 65342\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_18","title":"\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9","text":"

\u7ba1\u7406\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u76ee\u7684\u3067\u30eb\u30fc\u30bf\u30fc/\u30b9\u30a4\u30c3\u30c1\u4e0a\u306b\u5b58\u5728\u3059\u308b\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002DZD\u306f\u5185\u90e8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306bLoopback255\uff08VPNv4\uff09\u3068Loopback256\uff08IPv4\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#cidrclassless-inter-domain-routing","title":"CIDR\uff08Classless Inter-Domain Routing\uff09","text":"

IP\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u3092\u6307\u5b9a\u3059\u308b\u305f\u3081\u306e\u8868\u8a18\u6cd5\u3067\u3059\u3002\u5f62\u5f0f\u306fIP/\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u9577\u3067\u3001\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u9577\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b5\u30a4\u30ba\u3092\u793a\u3057\u307e\u3059\uff08\u4f8b\uff1a/29 = 8\u30a2\u30c9\u30ec\u30b9\u3001/24 = 256\u30a2\u30c9\u30ec\u30b9\uff09\u3002

"},{"location":"ja/glossary/#_19","title":"\u30b8\u30c3\u30bf\u30fc","text":"

\u6642\u9593\u7d4c\u904e\u306b\u3088\u308b\u30d1\u30b1\u30c3\u30c8\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u5909\u52d5\u3067\u3059\u3002\u4f4e\u30b8\u30c3\u30bf\u30fc\u306f\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u91cd\u8981\u3067\u3059\u3002

"},{"location":"ja/glossary/#rttround-trip-time","title":"RTT\uff08Round-Trip Time\uff09","text":"

\u30d1\u30b1\u30c3\u30c8\u304c\u9001\u4fe1\u5143\u304b\u3089\u5b9b\u5148\u3078\u3001\u305d\u3057\u3066\u623b\u308b\u307e\u3067\u306e\u6642\u9593\u3067\u3059\u3002\u30c7\u30d0\u30a4\u30b9\u9593\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ec\u30a4\u30c6\u30f3\u30b7\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#twamptwo-way-active-measurement-protocol","title":"TWAMP\uff08Two-Way Active Measurement Protocol\uff09","text":"

\u30ec\u30a4\u30c6\u30f3\u30b7\u3084\u30d1\u30b1\u30c3\u30c8\u30ed\u30b9\u306a\u3069\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6e2c\u5b9a\u3059\u308b\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002Telemetry Agent\u306fDZD\u9593\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u53ce\u96c6\u306bTWAMP\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#is-isintermediate-system-to-intermediate-system","title":"IS-IS\uff08Intermediate System to Intermediate System\uff09","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u90e8\u3067\u4f7f\u7528\u3055\u308c\u308b\u30ea\u30f3\u30af\u30b9\u30c6\u30fc\u30c8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002IS-IS\u30e1\u30c8\u30ea\u30af\u30b9\u306f\u30ea\u30f3\u30af\u30c9\u30ec\u30a4\u30f3\u64cd\u4f5c\u4e2d\u306b\u8abf\u6574\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#_20","title":"\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30fb\u30ad\u30fc","text":""},{"location":"ja/glossary/#_21","title":"\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3","text":"

DoubleZero\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u3001\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3068\u306fDoubleZero\u30ec\u30b8\u30e3\u30fc\u306b\u8a18\u9332\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3068\u64cd\u4f5c\u3092\u6307\u3057\u307e\u3059\u3002\u30c7\u30d0\u30a4\u30b9\u3068\u30ea\u30f3\u30af\u306e\u8a2d\u5b9a\u304c\u4e2d\u592e\u96c6\u6a29\u7684\u306a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306b\u5b58\u5728\u3059\u308b\u5f93\u6765\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u306f\u7570\u306a\u308a\u3001DoubleZero\u306f\u30c7\u30d0\u30a4\u30b9\u767b\u9332\u3001\u30ea\u30f3\u30af\u8a2d\u5b9a\u3001\u30c6\u30ec\u30e1\u30c8\u30ea\u9001\u4fe1\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u8a18\u9332\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u72b6\u614b\u304c\u3059\u3079\u3066\u306e\u53c2\u52a0\u8005\u306b\u5bfe\u3057\u3066\u900f\u660e\u3067\u691c\u8a3c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/glossary/#_22","title":"\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc","text":"

CLI\u64cd\u4f5c\u3092\u8a8d\u8a3c\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u6697\u53f7\u9375\u30da\u30a2\u3067\u3059\u3002\u3053\u308c\u306fDoubleZero\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u5bfe\u8a71\u3059\u308b\u305f\u3081\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3067\u3059\u3002~/.config/solana/id.json\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#_23","title":"\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc","text":"

Telemetry Agent\u304c\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u3078\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u9001\u4fe1\u306b\u7f72\u540d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u6697\u53f7\u9375\u30da\u30a2\u3067\u3059\u3002\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u5206\u96e2\u306e\u305f\u3081\u306b\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u3068\u306f\u5225\u3067\u3059\u3002~/.config/doublezero/metrics-publisher.json\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#_24","title":"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30fb\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2","text":""},{"location":"ja/glossary/#eosextensible-operating-system","title":"EOS\uff08Extensible Operating System\uff09","text":"

DZD\u30b9\u30a4\u30c3\u30c1\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u308bArista\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306fConfig Agent\u3068Telemetry Agent\u3092EOS\u62e1\u5f35\u6a5f\u80fd\u3068\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#eos","title":"EOS\u62e1\u5f35\u6a5f\u80fd","text":"

Arista EOS\u30b9\u30a4\u30c3\u30c1\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002DZ\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f.rpm\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u914d\u5e03\u3055\u308c\u3001extension\u30b3\u30de\u30f3\u30c9\u3092\u901a\u3058\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"ja/multicast-admin/#doublezero","title":"DoubleZero\u306b\u304a\u3051\u308b\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u7ba1\u7406","text":"

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306f\u3001\u30c7\u30fc\u30bf\u3092\u8907\u6570\u306e\u53d7\u4fe1\u8005\u306b\u52b9\u7387\u7684\u306b\u9001\u4fe1\u3059\u308b\u305f\u3081\u306b\u5171\u901a\u306e\u8b58\u5225\u5b50\uff08\u901a\u5e38\u306f\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8IP\u30a2\u30c9\u30ec\u30b9\uff09\u3092\u5171\u6709\u3059\u308b\u30c7\u30d0\u30a4\u30b9\u3084\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ce\u30fc\u30c9\u306e\u8ad6\u7406\u7684\u306a\u96c6\u5408\u4f53\u3067\u3059\u3002\u30e6\u30cb\u30ad\u30e3\u30b9\u30c8\uff081\u5bfe1\uff09\u3084\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\uff081\u5bfe\u5168\uff09\u901a\u4fe1\u3068\u306f\u7570\u306a\u308a\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3067\u306f\u30b0\u30eb\u30fc\u30d7\u306b\u53c2\u52a0\u3057\u305f\u53d7\u4fe1\u8005\u306b\u5bfe\u3057\u3066\u306e\u307f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u3088\u3063\u3066\u8907\u88fd\u3055\u308c\u308b\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u9001\u4fe1\u8005\u304c\u9001\u4fe1\u3067\u304d\u307e\u3059\u3002

\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306b\u3088\u308a\u3001\u30d1\u30b1\u30c3\u30c8\u306f\u30ea\u30f3\u30af\u3054\u3068\u306b1\u5ea6\u3060\u3051\u9001\u4fe1\u3055\u308c\u3001\u8907\u6570\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306b\u5230\u9054\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5834\u5408\u306b\u306e\u307f\u8907\u88fd\u3055\u308c\u308b\u305f\u3081\u3001\u5e2f\u57df\u5e45\u306e\u4f7f\u7528\u3092\u6700\u9069\u5316\u3057\u3001\u9001\u4fe1\u8005\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u306e\u4e21\u65b9\u3078\u306e\u8ca0\u8377\u3092\u8efd\u6e1b\u3057\u307e\u3059\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306f\u3001\u30e9\u30a4\u30d6\u30d3\u30c7\u30aa\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u3001\u4f1a\u8b70\u3001\u91d1\u878d\u30c7\u30fc\u30bf\u914d\u4fe1\u3001\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e1\u30c3\u30bb\u30fc\u30b8\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306a\u3069\u306e\u30b7\u30ca\u30ea\u30aa\u3067\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

DoubleZero\u3067\u306f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306f\u5404\u30b0\u30eb\u30fc\u30d7\u5185\u3067\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\uff08\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\uff09\u304a\u3088\u3073\u53d7\u4fe1\uff08\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\uff09\u3067\u304d\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e\u5b89\u5168\u3067\u5236\u5fa1\u3055\u308c\u305f\u30e1\u30ab\u30cb\u30ba\u30e0\u3092\u63d0\u4f9b\u3057\u3001\u52b9\u7387\u7684\u3067\u30ac\u30d0\u30ca\u30f3\u30b9\u3055\u308c\u305f\u60c5\u5831\u914d\u4fe1\u3092\u78ba\u4fdd\u3057\u307e\u3059\u3002

flowchart LR\n    subgraph Publishers\n        P1[\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc 1]\n        P2[\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc 2]\n        P3[\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc 3]\n    end\n    subgraph Subscribers\n        S1[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 1]\n        S2[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 2]\n        S3[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 3]\n        S4[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 4]\n    end\n    P1 --> B[\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

\u4e0a\u306e\u56f3\u306f\u3001\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3067\u304d\u3001\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u305d\u308c\u3089\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3059\u308b\u305f\u3081\u306b\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u3067\u304d\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30d1\u30b1\u30c3\u30c8\u3092\u52b9\u7387\u7684\u306b\u8907\u88fd\u3057\u3001\u3059\u3079\u3066\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u304c\u4e0d\u8981\u306a\u9001\u4fe1\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u306a\u3057\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#1","title":"1. \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u4f5c\u6210\u3068\u4e00\u89a7\u8868\u793a","text":"

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306fDoubleZero\u306b\u304a\u3051\u308b\u5b89\u5168\u3067\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u914d\u4fe1\u306e\u57fa\u76e4\u3067\u3059\u3002\u5404\u30b0\u30eb\u30fc\u30d7\u306f\u4e00\u610f\u306b\u8b58\u5225\u3055\u308c\u3001\u7279\u5b9a\u306e\u5e2f\u57df\u5e45\u3068\u30aa\u30fc\u30ca\u30fc\u3067\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002\u65b0\u3057\u3044\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u4f5c\u6210\u3067\u304d\u308b\u306e\u306fDoubleZero Foundation\u7ba1\u7406\u8005\u306e\u307f\u3067\u3042\u308a\u3001\u9069\u5207\u306a\u30ac\u30d0\u30ca\u30f3\u30b9\u3068\u30ea\u30bd\u30fc\u30b9\u5272\u308a\u5f53\u3066\u304c\u78ba\u4fdd\u3055\u308c\u307e\u3059\u3002

\u4f5c\u6210\u5f8c\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u4e00\u89a7\u8868\u793a\u3057\u3066\u3001\u5229\u7528\u53ef\u80fd\u306a\u3059\u3079\u3066\u306e\u30b0\u30eb\u30fc\u30d7\u3001\u305d\u306e\u8a2d\u5b9a\u3001\u73fe\u5728\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u6982\u8981\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\u3068\u30b0\u30eb\u30fc\u30d7\u30aa\u30fc\u30ca\u30fc\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u76e3\u8996\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306b\u4e0d\u53ef\u6b20\u3067\u3059\u3002

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u4f5c\u6210\uff1a

\u65b0\u3057\u3044\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306fDoubleZero Foundation\u306e\u307f\u304c\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u4f5c\u6210\u30b3\u30de\u30f3\u30c9\u306b\u306f\u4e00\u610f\u306e\u30b3\u30fc\u30c9\u3001\u6700\u5927\u5e2f\u57df\u5e45\u3001\u30aa\u30fc\u30ca\u30fc\u306e\u516c\u958b\u9375\uff08\u307e\u305f\u306f\u73fe\u5728\u306e\u30da\u30a4\u30e4\u30fc\u306e\u305f\u3081\u306e\u300cme\u300d\uff09\u304c\u5fc5\u8981\u3067\u3059\u3002

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

\u3059\u3079\u3066\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u4e00\u89a7\u8868\u793a\uff1a

\u3059\u3079\u3066\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u4e00\u89a7\u8868\u793a\u3057\u3001\u8981\u7d04\u60c5\u5831\uff08\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8IP\u3001\u5e2f\u57df\u5e45\u3001\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u6570\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u3001\u30aa\u30fc\u30ca\u30fc\u3092\u542b\u3080\uff09\u3092\u8868\u793a\u3059\u308b\u306b\u306f\uff1a

doublezero multicast group list\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3059\u3079\u3066\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3068\u305d\u306e\u4e3b\u8981\u306a\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u30c6\u30fc\u30d6\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\uff1a - account\uff1a\u30b0\u30eb\u30fc\u30d7\u30a2\u30ab\u30a6\u30f3\u30c8\u30a2\u30c9\u30ec\u30b9 - code\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9 - multicast_ip\uff1a\u30b0\u30eb\u30fc\u30d7\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u305f\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8IP\u30a2\u30c9\u30ec\u30b9 - max_bandwidth\uff1a\u30b0\u30eb\u30fc\u30d7\u306e\u6700\u5927\u8a31\u5bb9\u5e2f\u57df\u5e45 - publishers\uff1a\u30b0\u30eb\u30fc\u30d7\u5185\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u6570 - subscribers\uff1a\u30b0\u30eb\u30fc\u30d7\u5185\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u6570 - status\uff1a\u73fe\u5728\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\uff08\u4f8b\uff1aactivated\uff09 - owner\uff1a\u30aa\u30fc\u30ca\u30fc\u306e\u516c\u958b\u9375

\u30b0\u30eb\u30fc\u30d7\u304c\u4f5c\u6210\u3055\u308c\u308b\u3068\u3001\u30aa\u30fc\u30ca\u30fc\u306f\u3069\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3068\u3057\u3066\u63a5\u7d9a\u3067\u304d\u308b\u304b\u3092\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#2","title":"2. \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc/\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u8a31\u53ef\u30ea\u30b9\u30c8\u306e\u7ba1\u7406","text":"

\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306f\u3001DoubleZero\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u5236\u5fa1\u3059\u308b\u305f\u3081\u306b\u4e0d\u53ef\u6b20\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u30ea\u30b9\u30c8\u306f\u3001\u7279\u5b9a\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u5185\u3067\u30c7\u30fc\u30bf\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\uff08\u9001\u4fe1\uff09\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\uff08\u53d7\u4fe1\uff09\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u660e\u793a\u7684\u306b\u5b9a\u7fa9\u3057\u307e\u3059\u3002

\u3053\u308c\u3089\u306e\u30ea\u30b9\u30c8\u306e\u7ba1\u7406\u306f\u30b0\u30eb\u30fc\u30d7\u30aa\u30fc\u30ca\u30fc\u306e\u8cac\u4efb\u3067\u3042\u308a\u3001DoubleZero CLI\u3092\u4f7f\u7528\u3057\u3066\u627f\u8a8d\u3055\u308c\u305f\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u8ffd\u52a0\u3001\u524a\u9664\u3001\u8868\u793a\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u9069\u5207\u306a\u8a31\u53ef\u30ea\u30b9\u30c8\u7ba1\u7406\u306f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u901a\u4fe1\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3001\u6574\u5408\u6027\u3001\u30c8\u30ec\u30fc\u30b5\u30d3\u30ea\u30c6\u30a3\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u306b\u91cd\u8981\u3067\u3059\u3002

\u6ce8\u610f\uff1a \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u307e\u305f\u306f\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3059\u308b\u306b\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u307e\u305a\u6a19\u6e96\u306e\u63a5\u7d9a\u624b\u9806\u306b\u5f93\u3063\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u627f\u8a8d\u3055\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u8aac\u660e\u3059\u308b\u8a31\u53ef\u30ea\u30b9\u30c8\u30b3\u30de\u30f3\u30c9\u306f\u3001\u65e2\u306b\u627f\u8a8d\u3055\u308c\u305fDoubleZero\u30e6\u30fc\u30b6\u30fc\u3092\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u95a2\u9023\u4ed8\u3051\u308b\u3060\u3051\u3067\u3059\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u65b0\u3057\u3044IP\u3092\u8ffd\u52a0\u3057\u3066\u3082\u3001\u305d\u308c\u3060\u3051\u3067\u306fDoubleZero\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3068\u5bfe\u8a71\u3059\u308b\u524d\u306b\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u65e2\u306b\u4e00\u822c\u7684\u306a\u627f\u8a8d\u30d7\u30ed\u30bb\u30b9\u3092\u5b8c\u4e86\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#_1","title":"\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3059\u308b","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_2","title":"\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3059\u308b","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_3","title":"\u30b0\u30eb\u30fc\u30d7\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u8a31\u53ef\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3059\u308b","text":"

\u7279\u5b9a\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u3042\u308b\u3059\u3079\u3066\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u4e00\u89a7\u8868\u793a\u3059\u308b\u306b\u306f\uff1a

doublezero multicast group allowlist publisher list --code <CODE>\n

\u4f8b\uff1a

doublezero multicast group allowlist publisher list --code mg01\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u30b0\u30eb\u30fc\u30d7\u3078\u306e\u63a5\u7d9a\u304c\u73fe\u5728\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8IP\u3001\u30e6\u30fc\u30b6\u30fc\u30da\u30a4\u30e4\u30fc\u3068\u3068\u3082\u306b\u8868\u793a\u3057\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#_4","title":"\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3059\u308b","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_5","title":"\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3059\u308b","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_6","title":"\u30b0\u30eb\u30fc\u30d7\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u8a31\u53ef\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3059\u308b","text":"

\u7279\u5b9a\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u3042\u308b\u3059\u3079\u3066\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u4e00\u89a7\u8868\u793a\u3059\u308b\u306b\u306f\uff1a

doublezero multicast group allowlist subscriber list --code <CODE>\n

\u4f8b\uff1a

doublezero multicast group allowlist subscriber list --code mg01\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u30b0\u30eb\u30fc\u30d7\u3078\u306e\u63a5\u7d9a\u304c\u73fe\u5728\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8IP\u3001\u30e6\u30fc\u30b6\u30fc\u30da\u30a4\u30e4\u30fc\u3068\u3068\u3082\u306b\u8868\u793a\u3057\u307e\u3059\u3002

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306e\u63a5\u7d9a\u3068\u4f7f\u7528\u65b9\u6cd5\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u306e\u4ed6\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/paying-fees/","title":"\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6599\u91d1\u4f53\u7cfb","text":"

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.

Solana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u5411\u3051\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u516c\u5e73\u306a\u6599\u91d1\u8a2d\u5b9a

\u624b\u6570\u6599\u306f\u30a8\u30dd\u30c3\u30af859\u304b\u3089\u958b\u59cb\u3057\u3001\u6771\u90e8\u6642\u959310\u67084\u65e5\uff08\u571f\uff09\u5348\u524d4\u6642\u304b\u3089\u59cb\u307e\u308a\u307e\u3059\u3002\u30d6\u30ed\u30c3\u30af\u7f72\u540d\u5831\u916c\u3068\u30d7\u30e9\u30a4\u30aa\u30ea\u30c6\u30a3\u624b\u6570\u6599\u306b\u5bfe\u3057\u3066\u4e00\u5f8b5%\u306e\u624b\u6570\u6599\u304c\u5fb4\u53ce\u3055\u308c\u307e\u3059\u3002

\u624b\u6570\u6599\u306fDoubleZero\u3092\u53ef\u80fd\u306b\u3059\u308b\u30a4\u30f3\u30d5\u30e9\u306b\u76f4\u63a5\u5145\u5f53\u3055\u308c\u307e\u3059\u3002\u7269\u7406\u7684\u306a\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u3084\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306e\u6a5f\u5668\u306a\u3069\u304c\u542b\u307e\u308c\u307e\u3059\u3002

\u624b\u6570\u6599\u304c\u5b58\u5728\u3059\u308b\u7406\u7531\u3068\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6599\u91d1\u30e2\u30c7\u30eb\u306e\u8a73\u7d30\u306f\u3053\u3061\u3089\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u306f\u6280\u8853\u7684\u306a\u89b3\u70b9\u304b\u3089\u624b\u6570\u6599\u306e\u652f\u6255\u3044\u65b9\u6cd5\u306b\u7126\u70b9\u3092\u5f53\u3066\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/paying-fees/#_2","title":"\u6c7a\u6e08\u30e2\u30c7\u30eb","text":""},{"location":"ja/paying-fees/#_3","title":"\u624b\u6570\u6599\u306e\u898b\u7a4d\u3082\u308a","text":"

\u904e\u53bb\u306e\u898b\u7a4d\u3082\u308a\u3068\u516c\u958b\u9375\u3054\u3068\u306e\u30c7\u30fc\u30bf\u306f\u624b\u6570\u6599\u898b\u7a4d\u3082\u308a\u30ea\u30dd\u30b8\u30c8\u30ea\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306f\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u30c7\u30fc\u30bf\u306e\u4ee3\u66ff\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306e\u6b8b\u9ad8\u306f\u3042\u306a\u305f\u81ea\u8eab\u306e\u8cac\u4efb\u3067\u3042\u308a\u3001\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u6b8b\u9ad8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002

\u3054\u8cea\u554f\u306fNihar Shah\uff08nihar@doublezero.us\uff09\u307e\u3067\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/paying-fees/#_4","title":"\u958b\u767a\u8005\u5411\u3051\u8a73\u7d30","text":""},{"location":"ja/paying-fees/#_5","title":"\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9","text":"

DoubleZero CLI\u306f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30c7\u30dd\u30b8\u30c3\u30c8\u3092\u7ba1\u7406\u3057\u3001\u6b8b\u9ad8\u3092\u76e3\u8996\u3059\u308b\u30b3\u30de\u30f3\u30c9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30ac\u30b9\u4ee3\u3068\u3057\u3066SOL\u304c\u5fc5\u8981\u3067\u3059\u3002

"},{"location":"ja/paying-fees/#1","title":"\u30b9\u30c6\u30c3\u30d71\uff1a\u672a\u6255\u3044\u8ca0\u50b5\u306e\u78ba\u8a8d","text":"

\u7279\u5b9a\u306e\u30a2\u30c9\u30ec\u30b9\u306e\u8ca0\u50b5\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u5f62\u5f0f\u3092\u4f7f\u7528\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
\u4ee5\u4e0b\u306b\u51fa\u529b\u4f8b\u3092\u793a\u3057\u307e\u3059\uff1a

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\u306b\u306fnote\u5217\u306b2\u7a2e\u985e\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002Not funded\u306f\u30a2\u30ab\u30a6\u30f3\u30c8\u3078\u306e\u8cc7\u91d1\u8abf\u9054\u304c\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u4f8b\u306e0.632515639 SOL needed\u306f\u3001\u5bfe\u8c61\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u306b\u95a2\u9023\u3059\u308b\u73fe\u5728\u306e\u672a\u6255\u3044\u8ca0\u50b5\u5168\u984d\u3092\u652f\u6255\u3046\u305f\u3081\u306b\u5fc5\u8981\u306a\u672a\u6255\u3044SOL\u984d\u3067\u3059\u3002

"},{"location":"ja/paying-fees/#2","title":"\u30b9\u30c6\u30c3\u30d72\uff1a\u672a\u6255\u3044\u8ca0\u50b5\u306e\u652f\u6255\u3044","text":"

Note

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9a\u671f\u7684\u306a\u9593\u9694\u3067\u5b9f\u884c\u3059\u308b\u3088\u3046\u306b\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3067\u304d\u307e\u3059\u3002

\u672a\u6255\u3044\u8ca0\u50b5\u3092\u652f\u6255\u3046\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001$HOME/.config/solana/id.json\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30ad\u30fc\u30da\u30a2\u304c\u81ea\u52d5\u7684\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

\u30b3\u30de\u30f3\u30c9\u306e\u672b\u5c3e\u306b-k path/to/keypair.json\u5f15\u6570\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3067\u3001\u8ca0\u50b5\u306e\u652f\u6255\u3044\u306b\u4f7f\u7528\u3059\u308b\u30ad\u30fc\u30da\u30a2\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
\u4ee5\u4e0b\u306b\u51fa\u529b\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: \u306f\u8cc7\u91d1\u304c\u6295\u5165\u3055\u308c\u305f\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u8fd4\u3057\u307e\u3059

Funded: \u306f\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30cf\u30c3\u30b7\u30e5\u3092\u8fd4\u3057\u307e\u3059\u3002\u304a\u597d\u307f\u306eSolana\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059

Node ID: \u306f\u652f\u6255\u3044\u304c\u884c\u308f\u308c\u305f\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u3092\u8fd4\u3057\u307e\u3059

Balance: \u306f\u8ee2\u9001\u5b8c\u4e86\u5f8c\u306e\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306eSOL\u6b8b\u9ad8\u3092\u8fd4\u3057\u307e\u3059

"},{"location":"ja/paying-fees2z/","title":"Paying fees2z","text":"

\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u8cc7\u6599\u306b\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u3059\u308b\u524d\u306b\u514d\u8cac\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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.

\u514d\u8cac\u4e8b\u9805

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306f\u3001\u60c5\u5831\u63d0\u4f9b\u304a\u3088\u3073\u6280\u8853\u7684\u76ee\u7684\u306e\u307f\u306e\u305f\u3081\u306b\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u8aac\u660e\u3055\u308c\u3066\u3044\u308b\u30c8\u30fc\u30af\u30f3\u5909\u63db\u6a5f\u80fd\u306f\u30ce\u30f3\u30ab\u30b9\u30c8\u30c7\u30a3\u30a2\u30eb\uff08\u975e\u4fdd\u7ba1\u578b\uff09\u3067\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u57fa\u790e\u3068\u306a\u308b\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u76f4\u63a5\u5bfe\u8a71\u3057\u3001\u5e38\u306b\u81ea\u5206\u306e\u8cc7\u7523\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3057\u307e\u3059\u3002

\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u306f\u3001\u958b\u767a\u8005\u3084\u767a\u884c\u8005\u306b\u3088\u3063\u3066\u958b\u767a\u3001\u7ba1\u7406\u3001\u307e\u305f\u306f\u30ec\u30d3\u30e5\u30fc\u3055\u308c\u3066\u3044\u306a\u3044\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30b3\u30fc\u30c9\u3001\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3001\u307e\u305f\u306f\u4fa1\u683c\u304a\u3088\u3073\u624b\u6570\u6599\u30e1\u30ab\u30cb\u30ba\u30e0\uff08\u4f8b\uff1a\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3001API\u3001\u307e\u305f\u306f\u5206\u6563\u578b\u53d6\u5f15\u6240\uff09\u306b\u4f9d\u5b58\u307e\u305f\u306f\u5bfe\u8a71\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u7cbe\u5ea6\u3001\u6a5f\u80fd\u3001\u307e\u305f\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u3064\u3044\u3066\u8868\u660e\u3084\u4fdd\u8a3c\u306f\u306a\u3055\u308c\u307e\u305b\u3093\u3002 \u3053\u306e\u30b3\u30fc\u30c9\u306e\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u305d\u306e\u7cbe\u5ea6\u3001\u5b8c\u5168\u6027\u3001\u307e\u305f\u306f\u7d99\u7d9a\u7684\u306a\u53ef\u7528\u6027\u3092\u4fdd\u8a3c\u3057\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u3068\u95a2\u9023\u8cc7\u6599\u306f\u300c\u73fe\u72b6\u306e\u307e\u307e\u300d\uff08AS IS\uff09\u3067\u63d0\u4f9b\u3055\u308c\u3001\u30d0\u30b0\u3001\u30a8\u30e9\u30fc\u3001\u307e\u305f\u306f\u8106\u5f31\u6027\u304c\u542b\u307e\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f7f\u7528\u306f\u3059\u3079\u3066\u3054\u81ea\u8eab\u306e\u30ea\u30b9\u30af\u3067\u304a\u884c\u3044\u304f\u3060\u3055\u3044\u3002 \u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3053\u308c\u3089\u306e\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306e\u4f7f\u7528\u306b\u95a2\u9023\u3057\u3066\u3044\u304b\u306a\u308b\u624b\u6570\u6599\u3082\u53d7\u3051\u53d6\u308a\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3001\u66f4\u65b0\u3001\u307e\u305f\u306f\u30b5\u30dd\u30fc\u30c8\u306e\u7fa9\u52d9\u306f\u3042\u308a\u307e\u305b\u3093\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u30c8\u30fc\u30af\u30f3\u5909\u63db\u3001\u30b9\u30ef\u30c3\u30d7\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3078\u306e\u53c2\u52a0\u3092\u58f2\u308a\u8fbc\u3080\u3001\u8cb7\u3044\u6c42\u3081\u308b\u3001\u307e\u305f\u306f\u63a8\u5968\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u6cd5\u7684\u3001\u8ca1\u52d9\u7684\u3001\u307e\u305f\u306f\u6295\u8cc7\u4e0a\u306e\u30a2\u30c9\u30d0\u30a4\u30b9\u306f\u63d0\u4f9b\u3055\u308c\u307e\u305b\u3093\u3002 \u30e6\u30fc\u30b6\u30fc\u306f\u81ea\u5206\u306e\u6d3b\u52d5\u306e\u5408\u6cd5\u6027\u3092\u5224\u65ad\u3059\u308b\u8cac\u4efb\u3092\u5358\u72ec\u3067\u8ca0\u3044\u307e\u3059\u3002\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u305f\u308a\u5909\u63db\u306b\u53c2\u52a0\u3057\u305f\u308a\u3059\u308b\u524d\u306b\u3001\u7ba1\u8f44\u533a\u57df\u306b\u9069\u7528\u3055\u308c\u308b\u6cd5\u5f8b\u3068\u898f\u5236\u3092\u78ba\u8a8d\u3057\u3001\u72ec\u7acb\u3057\u305f\u9867\u554f\u306b\u76f8\u8ac7\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5236\u88c1\u5bfe\u8c61\u306e\u500b\u4eba\u3084\u7d44\u7e54\u3001\u307e\u305f\u306f\u5236\u9650\u533a\u57df\u3067\u306e\u4f7f\u7528\u3092\u542b\u3080\u3001\u9055\u6cd5\u3068\u306a\u308b\u5834\u6240\u3067\u306e\u4f7f\u7528\u306f\u7981\u6b62\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u6cd5\u5f8b\u3067\u8a31\u53ef\u3055\u308c\u308b\u6700\u5927\u9650\u306e\u7bc4\u56f2\u3067\u3001\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u30b3\u30fc\u30c9\u306e\u4f7f\u7528\u307e\u305f\u306f\u5909\u63db\u3078\u306e\u53c2\u52a0\u306b\u8d77\u56e0\u3059\u308b\u307e\u305f\u306f\u95a2\u9023\u3059\u308b\u3059\u3079\u3066\u306e\u640d\u5931\u3001\u640d\u5bb3\u3001\u307e\u305f\u306f\u8acb\u6c42\u306b\u5bfe\u3059\u308b\u4e00\u5207\u306e\u8cac\u4efb\u3092\u5426\u8a8d\u3057\u307e\u3059\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306e\u30ec\u30d3\u30e5\u30fc\u3068\u4f7f\u7528\u306f\u3001\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u5229\u7528\u898f\u7d04\u304a\u3088\u3073\u30d7\u30ed\u30c8\u30b3\u30eb\u5229\u7528\u898f\u7d04\u306b\u5f93\u3044\u307e\u3059\u3002

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306e\u30b9\u30ef\u30c3\u30d7\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u901a\u3058\u30662Z\u3067\u624b\u6570\u6599\u3092\u652f\u6255\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30b9\u30ef\u30c3\u30d7\u306f2Z\u3092SOL\u3068\u30b9\u30ef\u30c3\u30d7\u3059\u308b\u3053\u3068\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306eSOL\u6b8b\u9ad8\u306f\u30b9\u30ef\u30c3\u30d7\u306b\u5fdc\u3058\u3066\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002

\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u5e38\u306b1 SOL\u306e\u5897\u5206\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u306e\u30b9\u30ef\u30c3\u30d7\u306e\u7d50\u679c\u306f\u5e38\u306b\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u76f4\u63a5\u9810\u3051\u5165\u308c\u3089\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u4e00\u65b9\u901a\u884c\u3067\u3042\u308a\u3001\u3053\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u304b\u30892Z\u307e\u305f\u306fSOL\u3092\u53d6\u308a\u623b\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306e\u914d\u5206\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u9001\u3089\u308c\u307e\u3059\u3002

"},{"location":"ja/paying-fees2z/#1","title":"\u30b9\u30c6\u30c3\u30d71","text":"

\u307e\u305a\u73fe\u5728\u306e\u5909\u63db\u30ec\u30fc\u30c8\u3092\u78ba\u8a8d\u3057\u307e\u3059

doublezero-solana revenue-distribution fetch sol-conversion\n

\u51fa\u529b\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"ja/paying-fees2z/#2","title":"\u30b9\u30c6\u30c3\u30d72","text":"

\u6307\u5024\u6ce8\u6587\u3092\u51fa\u3057\u307e\u3059\u3002\u3053\u306e\u30b9\u30ef\u30c3\u30d7\u306f\u3054\u81ea\u8eab\u306e\u30ea\u30b9\u30af\u3067\u5b9f\u884c\u3057\u307e\u3059\u3002\u30ea\u30b9\u30af\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306b\u3064\u3044\u3066\u63a8\u5968\u306f\u305b\u305a\u3001\u3053\u3053\u3067\u63d0\u4f9b\u3055\u308c\u308b\u4f8b\u306f\u6559\u80b2\u76ee\u7684\u306e\u3082\u306e\u3067\u3059\u3002

"},{"location":"ja/paying-fees2z/#_1","title":"\u6307\u5024\u6ce8\u6587\u306e\u7d44\u307f\u7acb\u3066\u65b9\u6cd5","text":"

\u4e0a\u8a18\u306e\u4f8b\u306b\u57fa\u3065\u3044\u3066\u3001\u898b\u7a4d\u3082\u308a\u4fa1\u683c\u3088\u308a5%\u9ad8\u3044\u6307\u5024\u6ce8\u6587\u3092\u51fa\u3057\u307e\u3059\u3002 797.76 * 1.05 = 837.65

\u3053\u306e\u4f8b\u3067\u306f\u3001\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306b0 SOL\u3042\u308b\u3068\u4eee\u5b9a\u3057\u307e\u3059\u3002

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
\u4e0a\u8a18\u30b3\u30de\u30f3\u30c9\u306e--fund 1\u306f\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u660e\u793a\u7684\u306b1 SOL\u3092\u8cc7\u91d1\u8abf\u9054\u3057\u307e\u3059\u3002

1\u4ee5\u5916\u306e\u6570\u5024\u3092\u9078\u629e\u3059\u308b\u3068\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3001\u8aa4\u3063\u305f\u91d1\u984d\u304c\u901a\u77e5\u3055\u308c\u307e\u3059\uff1a

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u6c42\u3081\u3089\u308c\u307e\u3059\uff1a

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

\u51fa\u529b\uff1a

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
\u30b9\u30ef\u30c3\u30d7\u304c\u6210\u529f\u3059\u308b\u3068\u3001Balance:\u304c1 SOL\u306b\u66f4\u65b0\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u6307\u5b9a\u3057\u305f\u7bc4\u56f2\u5916\u306e\u4fa1\u683c\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3059\uff1a

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"ja/quick-connect/","title":"\u30af\u30a4\u30c3\u30af\u30b3\u30cd\u30af\u30c8","text":"

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.

\u3044\u304f\u3064\u304b\u306e\u8cea\u554f\u306b\u56de\u7b54\u3059\u308b\u3068\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306b\u5408\u308f\u305b\u305f\u6b63\u78ba\u306a\u624b\u9806\u3068\u30b3\u30de\u30f3\u30c9\u3092\u542b\u3080\u30d1\u30fc\u30bd\u30ca\u30e9\u30a4\u30ba\u3055\u308c\u305f\u63a5\u7d9a\u30ac\u30a4\u30c9\u3092\u751f\u6210\u3057\u307e\u3059\u3002

\u7c21\u7565\u30ac\u30a4\u30c9

\u3053\u306e\u30a6\u30a3\u30b6\u30fc\u30c9\u306f\u3001\u3067\u304d\u308b\u3060\u3051\u65e9\u304f\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306b\u3001\u5b8c\u5168\u306a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304b\u3089\u91cd\u8981\u306a\u30b9\u30cb\u30da\u30c3\u30c8\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u5b8c\u5168\u306a\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u30c6\u30ca\u30f3\u30c8\u30ac\u30a4\u30c9\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002

\u3069\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u63a5\u7d9a\u3057\u307e\u3059\u304b\uff1f Mainnet-Beta \u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304a\u3088\u3073RPC\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\u5411\u3051\u306e\u672c\u756a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af Testnet \u30c6\u30b9\u30c8\u304a\u3088\u3073\u958b\u767a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30b5\u30fc\u30d0\u30fc\u306eOS\u306f\uff1f Ubuntu / Debian Ubuntu 22.04+ \u307e\u305f\u306f Debian 11+ Rocky Linux / RHEL Rocky Linux \u307e\u305f\u306f RHEL 8+ \u3069\u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3067\u3059\u304b\uff1f Solana Solana\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304a\u3088\u3073\u30aa\u30da\u30ec\u30fc\u30bf\u30fc Shelby Shelby\u306eRPC\u3068\u30b9\u30c8\u30ec\u30fc\u30b8\u30ce\u30fc\u30c9\uff08\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u307f\uff09 \u65b0\u898f\u30c6\u30ca\u30f3\u30c8 \u305d\u306e\u4ed6\u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0 \u4f7f\u7528\u3057\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30c4\u30fc\u30eb\u306f\uff1f iptables \u76f4\u63a5iptables\u30eb\u30fc\u30eb UFW Uncomplicated Firewall \u5b9f\u884c\u3057\u3066\u3044\u308b\u30ce\u30fc\u30c9\u306e\u30bf\u30a4\u30d7\u306f\uff1f \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc ID\u30ad\u30fc\u30da\u30a2\u3092\u6301\u3064\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30ebSolana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc \u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\uff08RPC\uff09 RPC\u30ce\u30fc\u30c9\u307e\u305f\u306fMEV\u30a4\u30f3\u30d5\u30e9 \u5fc5\u8981\u306a\u63a5\u7d9a\u30e2\u30fc\u30c9\u306f\uff1f \u30e6\u30cb\u30ad\u30e3\u30b9\u30c8\uff08IBRL\uff09 \u6a19\u6e96\u306e\u30dd\u30a4\u30f3\u30c8\u30c4\u30fc\u30dd\u30a4\u30f3\u30c8\u63a5\u7d9a \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8 1\u5bfe\u591a\u30d1\u30b1\u30c3\u30c8\u914d\u4fe1\uff08\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc/\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\uff09 \u4e21\u65b9 \u30e6\u30cb\u30ad\u30e3\u30b9\u30c8\u3068\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306e\u540c\u6642\u30c8\u30f3\u30cd\u30eb \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306e\u5f79\u5272\u306f\uff1f \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\uff08\u4f8b\uff1a\u30d6\u30ed\u30c3\u30af\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u30fc\uff09 \u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d7\u4fe1"},{"location":"ja/setup/","title":"DoubleZero\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u65b9\u6cd5","text":"

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.

\u7528\u8a9e

DoubleZero\u3092\u521d\u3081\u3066\u5229\u7528\u3057\u307e\u3059\u304b\uff1f\u7528\u8a9e\u96c6\u3067doublezerod\u3001IBRL\u3001DZD\u306a\u3069\u306e\u7528\u8a9e\u306e\u5b9a\u7fa9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/setup/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Warning

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u5834\u5408\uff1aDoubleZero\u306f\u30b3\u30f3\u30c6\u30ca\u3067\u306f\u306a\u304f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30db\u30b9\u30c8\u306b\u76f4\u63a5\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/setup/#doublezero_1","title":"DoubleZero\u3078\u306e\u63a5\u7d9a","text":"

DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3068DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306f\u7269\u7406\u7684\u306b\u7570\u306a\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306b\u9069\u5207\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002

DoubleZero\u3078\u306e\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u6642\u306b\u3001DoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\uff08DoubleZero ID\u3068\u547c\u3070\u308c\u308b\u516c\u958b\u9375\u3067\u8868\u3055\u308c\u308b\uff09\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002\u3053\u306e\u30ad\u30fc\u306fDoubleZero\u304c\u30de\u30b7\u30f3\u3092\u8a8d\u8b58\u3059\u308b\u65b9\u6cd5\u306e\u4e00\u90e8\u3067\u3059\u3002

"},{"location":"ja/setup/#1-doublezero","title":"1. DoubleZero\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

\u73fe\u5728\u306e\u30d0\u30fc\u30b8\u30e7\u30f3

\u30d1\u30c3\u30b1\u30fc\u30b8 \u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf \u30c6\u30b9\u30c8\u30cd\u30c3\u30c8 doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

OS\u306b\u5fdc\u3058\u3066\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"ja/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u65e2\u5b58\u30e6\u30fc\u30b6\u30fc\u306e\u307f\uff1a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u304b\u3089\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3001\u307e\u305f\u306f\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u304b\u3089\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u5909\u66f4\u3059\u308b

\u4e0a\u8a18\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u969b\u306f\u3001DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u307e\u305f\u306fDoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u56fa\u6709\u3067\u3059\u3002\u3044\u305a\u308c\u304b\u306e\u6642\u70b9\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5207\u308a\u66ff\u3048\u308b\u5834\u5408\u306f\u3001\u4ee5\u524d\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u524a\u9664\u3057\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u3053\u306e\u4f8b\u3067\u306f\u3001\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u304b\u3089\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3078\u306e\u79fb\u884c\u3092\u8aac\u660e\u3057\u307e\u3059\u3002

\u30b9\u30c6\u30c3\u30d73\u3092\u4e0a\u8a18\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u7528\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30b3\u30de\u30f3\u30c9\u306b\u7f6e\u304d\u63db\u3048\u308b\u3053\u3068\u3067\u3001\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u304b\u3089\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3078\u306e\u79fb\u884c\u3082\u540c\u3058\u624b\u9806\u3067\u5b8c\u4e86\u3067\u304d\u307e\u3059\u3002

  1. \u53e4\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u3064\u3051\u308b

    \u307e\u305a\u3001\u30b7\u30b9\u30c6\u30e0\u4e0a\u306e\u65e2\u5b58\u306eDoubleZero\u30ea\u30dd\u30b8\u30c8\u30ea\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7279\u5b9a\u3057\u307e\u3059\uff1a

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. \u53e4\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3059\u308b

    \u524d\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u898b\u3064\u304b\u3063\u305f\u53e4\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u4f8b\uff1a

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. \u65b0\u3057\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb

    \u65b0\u3057\u3044\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u8ffd\u52a0\u3057\u3001\u6700\u65b0\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\uff1a

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"ja/setup/#doublezerod","title":"doublezerod\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u3001\u65b0\u3057\u3044systemd\u30e6\u30cb\u30c3\u30c8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3001\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u3001\u8d77\u52d5\u3055\u308c\u307e\u3059\u3002\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

sudo systemctl status doublezerod\n

"},{"location":"ja/setup/#grebgp","title":"GRE\u3068BGP\u7528\u306e\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u8a2d\u5b9a","text":"

DoubleZero\u306fGRE\u30c8\u30f3\u30cd\u30ea\u30f3\u30b0\uff08IP\u30d7\u30ed\u30c8\u30b3\u30eb47\uff09\u3068BGP\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\uff08\u30ea\u30f3\u30af\u30ed\u30fc\u30ab\u30eb\u30a2\u30c9\u30ec\u30b9\u306etcp/179\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u304c\u3053\u308c\u3089\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u8a31\u53ef\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff1a

iptables\u3067GRE\u3068BGP\u3092\u8a31\u53ef\u3059\u308b\uff1a

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

\u307e\u305f\u306fUFW\u3067GRE\u3068BGP\u3092\u8a31\u53ef\u3059\u308b\uff1a

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"ja/setup/#2-doublezero","title":"2. \u65b0\u3057\u3044DoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f5c\u6210\u3059\u308b","text":"

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30b5\u30fc\u30d0\u30fc\u306bDoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f5c\u6210\u3057\u307e\u3059\uff1a

doublezero keygen\n

Info

\u4f7f\u7528\u3057\u305f\u3044\u65e2\u5b58\u306eID\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u624b\u9806\u306b\u5f93\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

doublezerod\u8a2d\u5b9a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b

mkdir -p ~/.config/doublezero\n

DoubleZero\u3067\u4f7f\u7528\u3057\u305f\u3044id.json\u3092doublezero\u8a2d\u5b9a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u307e\u305f\u306f\u30ea\u30f3\u30af\u3059\u308b\u3002

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"ja/setup/#3-doublezero","title":"3. \u30b5\u30fc\u30d0\u30fc\u306eDoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u53d6\u5f97\u3059\u308b","text":"

DoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u3053\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u306f\u30de\u30b7\u30f3\u3068DoubleZero\u9593\u306e\u63a5\u7d9a\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

doublezero address\n

\u51fa\u529b\uff1a

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"ja/setup/#4-doublezeroddz","title":"4. doublezerod\u304cDZ\u30c7\u30d0\u30a4\u30b9\u3092\u691c\u51fa\u3057\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u63a5\u7d9a\u3059\u308b\u524d\u306b\u3001doublezerod\u304c\u5229\u7528\u53ef\u80fd\u306a\u5404DZ\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u3092\u691c\u51fa\u3057\u3066ping\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero latency\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

\u51fa\u529b\u306b\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u306a\u3044\u5834\u5408\u306f\u300110\u301c20\u79d2\u5f85\u3063\u3066\u304b\u3089\u518d\u8a66\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/setup/#5-doublezero","title":"5. DoubleZero\u304b\u3089\u5207\u65ad\u3059\u308b","text":"

\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306fDoubleZero\u74b0\u5883\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u6210\u529f\u3092\u78ba\u5b9f\u306b\u3059\u308b\u305f\u3081\u306b\u3001\u73fe\u5728\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u5207\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u3067\u8907\u6570\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u958b\u3044\u3066\u3044\u308b\u554f\u984c\u3092\u56de\u907f\u3067\u304d\u307e\u3059\u3002

\u78ba\u8a8d

doublezero status\n

up\u306e\u5834\u5408\u306f\u5b9f\u884c\uff1a

doublezero disconnect\n
"},{"location":"ja/setup/#_2","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30c6\u30ca\u30f3\u30c8","text":"

DoubleZero\u3078\u306e\u63a5\u7d9a\u306f\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306b\u3088\u3063\u3066\u7570\u306a\u308a\u307e\u3059\u3002DoubleZero\u3067\u306f\u3001\u30c6\u30ca\u30f3\u30c8\u306f\u985e\u4f3c\u3057\u305f\u30e6\u30fc\u30b6\u30fc\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u6301\u3064\u30b0\u30eb\u30fc\u30d7\u3067\u3059\u3002\u4f8b\uff1a\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u3001\u30c7\u30fc\u30bf\u8ee2\u9001\u30ec\u30a4\u30e4\u30fc\u306a\u3069\u3002

"},{"location":"ja/setup/#_3","title":"\u3053\u3061\u3089\u3067\u30c6\u30ca\u30f3\u30c8\u3092\u9078\u629e\u3057\u3066\u9032\u3080","text":""},{"location":"ja/setup/#prometheus","title":"\u30aa\u30d7\u30b7\u30e7\u30f3\uff1aPrometheus\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b","text":"

Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u306b\u6163\u308c\u3066\u3044\u308b\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\u306f\u3001DoubleZero\u306e\u76e3\u8996\u306e\u305f\u3081\u306b\u6709\u52b9\u306b\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3001\u63a5\u7d9a\u30b9\u30c6\u30fc\u30bf\u30b9\u3001\u304a\u3088\u3073\u904b\u7528\u306e\u5065\u5168\u6027\u3092\u628a\u63e1\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/setup/#_4","title":"\u5229\u7528\u53ef\u80fd\u306a\u30e1\u30c8\u30ea\u30af\u30b9","text":"

DoubleZero\u306f\u3044\u304f\u3064\u304b\u306e\u4e3b\u8981\u306a\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u516c\u958b\u3057\u307e\u3059\uff1a - \u30d3\u30eb\u30c9\u60c5\u5831\uff1a\u30d0\u30fc\u30b8\u30e7\u30f3\u3001\u30b3\u30df\u30c3\u30c8\u30cf\u30c3\u30b7\u30e5\u3001\u30d3\u30eb\u30c9\u65e5 - \u30bb\u30c3\u30b7\u30e7\u30f3\u30b9\u30c6\u30fc\u30bf\u30b9\uff1aDoubleZero\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u30a2\u30af\u30c6\u30a3\u30d6\u304b\u3069\u3046\u304b - \u63a5\u7d9a\u30e1\u30c8\u30ea\u30af\u30b9\uff1a\u30ec\u30a4\u30c6\u30f3\u30b7\u3068\u63a5\u7d9a\u60c5\u5831 - \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c7\u30fc\u30bf\uff1a\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3068\u30a8\u30e9\u30fc\u7387

"},{"location":"ja/setup/#prometheus_1","title":"Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b","text":"

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/setup/#1-doublezerod-systemd","title":"1. doublezerod systemd\u30b5\u30fc\u30d3\u30b9\u306e\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u3092\u5909\u66f4\u3059\u308b","text":"

systemd\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u8a2d\u5b9a\u3092\u4f5c\u6210\u307e\u305f\u306f\u7de8\u96c6\u3057\u307e\u3059\uff1a

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

\u3053\u306e\u8a2d\u5b9a\u306b\u7f6e\u304d\u63db\u3048\u307e\u3059\uff1a

-env\u30d5\u30e9\u30b0\u306f\u30c7\u30fc\u30bf\u3092\u53ce\u96c6\u3057\u305f\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5fdc\u3058\u3066testnet\u307e\u305f\u306fmainnet-beta\u3092\u6307\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30f3\u30d7\u30eb\u30d6\u30ed\u30c3\u30af\u3067\u306ftestnet\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u5fc5\u8981\u306b\u5fdc\u3058\u3066mainnet-beta\u306b\u5909\u66f4\u3067\u304d\u307e\u3059\u3002

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"ja/setup/#2","title":"2. \u30b5\u30fc\u30d3\u30b9\u3092\u30ea\u30ed\u30fc\u30c9\u3057\u3066\u518d\u8d77\u52d5\u3059\u308b","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"ja/setup/#3","title":"3. \u30e1\u30c8\u30ea\u30af\u30b9\u304c\u5229\u7528\u53ef\u80fd\u304b\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30e1\u30c8\u30ea\u30af\u30b9\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304c\u5fdc\u7b54\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

curl -s localhost:2113/metrics | grep doublezero\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"ja/setup/#_5","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0","text":"

\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u8868\u793a\u3055\u308c\u306a\u3044\u5834\u5408\uff1a

  1. \u30b5\u30fc\u30d3\u30b9\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b\uff1asudo systemctl status doublezerod
  2. \u8a2d\u5b9a\u3092\u78ba\u8a8d\u3059\u308b\uff1asudo systemctl cat doublezerod
  3. \u30ed\u30b0\u3092\u78ba\u8a8d\u3059\u308b\uff1asudo journalctl -u doublezerod -f
  4. \u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u30c6\u30b9\u30c8\u3059\u308b\uff1acurl -v localhost:2113/metrics
  5. \u30dd\u30fc\u30c8\u3092\u78ba\u8a8d\u3059\u308b\uff1anetstat -tlnp | grep 2113
"},{"location":"ja/setup/#prometheus_2","title":"Prometheus\u30b5\u30fc\u30d0\u30fc\u306e\u8a2d\u5b9a","text":"

\u8a2d\u5b9a\u3068\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306f\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u7bc4\u56f2\u5916\u3067\u3059\u3002 Grafana\u306f\u8996\u899a\u5316\u306b\u512a\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u3001Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u53ce\u96c6\u65b9\u6cd5\u3092\u8a73\u8ff0\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304c\u3053\u3061\u3089\u3067\u5165\u624b\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/setup/#grafana","title":"Grafana\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09","text":"

\u8996\u899a\u5316\u306e\u305f\u3081\u306b\u3001DoubleZero\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u4f7f\u7528\u3057\u3066Grafana\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u4e00\u822c\u7684\u306a\u30d1\u30cd\u30eb\u306b\u306f\u4ee5\u4e0b\u304c\u542b\u307e\u308c\u307e\u3059\uff1a - \u6642\u9593\u7d4c\u904e\u306b\u3088\u308b\u30bb\u30c3\u30b7\u30e7\u30f3\u30b9\u30c6\u30fc\u30bf\u30b9 - \u30d3\u30eb\u30c9\u60c5\u5831 - \u63a5\u7d9a\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u30c8\u30ec\u30f3\u30c9 - \u30a8\u30e9\u30fc\u7387\u306e\u76e3\u8996

"},{"location":"ja/tenant/","title":"\u30c6\u30ca\u30f3\u30c8","text":"

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\u306e\u30c6\u30ca\u30f3\u30c8\u306f\u3001\u985e\u4f3c\u3057\u305f\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3068\u63a5\u7d9a\u8981\u4ef6\u3092\u6301\u3064\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u3067\u3001\u901a\u5e38\u306f\u7570\u306a\u308b\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3001\u30c7\u30fc\u30bf\u8ee2\u9001\u30ec\u30a4\u30e4\u30fc\u3001\u307e\u305f\u306f\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u3092\u8868\u3057\u3066\u3044\u307e\u3059\u3002

\u4ee5\u4e0b\u306e\u8868\u3092\u78ba\u8a8d\u3057\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u306e\u9023\u643a\u65b9\u6cd5\u3092\u6700\u3082\u3088\u304f\u8868\u3059\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002

Solana

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6b21\u306e\u30b9\u30c6\u30c3\u30d7 Solana\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\uff08\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u542b\u3080\uff09 DoubleZero Mainnet-Beta\u63a5\u7d9a Solana\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\uff08\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u542b\u3080\uff09 DoubleZero Testnet\u63a5\u7d9a \u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc - RPC\u7b49 DoubleZero Mainnet-Beta\u304a\u3088\u3073Testnet\u63a5\u7d9a

Shelby

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6b21\u306e\u30b9\u30c6\u30c3\u30d7 Shelby Testnet RPC\u304a\u3088\u3073\u30b9\u30c8\u30ec\u30fc\u30b8\u30ce\u30fc\u30c9 DoubleZero Testnet\u63a5\u7d9a

\u65b0\u898f\u30c6\u30ca\u30f3\u30c8

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6b21\u306e\u30b9\u30c6\u30c3\u30d7 DoubleZero\u3092\u6d3b\u7528\u3059\u308b\u65b0\u3057\u3044\u30d7\u30ed\u30c8\u30b3\u30eb\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u65b0\u898f\u30c6\u30ca\u30f3\u30c8\u306e\u8ffd\u52a0"},{"location":"ja/troubleshooting/","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0","text":"

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.

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u3055\u307e\u3056\u307e\u306a\u554f\u984c\u3092\u53d6\u308a\u4e0a\u3052\u3066\u304a\u308a\u3001\u7d99\u7d9a\u7684\u306b\u66f4\u65b0\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30ac\u30a4\u30c9\u3092\u5b8c\u4e86\u3057\u305f\u5f8c\u306b\u3055\u3089\u306a\u308b\u30b5\u30dd\u30fc\u30c8\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001DoubleZero Tech Discord\u306b\u3066\u3054\u652f\u63f4\u3092\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/troubleshooting/#_2","title":"\u5171\u901a\u30b3\u30de\u30f3\u30c9\u3068\u51fa\u529b","text":"

\u307e\u305a\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u306e\u51fa\u529b\u3068\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u3089\u306f\u8a73\u7d30\u306a\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002 \u30b5\u30dd\u30fc\u30c8\u30c1\u30b1\u30c3\u30c8\u3092\u958b\u3044\u305f\u5834\u5408\u3001\u3053\u308c\u3089\u306e\u51fa\u529b\u3092\u6c42\u3081\u3089\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/troubleshooting/#1","title":"1. \u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero --version

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

DoubleZero 0.6.3\n

"},{"location":"ja/troubleshooting/#2-doublezero","title":"2. DoubleZero\u30a2\u30c9\u30ec\u30b9\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero address

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"ja/troubleshooting/#3","title":"3. \u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306e\u78ba\u8a8d","text":"

\u30b5\u30f3\u30d7\u30eb\u516c\u958b\u9375\uff1aMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u6642\u306f\u3053\u308c\u3092\u3042\u306a\u305f\u306e\u516c\u958b\u9375\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

\u51fa\u529b\uff1a[\u3053\u306e\u51fa\u529b\u3067\u306f\u30d8\u30c3\u30c0\u30fc\u3092\u8868\u793a\u3059\u308b\u305f\u3081\u306bdoublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"ja/troubleshooting/#4-doublezero","title":"4. DoubleZero\u30ec\u30b8\u30e3\u30fc\u30af\u30ec\u30b8\u30c3\u30c8\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero balance

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

0.78 Credits\n

"},{"location":"ja/troubleshooting/#5","title":"5. \u63a5\u7d9a\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero status

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"ja/troubleshooting/#6","title":"6. \u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero latency

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"ja/troubleshooting/#_3","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4f8b","text":"

\u57fa\u672c\u7684\u306a\u51fa\u529b\u3068\u6b63\u5e38\u306a\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3067\u671f\u5f85\u3055\u308c\u308b\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u305f\u3068\u3053\u308d\u3067\u3001\u4e00\u822c\u7684\u306a\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4f8b\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002

"},{"location":"ja/troubleshooting/#error-creating-user","title":"\u554f\u984c\uff1a\u274c Error creating user","text":"

\u3053\u306e\u554f\u984c\u306f\u4e00\u822c\u7684\u306b\u3001\u671f\u5f85\u3055\u308c\u308b\u516c\u958b\u9375/IP\u306e\u30da\u30a2\u30ea\u30f3\u30b0\u3068\u30e6\u30fc\u30b6\u30fc\u304cDoubleZero\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a66\u307f\u3066\u3044\u308b\u516c\u958b\u9375/IP\u306e\u30da\u30a2\u30ea\u30f3\u30b0\u306e\u4e0d\u4e00\u81f4\u306b\u95a2\u9023\u3057\u3066\u3044\u307e\u3059\u3002

\u75c7\u72b6\uff1a - doublezero connect ibrl\u3067\u63a5\u7d9a\u3059\u308b\u969b\u306b\u274c Error creating user\u304c\u8868\u793a\u3055\u308c\u308b

\u89e3\u6c7a\u7b56\uff1a 1. \u78ba\u8a8d

`doublezero address`\n\n\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. \u3053\u306e\u30a2\u30c9\u30ec\u30b9\u304c\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\uff1a

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    \u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    doublezero address\u306e\u516c\u958b\u9375\u306fuser_payer\u306e\u516c\u958b\u9375\u3068\u4e00\u81f4\u3057\u3001\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308bIP\u30a2\u30c9\u30ec\u30b9\u306f\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306eIP\u3068\u4e00\u81f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 doublezero address\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067~/.config/doublezero/\u306eid.json\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u53d6\u5f97\u3055\u308c\u307e\u3059\u3002\u30b9\u30c6\u30c3\u30d76\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

  2. \u4e0a\u8a18\u304c\u6b63\u3057\u304f\u3001\u63a5\u7d9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u307e\u305f\u306f\u30de\u30c3\u30d4\u30f3\u30b0\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u3001DoubleZero Tech\u3067\u30b5\u30dd\u30fc\u30c8\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/troubleshooting/#error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"\u554f\u984c\uff1a\u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

\u3053\u306e\u30a8\u30e9\u30fc\u306f\u3001\u30c7\u30d0\u30a4\u30b9\u304c\u3059\u3067\u306bDoubleZero\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u793a\u3057\u307e\u3059\u3002

\u75c7\u72b6\uff1a - \u30e6\u30fc\u30b6\u30fc\u304cDoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u8a66\u307f\u308b - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time\u304c\u8868\u793a\u3055\u308c\u308b

\u89e3\u6c7a\u7b56\uff1a 1. \u78ba\u8a8d doublezero status

\u51fa\u529b\uff1a\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up\u306f\u6b63\u5e38\u306a\u63a5\u7d9a\u3092\u793a\u3057\u307e\u3059\u3002
  2. \u3053\u306e\u30a8\u30e9\u30fc\u306f\u3001\u7279\u5b9a\u306eDoubleZero IP\u3092\u6301\u3064DoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u3053\u306e\u30de\u30b7\u30f3\u3067\u3059\u3067\u306b\u30a2\u30af\u30c6\u30a3\u30d6\u3067\u3042\u308b\u305f\u3081\u306b\u8868\u793a\u3055\u308c\u307e\u3059\u3002

    \u3053\u306e\u30a8\u30e9\u30fc\u306fDoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u5f8c\u306b\u3088\u304f\u767a\u751f\u3057\u307e\u3059\u3002DoubleZero\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306fdoublezerod\u30b5\u30fc\u30d3\u30b9\u3092\u81ea\u52d5\u7684\u306b\u518d\u8d77\u52d5\u3057\u3001\u30b5\u30fc\u30d3\u30b9\u518d\u8d77\u52d5\u524d\u306b\u63a5\u7d9a\u3057\u3066\u3044\u305f\u5834\u5408\u306f\u518d\u63a5\u7d9a\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/troubleshooting/#doublezerounknowndown","title":"\u554f\u984c\uff1aDoubleZero\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u304cunknown\u307e\u305f\u306fdown","text":"

\u3053\u306e\u554f\u984c\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u3068DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u3067GRE\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u5e38\u306b\u30a2\u30af\u30c6\u30a3\u30d6\u5316\u3055\u308c\u305f\u304c\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u304cBGP\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u78ba\u7acb\u3092\u59a8\u3052\u3066\u3044\u308b\u3053\u3068\u306b\u95a2\u9023\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u30eb\u30fc\u30c8\u3092\u53d7\u4fe1\u305b\u305a\u3001DoubleZero\u4e0a\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u9001\u4fe1\u3057\u3066\u3044\u307e\u305b\u3093\u3002

\u75c7\u72b6\uff1a - doublezero connect ibrl\u306f\u6210\u529f\u3057\u307e\u3057\u305f\u3002\u305f\u3060\u3057\u3001doublezero status\u304cdown\u307e\u305f\u306funknown\u3092\u8fd4\u3059

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

\u89e3\u6c7a\u7b56\uff1a 1. \u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff01

DoubleZero\u306fGRE\u30c8\u30f3\u30cd\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u7528\u306b\u30ea\u30f3\u30af\u30ed\u30fc\u30ab\u30eb\u30a2\u30c9\u30ec\u30b9\u7a7a\u9593169.254.0.0/16\u3092\u30de\u30b7\u30f3\u3068DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u3067\u4f7f\u7528\u3057\u307e\u3059\u3002169.254.0.0/16\u306f\u901a\u5e38\u300c\u975e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u53ef\u80fd\u300d\u306a\u7a7a\u9593\u3067\u3042\u308a\u3001\u512a\u308c\u305f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3067\u306f\u3053\u306e\u7a7a\u9593\u3068\u306e\u901a\u4fe1\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308b\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u307e\u3059\u3002169.254.0.0/16\u3092\u9001\u4fe1\u5143\u3068\u3059\u308b\u901a\u4fe1\u304ctcp\u30dd\u30fc\u30c8179\u306e169.254.0.0/16\u5b9b\u5148\u3068\u901a\u4fe1\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u8a31\u53ef\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u30eb\u30fc\u30eb\u306f169.254.0.0/16\u3078\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u62d2\u5426\u3059\u308b\u30eb\u30fc\u30eb\u3088\u308a\u4e0a\u306b\u914d\u7f6e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

UFW\u306a\u3069\u306e\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3067\u306f`sudo ufw status`\u3092\u5b9f\u884c\u3057\u3066\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\n\nSolana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u6301\u3064\u3088\u3046\u306a\u8a2d\u5b9a\u306b\u985e\u4f3c\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\n\u4e0a\u8a18\u306e\u51fa\u529b\u3067\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u30dd\u30fc\u30c8\u4ee5\u5916\u306e169.254.0.0/16\u3078\u306e\u3059\u3079\u3066\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u62d2\u5426\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179`\u3067\u30eb\u30fc\u30eb\u3092<N>\u756a\u76ee\u306e\u4f4d\u7f6e\u306b\u633f\u5165\u3057\u307e\u3059\u3002\u4f8b\uff1aN=1\u306e\u5834\u5408\u3001\u3053\u306e\u30eb\u30fc\u30eb\u3092\u6700\u521d\u306e\u30eb\u30fc\u30eb\u3068\u3057\u3066\u633f\u5165\u3057\u307e\u3059\u3002\n`sudo ufw status numbered`\u3067\u30eb\u30fc\u30eb\u306e\u756a\u53f7\u9806\u5e8f\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\n
"},{"location":"ja/troubleshooting/#doublezero","title":"\u554f\u984c\uff1a\u6700\u5bc4\u308a\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u5909\u308f\u3063\u305f","text":"

\u3053\u308c\u306f\u30a8\u30e9\u30fc\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u6700\u9069\u5316\u3067\u304d\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u6642\u6298\u5b9f\u884c\u3001\u307e\u305f\u306f\u81ea\u52d5\u5316\u3067\u304d\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3067\u3059\u3002

\u89e3\u6c7a\u7b56\uff1a

  1. \u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u30ec\u30a4\u30c6\u30f3\u30b7\u3092\u78ba\u8a8d\u3059\u308b

    • doublezero latency\u3092\u5b9f\u884c

      \u51fa\u529b

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      \u4e0a\u8a18\u3067\u306f\u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u304cdz-ny7-sw01\u3067\u3059

      \u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3057\u305f\u3044\u3068\u3057\u307e\u3059\u3002

  2. \u5bfe\u8c61\u30c7\u30d0\u30a4\u30b9\u306b\u65e2\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3059\u308b

    • doublezero user list --env testnet | grep 111.11.11.11\u3092\u5b9f\u884c\u3002111.11.11.11\u3092DoubleZero\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u30c7\u30d0\u30a4\u30b9\u306e\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u307e\u305f\u306fDoubleZero ID\u3082\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002

      \u51fa\u529b

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      \u3053\u306e\u4f8b\u3067\u306f\u3001\u65e2\u306b\u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u4ee5\u4e0a\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u4e0d\u8981\u3067\u3001\u3053\u3053\u3067\u6b62\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

      \u4ee3\u308f\u308a\u306b\u51fa\u529b\u304c\u6b21\u306e\u3088\u3046\u3060\u3063\u305f\u5834\u5408\u3092\u8003\u3048\u3066\u307f\u307e\u3057\u3087\u3046\uff1a account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \u3053\u308c\u306f\u6700\u9069\u3067\u306a\u3044\u63a5\u7d9a\u3067\u3059\u3002\u518d\u63a5\u7d9a\u304c\u5fc5\u8981\u304b\u3069\u3046\u304b\u691c\u8a0e\u3057\u307e\u3057\u3087\u3046\u3002

      \u63a5\u7d9a\u306e\u524d\u306b\u3001\u30c7\u30d0\u30a4\u30b9\u306b\u5229\u7528\u53ef\u80fd\u306a\u30e6\u30fc\u30b6\u30fc\u30c8\u30f3\u30cd\u30eb\u304c\u3042\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002

  3. \u30aa\u30d7\u30b7\u30e7\u30f3\uff1a\u5229\u7528\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8abf\u3079\u308b

    \u6559\u80b2\u76ee\u7684\u3067\u3001\u6700\u521d\u306b\uff1a - doublezero device list\u3092\u5b9f\u884c\u3057\u3066\u5168\u30c7\u30d0\u30a4\u30b9\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u51fa\u529b\u3092\u8aac\u660e\u3059\u308b\u305f\u3081\u306b2\u53f0\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u4f8b\u3068\u3057\u3066\u793a\u3057\u307e\u3059\u3002

    \u51fa\u529b\uff1a\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n```\n`ams001-dz002`\u306f69\u30e6\u30fc\u30b6\u30fc\u3044\u3066\u3001\u6700\u5927128\u30e6\u30fc\u30b6\u30fc\u307e\u3067\u5bfe\u5fdc\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306f59\u4eba\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u8ffd\u52a0\u3067\u304d\u307e\u3059\u3002\n\n\u4e00\u65b9\u3001`dz-fr5-sw01`\u306f0\u30e6\u30fc\u30b6\u30fc\u3067\u6700\u59270\u30e6\u30fc\u30b6\u30fc\u3067\u3059\u3002\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u306f\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002\u6700\u5927\u30e6\u30fc\u30b6\u30fc\u304c0\u306e\u5834\u5408\u3001\u30c7\u30d0\u30a4\u30b9\u306f\u63a5\u7d9a\u3092\u53d7\u3051\u4ed8\u3051\u3066\u3044\u307e\u305b\u3093\u3002\n\n\u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u63a5\u7d9a\u306b\u623b\u308a\u307e\u3057\u3087\u3046\u3002\n
  4. \u5bfe\u8c61\u30c7\u30d0\u30a4\u30b9\u306b\u5229\u7528\u53ef\u80fd\u306a\u63a5\u7d9a\u304c\u3042\u308b\u304b\u78ba\u8a8d\u3059\u308b

    • doublezero device list | grep dz-ny7-sw01\u3092\u5b9f\u884c\u3002dz-ny7-sw01\u3092\u5bfe\u8c61\u30c7\u30d0\u30a4\u30b9\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044

      \u51fa\u529b

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      dz-ny7-sw01\u306b\u63a5\u7d9a\u53ef\u80fd\u306a\u30b9\u30da\u30fc\u30b9\u304c\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002

  5. \u6700\u5bc4\u308a\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3059\u308b

    \u5207\u65ad\u3057\u3066\u304b\u3089DoubleZero\u306b\u518d\u63a5\u7d9a\u3057\u307e\u3059\u3002

    \u307e\u305a\u5b9f\u884c\uff1a - doublezero disconnect

    \u51fa\u529b

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    \u6b21\u306b\u5207\u65ad\u78ba\u8a8d\u306e\u305f\u3081\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a - doublezero status

    \u51fa\u529b

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type\ndisconnected  | no session data     |             |            |            |               |\n
    \u6700\u5f8c\u306b\u518d\u63a5\u7d9a\u3057\u307e\u3059\uff1a - doublezero connect ibrl

    \u51fa\u529b

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    \u4e0a\u8a18\u306e\u51fa\u529b\u3067Connected to device: dz-ny7-sw01\u304c\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u30b9\u30c6\u30c3\u30d71\u306e\u6700\u521d\u306e\u8abf\u67fb\u3067dz-ny7-sw01\u304c\u6700\u3082\u4f4e\u3044\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u30c7\u30d0\u30a4\u30b9\u3067\u3042\u308b\u3068\u5224\u660e\u3057\u305f\u3053\u3068\u304b\u3089\u3001\u671b\u307e\u3057\u3044\u7d50\u679c\u3067\u3059\u3002

"},{"location":"ja/troubleshooting/#doublezero-statusna","title":"\u554f\u984c\uff1adoublezero status\u3067\u4e00\u90e8\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306bN/A\u304c\u8868\u793a\u3055\u308c\u308b","text":"

\u3053\u306e\u554f\u984c\u306f\u4e00\u822c\u7684\u306b\u3001\u73fe\u5728\u306e\u30c7\u30fc\u30e2\u30f3\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u3001\u63a5\u7d9a\u3055\u308c\u305fDZ\u30c8\u30f3\u30cd\u30eb\u304c\u78ba\u7acb\u3055\u308c\u305f\u30c7\u30fc\u30e2\u30f3\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u4e0d\u4e00\u81f4\u306b\u95a2\u9023\u3057\u3066\u3044\u307e\u3059\u3002

\u75c7\u72b6\uff1a - doublezero status\u3092\u5b9f\u884c\u3059\u308b\u3068\u4e00\u90e8\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306bN/A\u304c\u8868\u793a\u3055\u308c\u308b

\u89e3\u6c7a\u7b56\uff1a 1. \u5b9f\u884c doublezero status

\u4f8b\uff1a\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\n\u4e0a\u8a18\u306e\u51fa\u529b\u4f8b\u3067\u3001`Tunnel status`\u304c`up`\u3067\u3042\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002`Network`\u306f`mainnet-beta`\u3067\u3059\u304c\u3001`Current Device`\u3068`Metro`\u306f`N/A`\u3067\u3059\u3002\n\n\u3053\u308c\u306f\u3001\u30de\u30b7\u30f3\u4e0a\u306e\u30aa\u30fc\u30d7\u30f3\u30c8\u30f3\u30cd\u30eb\u304c\u73fe\u5728\u306e\u74b0\u5883\u306b\u306a\u3044\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\n\u3053\u306e\u5834\u5408\u3001`mainnet-beta`\u3067`Current Device`\u304c\u898b\u3064\u304b\u3089\u306a\u3044`up`\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u3001\u30c8\u30f3\u30cd\u30eb\u304c\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\uff01\n
  1. \u74b0\u5883\u3092\u5909\u66f4\u3059\u308b

    \u4e0d\u4e00\u81f4\u3092\u89e3\u6d88\u3059\u308b\u306b\u306f\u3001N/A\u3092\u8fd4\u3059\u74b0\u5883\u306e\u53cd\u5bfe\u306e\u74b0\u5883\u306b\u5909\u66f4\u3057\u307e\u3059\u3002

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. \u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b

    \u74b0\u5883\u306e\u5207\u308a\u66ff\u3048\u5f8c\u306b\u5b9f\u884c\uff1a

    doublezero status\n

    \u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    \u3059\u3079\u3066\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u5165\u529b\u3055\u308c\u3066\u304a\u308a\u3001\u6b63\u3057\u3044\u74b0\u5883\u306b\u3044\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ko/","title":"DoubleZero\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4","text":"

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\ub294 \ube14\ub85d\uccb4\uc778\uacfc \uac19\uc740 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc5d0 \ucd5c\uc801\ud654\ub41c \uace0\uc131\ub2a5 \ubd84\uc0b0 \ud504\ub85c\ud1a0\ucf5c \ubc0f \ub124\ud2b8\uc6cc\ud06c\uc785\ub2c8\ub2e4. DoubleZero \uc0ac\uc6a9\uc790\ub294 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c \ub370\uc774\ud130\uc758 \uace0\ub3c4\ub85c \ucd5c\uc801\ud654\ub41c \uc804\uc1a1 \ubc0f \uc804\ucc98\ub9ac\ub97c \uc704\ud55c \ud1b5\ud569 \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/#doublezero_1","title":"DoubleZero\ub294 \ub204\uad6c\ub97c \uc704\ud55c \uac83\uc778\uac00\uc694?","text":""},{"location":"ko/#_1","title":"\uae30\uc5ec\uc790","text":"

DoubleZero \uae30\uc5ec\uc790\ub294 \ubbf8\ud65c\uc6a9 \uc804\uc6a9 \uad11\uc12c\uc720 \ub9c1\ud06c \ubc0f \ud558\ub4dc\uc6e8\uc5b4(\uc608: \uc2a4\uc704\uce58 \ubc0f FPGA \uc7a5\uce58) \ud615\ud0dc\uc758 \ub124\ud2b8\uc6cc\ud06c \uc6a9\ub7c9\uc744 \ubcf4\uc720\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ub9ac\uc18c\uc2a4\ub97c DoubleZero \ub124\ud2b8\uc6cc\ud06c \ud655\uc7a5\uc5d0 \uae30\uc5ec\ud558\uba74 \ud1b5\ud569 \uc815\ubcf4 \uc11c\ube44\uc2a4\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4. DZ \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub4e4\uc740 \uc774 \ub124\ud2b8\uc6cc\ud06c \uc6a9\ub7c9\uc744 \ub3d9\uc801\uc774\uace0 \uad11\ubc94\uc704\ud55c \uae00\ub85c\ubc8c \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\ub85c \uc5ee\uace0 \uae30\uc5ec\uc5d0 \ub300\ud55c \ud1a0\ud070 \uc778\uc13c\ud2f0\ube0c\ub97c \ubc1b\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/#_2","title":"\uc0ac\uc6a9\uc790","text":"

DoubleZero \uc0ac\uc6a9\uc790\ub294 \uace0\uc131\ub2a5 \ub124\ud2b8\uc6cc\ud06c \uc5f0\uacb0\uc774 \ud544\uc694\ud55c \ube14\ub85d\uccb4\uc778\uacfc \uac19\uc740 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc5d0 \ucc38\uc5ec\ud569\ub2c8\ub2e4. \ube14\ub85d\uccb4\uc778 \uc2dc\uc2a4\ud15c\uc744 DoubleZero\uc640 \uc0c1\ud638 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 \uc0ac\uc6a9\uc790\ub294 \ub124\ud2b8\uc6cc\ud06c I/O\ub97c \uac00\uc18d\ud654\ud558\ub294 \ucd5c\uc801\ud654 \uae30\ub2a5\uc758 \ubc88\ub4e4\uc744 \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\ucd08\uae30 \uad6c\ud604\uc5d0\uc11c DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \ube14\ub85d\uccb4\uc778 \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 RPC \ubc0f MEV \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4\uc640 \ud638\ud658\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc0ac\uc6a9\uc790 \uc2dc\uc2a4\ud15c\uc740 \ub124\ud2b8\uc6cc\ud06c \uc811\uadfc\uc744 \ud5c8\uc6a9\ud558\uae30 \uc804\uc5d0 \uac01 \ub808\uc800\uc5d0\uc11c \uace0\uc720\ud558\uac8c \uc2dd\ubcc4\ud558\ub294 \uacf5\uac1c \ud0a4 \uc8fc\uc18c\ub97c \uac80\uc99d\ud558\ub294 \uc2b9\uc778 \uc81c\uc5b4\ub97c \uac70\uce69\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c\uac00 \ub2e4\ub978 \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc758 \uc0ac\uc6a9\uc790 \uc2dc\uc2a4\ud15c\uc744 \ud3ec\ud568\ud558\ub3c4\ub85d \ubc1c\uc804\ud568\uc5d0 \ub530\ub77c \uac01 \uc0ac\uc6a9\uc790 \ud504\ub85c\uc81d\ud2b8 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ub9de\ucda4\ud654\ub41c \ucd94\uac00 \uc2dd\ubcc4 \ubc0f \uc778\uc99d \uc804\ub7b5\uc774 \ucd94\uac00\ub420 \uac83\uc785\ub2c8\ub2e4.

"},{"location":"ko/#_3","title":"\ud61c\ud0dd","text":"

DoubleZero\uc758 \uc720\uc77c\ud55c \ub300\uc548\uc740 \uacf5\uc6a9 \uc778\ud130\ub137\uc785\ub2c8\ub2e4. \uacf5\uc6a9 \uc778\ud130\ub137\uacfc \ube44\uad50\ud558\uc5ec DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \ube14\ub85d\uccb4\uc778\uc5d0 \ub450 \uac00\uc9c0 \uac1c\uc120 \uc0ac\ud56d\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

\uccab\uc9f8, \uc778\ubc14\uc6b4\ub4dc \ud2b8\ub79c\uc7ad\uc158\uc740 DoubleZero \ub124\ud2b8\uc6cc\ud06c \uc0ac\uc6a9\uc790(\uc608: \ube14\ub85d\uccb4\uc778 \ub178\ub4dc)\uc5d0\uac8c \uc804\uc1a1\ub418\uae30 \uc804\uc5d0 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790 \ud558\ub4dc\uc6e8\uc5b4 \ub808\ubca8\uc5d0\uc11c \ube44\uc7ac\ub7c9\uc801 \ubc29\uc2dd\uc73c\ub85c \uc5e3\uc9c0 \ud544\ud130\ub9c1\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4(\uc989, \uc2a4\ud338 \ubc0f \uc911\ubcf5 \uc81c\uac70). \uc774\ub97c \ud1b5\ud574 \ube14\ub85d\uccb4\uc778\uc740 \uac01 \uac1c\ubcc4 \uac80\uc99d\uc790\uac00 \ucda9\ubd84\ud55c \ub9ac\uc18c\uc2a4\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud560 \ud544\uc694 \uc5c6\uc774 \uc2dc\uc2a4\ud15c \uc804\uccb4 \uacf5\uc720 \ud544\ud130\ub9c1 \ub9ac\uc18c\uc2a4\ub97c \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c \uac80\uc99d\uc790\ub294 \uc9c1\uc811 \uc218\uc775 \ucc3d\ucd9c \ud65c\ub3d9\uc73c\ub85c \ub9ac\uc18c\uc2a4\ub97c \uc7ac\ubc30\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae30\ub2a5\uc740 \uc544\uc9c1 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

\ub458\uc9f8, \uc544\uc6c3\ubc14\uc6b4\ub4dc \uba54\uc2dc\uc9c0\ub294 \ud6a8\uc728\uc131\uc744 \uac1c\uc120\ud558\uae30 \uc704\ud574 \ub354 \uc9c1\uc811\uc801\uc73c\ub85c \ub77c\uc6b0\ud305\ub418\uace0 \uc6b0\uc120\uc21c\uc704\uac00 \uc9c0\uc815\ub429\ub2c8\ub2e4. DoubleZero\uc5d0\uc11c\ub294 \uae00\ub85c\ubc8c \ub370\uc774\ud130 \uc774\ub3d9\uc758 \ub77c\uc6b0\ud305 \ub85c\uc9c1\uc774 \uacf5\uc6a9 \uc778\ud130\ub137\uacfc \ub2ec\ub9ac \uc18d\ub3c4\uc5d0 \ucd5c\uc801\ud654\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc774\uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uac80\uc99d\uc790\ub294 \uc9c0\ud130 \uac10\uc18c\uc758 \ud61c\ud0dd\uc744 \ubc1b\uc2b5\ub2c8\ub2e4. \uc9c0\ud130\ub294 \ub450 \ub370\uc774\ud130 \ucf00\uc774\ube14 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uac04\uc758 \ub300\uae30 \uc2dc\uac04 \ubcc0\ub3d9\ub7c9\uc73c\ub85c \uc815\uc758\ub429\ub2c8\ub2e4. \ubcf8\uc9c8\uc801\uc73c\ub85c \ube14\ub85d\uccb4\uc778 \ub178\ub4dc\ub294 \ube14\ub85d\uc744 \ub354 \ube60\ub974\uac8c \ubcf4\ub0b4\uace0 \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc774\ub7ec\ud55c DoubleZero \ub124\ud2b8\uc6cc\ud06c \ud61c\ud0dd\uc744 \uc885\ud569\ud558\uba74 \uacf5\uc6a9 \uc778\ud130\ub137\uc73c\ub85c\ub294 \ub2ec\uc131\ud560 \uc218 \uc5c6\ub294 \uc131\ub2a5 \uc218\uc900\uc744 \ub2ec\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 DoubleZero \ud504\ub85c\ud1a0\ucf5c \ubc31\uc11c\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/#_4","title":"\ub2e4\uc74c \ub2e8\uacc4","text":""},{"location":"ko/DZ%20Mainnet-beta%20Connection/","title":"IBRL \ubaa8\ub4dc \uac80\uc99d\uc790 \uba54\uc778\ub137-\ubca0\ud0c0 \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#ibrl-_1","title":"IBRL \ubaa8\ub4dc\ub85c \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uc5f0\uacb0","text":"

Note

IBRL \ubaa8\ub4dc\ub294 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

Solana \uba54\uc778\ub137 \uac80\uc99d\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc790\uc138\ud788 \uc124\uba85\ub41c DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0 \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

\uac01 Solana \uac80\uc99d\uc790\uc5d0\ub294 \uace0\uc720\ud55c \uc2e0\uc6d0 \ud0a4\uc30d\uc774 \uc788\uc73c\uba70, \uc774\ub85c\ubd80\ud130 \ub178\ub4dc ID\ub85c \uc54c\ub824\uc9c4 \uacf5\uac1c \ud0a4\ub97c \ucd94\ucd9c\ud569\ub2c8\ub2e4. \uc774\uac83\uc774 Solana \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \uace0\uc720 \uc9c0\ubb38\uc785\ub2c8\ub2e4.

DoubleZeroID\uc640 \ub178\ub4dc ID\uac00 \ud655\uc778\ub418\uba74 \uae30\uacc4\uc758 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \uac80\uc99d\uc790\uc758 \uc2e0\uc6d0 \ud0a4\ub85c \uc11c\uba85\ub41c DoubleZeroID\ub97c \ud3ec\ud568\ud558\ub294 \uba54\uc2dc\uc9c0\ub97c \uc0dd\uc131\ud558\uc5ec \uc218\ud589\ub429\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc778 \uc554\ud638\ud654 \uc11c\uba85\uc740 \uac80\uc99d\uc790\ub97c \uc81c\uc5b4\ud55c\ub2e4\ub294 \uac80\uc99d \uac00\ub2a5\ud55c \uc99d\uac70\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\ub9c8\uc9c0\ub9c9\uc73c\ub85c DoubleZero\uc5d0 \uc5f0\uacb0 \uc694\uccad\uc744 \uc81c\ucd9c\ud569\ub2c8\ub2e4. \uc774 \uc694\uccad\uc740 \ub2e4\uc74c\uc744 \uc804\ub2ec\ud569\ub2c8\ub2e4: \"\uc81c \uc2e0\uc6d0\uc774 \uc5ec\uae30 \uc788\uace0, \uc18c\uc720\uad8c \uc99d\uac70\uac00 \uc5ec\uae30 \uc788\uc73c\uba70, \uc5f0\uacb0 \ubc29\ubc95\uc774 \uc5ec\uae30 \uc788\uc2b5\ub2c8\ub2e4.\" DoubleZero\ub294 \uc774 \uc815\ubcf4\ub97c \uac80\uc99d\ud558\uace0 \uc99d\uac70\ub97c \uc218\ub77d\ud558\uba70 DoubleZero\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c \uc561\uc138\uc2a4\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud569\ub2c8\ub2e4.

\uc774 \uac00\uc774\ub4dc\ub97c \ud1b5\ud574 1\uac1c\uc758 \uae30\ubcf8 \uac80\uc99d\uc790\uac00 \uc790\uc2e0\uc744 \ub4f1\ub85d\ud558\uace0 \ub3d9\uc2dc\uc5d0 \ucd5c\ub300 3\uac1c\uc758 \ubc31\uc5c5/\uc7a5\uc560 \uc870\uce58 \uae30\uacc4\ub97c \ub4f1\ub85d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#_1","title":"\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

Info

\uac80\uc99d\uc790 ID\ub294 Solana \uac00\uc2ed\uc5d0 \ub300\ud574 \ud655\uc778\ub418\uc5b4 \ub300\uc0c1 IP\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. \ub300\uc0c1 IP\uc640 DoubleZero ID\ub294 \uae30\uacc4\uc640 \ub300\uc0c1 DoubleZero \uc7a5\uce58 \uac04\uc5d0 GRE \ud130\ub110\uc744 \uc5f4 \ub54c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\uace0\ub824\uc0ac\ud56d: \ub3d9\uc77c\ud55c IP\uc5d0 \uc815\ud06c ID\uc640 \uae30\ubcf8 ID\uac00 \uc788\ub294 \uacbd\uc6b0 \uae30\ubcf8 ID\ub9cc \uae30\uacc4 \ub4f1\ub85d\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc815\ud06c ID\ub294 \uac00\uc2ed\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc73c\ubbc0\ub85c \ub300\uc0c1 \uae30\uacc4\uc758 IP\ub97c \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uae30\uacc4\uc5d0 DoubleZero\uc5d0 \ub300\ud55c \ud130\ub110\uc774 \ud558\ub098\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4: \u2705 doublezerod configured for environment mainnet-beta

\uc57d 30\ucd08 \ud6c4 DoubleZero \uc7a5\uce58\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

doublezero latency\n
\uc608\uc2dc \ucd9c\ub825 (\uba54\uc778\ub137-\ubca0\ud0c0)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\ud14c\uc2a4\ud2b8\ub137 \ucd9c\ub825\uc740 \uad6c\uc870\uac00 \ub3d9\uc77c\ud558\uc9c0\ub9cc \uc7a5\uce58 \uc218\uac00 \ub354 \uc801\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#2-44880","title":"2. \ud3ec\ud2b8 44880 \uc5f4\uae30","text":"

\uc0ac\uc6a9\uc790\ub294 \uc77c\ubd80 \ub77c\uc6b0\ud305 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\uae30 \uc704\ud574 \ud3ec\ud2b8 44880\uc744 \uc5f4\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\ud3ec\ud2b8 44880\uc744 \uc5f4\ub824\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 IP \ud14c\uc774\ube14\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 -i doublezero0, -o doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

\ub610\ub294 UFW\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 in on doublezero0, out on doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#3","title":"3. \uac80\uc99d\uc790 \uc18c\uc720\uad8c \uc99d\uba85","text":"

DoubleZero \ud658\uacbd\uc774 \uc124\uc815\ub418\uc5c8\uc73c\uba74 \uc774\uc81c \uac80\uc99d\uc790 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4.

\uae30\ubcf8 \uac80\uc99d\uc790\uc758 \uc124\uc815\uc5d0\uc11c \uc0dd\uc131\ud55c DoubleZero ID\ub294 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.

\uae30\ubcf8 \uae30\uacc4\uc758 ID\ub294 doublezero address\ub85c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub3d9\uc77c\ud55c ID\uac00 \ud074\ub7ec\uc2a4\ud130\uc758 \ubaa8\ub4e0 \uae30\uacc4\uc758 ~/.config/doublezero/id.json\uc5d0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uc774\ub97c \uc704\ud574 \uba3c\uc800 \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uac00 \uae30\ubcf8 \uac80\uc99d\uc790\uc778\uc9c0 \ub2e4\uc74c \uba85\ub839\uc73c\ub85c \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -u mainnet-beta\n

\uc774\ub294 \uac80\uc99d\uc790\uac00 \uac00\uc2ed\uc5d0 \ub4f1\ub85d\ub418\uc5b4 \uc788\uace0 \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \ub098\ud0c0\ub098\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\ub3d9\uc77c\ud55c \uc6cc\ud06c\ud50c\ub85c\uc6b0\uac00 \ud558\ub098 \ub610\ub294 \uc5ec\ub7ec \uae30\uacc4\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud558\ub098\uc758 \uae30\uacc4\ub97c \ub4f1\ub85d\ud558\ub824\uba74 \ubaa8\ub4e0 \uba85\ub839\uc5d0\uc11c \"--backup-validator-ids\" \ub610\ub294 \"backup_ids=\" \uc778\uc218\ub97c \uc81c\uc678\ud558\uc138\uc694.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790\ub97c \uc2e4\ud589\ud560 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -u mainnet-beta\n

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\uc774 \ucd9c\ub825\uc740 \uc608\uc0c1\ub41c \uac83\uc785\ub2c8\ub2e4. \ubc31\uc5c5 \ub178\ub4dc\ub294 \ud328\uc2a4 \uc0dd\uc131 \uc2dc \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790 \ud22c\ud45c \uacc4\uc815\uacfc \uc2e0\uc6d0\uc744 \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc778 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#_2","title":"\uc5f0\uacb0 \uc900\ube44","text":"

\uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc774\ub294 \ud65c\uc131 \uc9c0\ubd84\uc774 \uc788\uace0, \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc73c\uba70, \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uc758 Solana \uac00\uc2ed\uc5d0 \uae30\ubcf8 \uac80\uc99d\uc790 ID\uac00 \uc788\ub294 \uae30\uacc4\uc785\ub2c8\ub2e4:

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

\uc608\uc2dc \ucd9c\ub825:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\uc774 \uba85\ub839\uc758 \ub05d\uc5d0 \uc788\ub294 \ucd9c\ub825\uc5d0 \uc8fc\ubaa9\ud558\uc138\uc694. \uc774\uac83\uc774 \ub2e4\uc74c \ub2e8\uacc4\uc758 \uad6c\uc870\uc785\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#4","title":"4. \uc11c\uba85 \uc0dd\uc131","text":"

\ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\uc5d0\uc11c solana sign-offchain-message\uc5d0 \ub300\ud55c \ubbf8\ub9ac \ud615\uc2dd\ud654\ub41c \ucd9c\ub825\uc744 \ubc1b\uc558\uc2b5\ub2c8\ub2e4.

\uc704 \ucd9c\ub825\uc5d0\uc11c \uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

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

\ucd9c\ub825:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#5-doublezero","title":"5. DoubleZero\uc5d0\uc11c \uc5f0\uacb0 \uc694\uccad \uc2dc\uc791","text":"

request-validator-access \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc5f0\uacb0 \uc694\uccad\uc744 \uc704\ud55c Solana \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. DoubleZero Sentinel \uc5d0\uc774\uc804\ud2b8\uac00 \uc0c8 \uacc4\uc815\uc744 \uac10\uc9c0\ud558\uace0 \uc2e0\uc6d0\uacfc \uc11c\uba85\uc744 \uac80\uc99d\ud55c \ud6c4 \uc11c\ubc84\uac00 \uc5f0\uacb0\uc744 \uc124\uc815\ud560 \uc218 \uc788\ub3c4\ub85d DoubleZero\uc5d0 \uc561\uc138\uc2a4 \ud328\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.

\ub178\ub4dc ID, DoubleZeroID, \uc11c\uba85\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

Note

\uc774 \uc608\uc2dc\uc5d0\uc11c\ub294 \uac80\uc99d\uc790 \uc2e0\uc6d0\uc744 \ucc3e\uae30 \uc704\ud574 -k /home/user/.config/solana/id.json\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub85c\uceec \ubc30\ud3ec\uc5d0 \uc801\ud569\ud55c \uc704\uce58\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.

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

\ucd9c\ub825:

\uc774 \ucd9c\ub825\uc740 Solana \ud0d0\uc0c9\uae30\uc5d0\uc11c \ud2b8\ub79c\uc7ad\uc158\uc744 \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud0d0\uc0c9\uae30\ub97c \uba54\uc778\ub137\uc73c\ub85c \ubcc0\uacbd\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774 \ud655\uc778\uc740 \uc120\ud0dd \uc0ac\ud56d\uc785\ub2c8\ub2e4.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\uc131\uacf5\ud558\uba74 DoubleZero\uac00 \uae30\ubcf8\uc744 \ubc31\uc5c5\uacfc \ud568\uaed8 \ub4f1\ub85d\ud569\ub2c8\ub2e4. \uc774\uc81c \uc561\uc138\uc2a4 \ud328\uc2a4\uc5d0 \ub4f1\ub85d\ub41c IP \uac04\uc5d0 \uc7a5\uc560 \uc870\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. DoubleZero\ub294 \uc774 \ubc29\uc2dd\uc73c\ub85c \ub4f1\ub85d\ub41c \ubc31\uc5c5 \ub178\ub4dc\ub85c \uc804\ud658\ud560 \ub54c \uc790\ub3d9\uc73c\ub85c \uc5f0\uacb0\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#6-ibrl","title":"6. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Note

\uc774 \ucd9c\ub825\uc744 \ud655\uc778\ud558\uc138\uc694. Tunnel src\uc640 DoubleZero IP\uac00 \uae30\uacc4\uc758 \uacf5\uac1c IPv4 \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\ub294\uc9c0 \uc8fc\ubaa9\ud558\uc138\uc694.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#shred","title":"\ub2e4\uc74c \ub2e8\uacc4: \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589","text":"

\uc774 \uc124\uc815\uc744 \uc644\ub8cc\ud558\uace0 \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589\uc744 \uacc4\ud68d\ud558\uace0 \uc788\ub2e4\uba74 \ub2e4\uc74c \ud398\uc774\uc9c0\ub85c \uc9c4\ud589\ud558\uc138\uc694.

"},{"location":"ko/DZ%20Testnet%20Connection/","title":"IBRL \ubaa8\ub4dc \uac80\uc99d\uc790 \ud14c\uc2a4\ud2b8\ub137 \uc5f0\uacb0","text":"

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 \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 \uc5ec\uae30\uc5d0 \uba85\uc2dc\ub41c \ud3c9\uac00 \uacc4\uc57d \uc870\uac74\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4 (\ud074\ub9ad\ud558\uc5ec \ud655\uc7a5)

DoubleZero \ud14c\uc2a4\ud2b8\ub137 \ud3c9\uac00 \uacc4\uc57d

\ubcf8 \uc194\ub8e8\uc158(\uc544\ub798 \uc815\uc758)\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368 \uadc0\ud558\ub294 \uccab \ubc88\uc9f8 \uc561\uc138\uc2a4 \ub0a0\uc9dc(\"\ubc1c\ud6a8\uc77c\")\ub85c\ubd80\ud130 \ubcf8 \ud3c9\uac00 \uacc4\uc57d(\"\uacc4\uc57d\")\uc774 DoubleZero Foundation(\"DZF\")\uc774 \ud3c9\uac00 \uae30\uc900\uc73c\ub85c \uc194\ub8e8\uc158\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \uc870\uac74\uc744 \uaddc\uc815\ud568\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4. \uc0c1\ud638 \uc57d\uc18d\uc758 \ub300\uac00\ub85c \uadc0\ud558\ub294 \ub2e4\uc74c\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4:

1. \uc815\uc758.

1.1 \"\uae30\ubc00 \uc815\ubcf4\"\ub294 \uae30\ubc00\ub85c \uc9c0\uc815\ub418\uc5c8\uac70\ub098 \uc194\ub8e8\uc158, \uc81c\ud488 \uacc4\ud68d, \uc0ac\uc5c5 \uacc4\ud68d, \uc601\uc5c5 \ube44\ubc00, \uae30\uc220 \ub610\ub294 \uae30\ud0c0 \ub3c5\uc810 \uc815\ubcf4\ub97c \ud3ec\ud568\ud558\ub418 \uc774\uc5d0 \uad6d\ud55c\ub418\uc9c0 \uc54a\ub294 \uae30\ud0c0 \uae30\ubc00\ub85c \uc774\ud574\ub418\uc5b4\uc57c \ud558\ub294 \uc77c\ubc29 \ub2f9\uc0ac\uc790\uac00 \ud0c0\ubc29 \ub2f9\uc0ac\uc790\uc5d0\uac8c \uacf5\uac1c\ud55c \ubaa8\ub4e0 \uc815\ubcf4\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4.

1.2 \"\uc194\ub8e8\uc158\"\uc740 web3 \ud504\ub85c\uc81d\ud2b8\ub97c \uc704\ud55c DoubleZero \uace0\uc131\ub2a5 \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c\uc758 \ud14c\uc2a4\ud2b8\ub137 \ubc84\uc804(\"\ud14c\uc2a4\ud2b8\ub137\") \ubc0f \ud1b5\ud569 \ub300\uc5ed\ud3ed\uc774 \uc788\ub294 \uad00\ub828 \uc5e3\uc9c0 \ud544\ud130\ub9c1 \uc11c\ube44\uc2a4(\"\uc815\ubcf4 \uc11c\ube44\uc2a4\"), DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4(\uc544\ub798 \uc815\uc758), DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc640 \uad00\ub828\ud558\uc5ec DZF\uac00 \uc81c\uacf5\ud558\ub294 \ubaa8\ub4e0 \uc790\ub8cc(\"\ubb38\uc11c\"), \ubc0f DZF\uac00 \uc5ec\uae30\uc11c \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ud558\ub294 \uae30\ud0c0 \uc790\ub8cc\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4.

2. \uc561\uc138\uc2a4.

2.1 \uc194\ub8e8\uc158 \uc561\uc138\uc2a4. \ubcf8 \uacc4\uc57d\uc758 \uc870\uac74\uc5d0 \ub530\ub77c DZF\ub294 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc194\ub8e8\uc158 \uc561\uc138\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uc758 \uc561\uc138\uc2a4\ub294 \uc0ac\uc6a9\uc790\uac00 \uc815\ubcf4 \uc11c\ube44\uc2a4\ub97c \ud3c9\uac00\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uc194\ub8e8\uc158\uc758 \ube44\ub3c5\uc810\uc801, \ube44\uc591\ub3c4 \uac00\ub2a5\ud55c, \uc81c\ud55c\uc801 \uc0ac\uc6a9\uc785\ub2c8\ub2e4. \uc194\ub8e8\uc158\uc744 \uad6c\uc131\ud558\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4(\"DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\")\uc640 \uad00\ub828\ud558\uc5ec DZF\ub294 \ud3c9\uac00 \uae30\uac04 \ub3d9\uc548 \uc0ac\uc6a9\uc790\uc5d0\uac8c \ubb38\uc11c\uc5d0\uc11c \uc608\uc0c1\ud55c \ub300\ub85c\ub9cc \ud574\ub2f9 DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \ubcf5\uc0ac, \ub2e4\uc6b4\ub85c\ub4dc, \ud569\ub9ac\uc801\uc778 \uc218\uc758 \uc0ac\ubcf8 \uc791\uc131, \uc2e4\ud589 \ubc0f \ubc30\ud3ec(\ud574\ub2f9\ud558\ub294 \uacbd\uc6b0)\ud560 \uc218 \uc788\ub294 \uc81c\ud55c\uc801, \ucde8\uc18c \uac00\ub2a5\ud55c \ub77c\uc774\uc120\uc2a4\ub97c \ubd80\uc5ec\ud569\ub2c8\ub2e4.

2.2 \uc81c\ud55c. \uc0ac\uc6a9\uc790\ub294 \ubc1c\ud6a8\uc77c\ubd80\ud130 DZF\uac00 \uc885\ub8cc\ud560 \ub54c\uae4c\uc9c0(\"\ud3c9\uac00 \uae30\uac04\") \ubcf8 \uacc4\uc57d\uc5d0 \ub530\ub77c \uc194\ub8e8\uc158\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ud3c9\uac00 \uae30\uac04 \uc774\ud6c4\uc758 \uc194\ub8e8\uc158 \uc0ac\uc6a9 \uad8c\ub9ac\uac00 \uc218\uc218\ub8cc \uc9c0\ubd88\uc744 \ud3ec\ud568\ud558\uc5ec \ub2f9\uc0ac\uc790 \uac04\uc758 \ubcc4\ub3c4 \uc0c1\uc5c5 \uacc4\uc57d\uc5d0 \ub530\ub97c \uac83\uc784\uc744 \uc774\ud574\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ub2e4\uc74c\uc744 \ud558\uc9c0 \uc54a\uc544\uc57c \ud558\uba70 \uc81c3\uc790\uac00 \ud558\ub3c4\ub85d \ud5c8\uc6a9\ud574\uc11c\ub3c4 \uc548 \ub429\ub2c8\ub2e4: (i) \uc194\ub8e8\uc158 \ub610\ub294 \uadf8 \uc77c\ubd80\ub97c \uae30\ubc18\uc73c\ub85c \uc218\uc815\ud558\uac70\ub098 \ud30c\uc0dd \uc800\uc791\ubb3c\uc744 \uc0dd\uc131\ud558\ub294 \uac83; (ii) \ubcf8 \uacc4\uc57d\uc5d0\uc11c \uba85\uc2dc\uc801\uc73c\ub85c \ud5c8\uc6a9\ub41c \uacbd\uc6b0\ub97c \uc81c\uc678\ud558\uace0 \uc194\ub8e8\uc158\uc744 \ubcf5\uc81c\ud558\ub294 \uac83; (iii) \uc194\ub8e8\uc158\uc758 \uc804\ubd80 \ub610\ub294 \uc77c\ubd80\uc5d0 \ub300\ud55c \uad8c\ub9ac\ub97c \uc11c\ube44\uc2a4 \uae30\uad00 \uae30\uc900\uc73c\ub85c \ub610\ub294 \uae30\ud0c0 \ubc29\uc2dd\uc73c\ub85c \uc81c3\uc790\uc5d0\uac8c \uc81c\uacf5\ud558\ub294 \uac83 (\ub2e8, \ub3c5\ub9bd\uc801\uc73c\ub85c\uac00 \uc544\ub2cc \uc0ac\uc6a9\uc790\uc758 \ud50c\ub7ab\ud3fc \ub610\ub294 \uc81c\ud488\uc744 \ud1b5\ud574 \ub610\ub294 \uadf8\uc640 \uad00\ub828\ud558\uc5ec \uc815\ubcf4 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \uacbd\uc6b0\ub294 \uc81c\uc678); \ub610\ub294 (iv) \uc5ec\uae30\uc5d0 \uc81c\uacf5\ub41c \uac83 \uc774\uc678\uc758 \ubc29\uc2dd\uc73c\ub85c \uc194\ub8e8\uc158\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83.

2.3 \uc18c\uc720\uad8c. DZF\ub294 \uc194\ub8e8\uc158\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \uad8c\ub9ac, \uc18c\uc720\uad8c \ubc0f \uc774\uc775(\uc9c0\uc801 \uc7ac\uc0b0\uad8c \ud3ec\ud568)\uc744 \ubcf4\uc720\ud569\ub2c8\ub2e4.

3 \ud53c\ub4dc\ubc31. DZF\ub294 \uc8fc\uae30\uc801\uc73c\ub85c \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc194\ub8e8\uc158\uc758 \uc0ac\uc6a9, \uc6b4\uc601 \ubc0f \uae30\ub2a5\uc5d0 \uad00\ud55c \ud53c\ub4dc\ubc31(\"\ud53c\ub4dc\ubc31\")\uc744 \uc81c\uacf5\ud558\ub3c4\ub85d \uc694\uccad\ud560 \uc218 \uc788\uc73c\uba70 \uc0ac\uc6a9\uc790\ub294 DZF\uc5d0 \uc774\ub97c \uc81c\uacf5\ud558\uae30\ub85c \ub3d9\uc758\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 DZF\uc5d0 \ud53c\ub4dc\ubc31\uc744 \uc81c\ud488 \ubc0f \uc11c\ube44\uc2a4\uc5d0 \uc0ac\uc6a9\ud558\uace0 \ud1b5\ud569\ud560 \uc218 \uc788\ub294 \ube44\ub3c5\uc810\uc801, \uc804 \uc138\uacc4\uc801, \uc601\uad6c\uc801, \ucde8\uc18c \ubd88\uac00\ub2a5\ud55c, \ub85c\uc5f4\ud2f0 \uc5c6\ub294, \uc644\uc804\ud788 \uc9c0\ubd88\ub41c, \uc644\uc804\ud788 \uc11c\ube0c\ub77c\uc774\uc120\uc2a4 \uac00\ub2a5\ud558\uace0 \uc591\ub3c4 \uac00\ub2a5\ud55c \uad8c\ub9ac\uc640 \ub77c\uc774\uc120\uc2a4\ub97c \ubd80\uc5ec\ud569\ub2c8\ub2e4.

4. \uae30\uac04 \ubc0f \ud574\uc9c0.

4.1 \uae30\uac04. \ubcf8 \uacc4\uc57d\uc740 \ubc1c\ud6a8\uc77c\ubd80\ud130 \uc2dc\uc791\ud558\uc5ec \ud3c9\uac00 \uae30\uac04 \ub3d9\uc548 \uc644\uc804\ud55c \ud6a8\ub825\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4. \uc5b4\ub290 \ub2f9\uc0ac\uc790\ub4e0 \uc11c\uba74 \ud1b5\uc9c0(\uc774\uba54\uc77c\ub85c \ucda9\ubd84)\ub97c \ud1b5\ud574 \uc0c1\ub300\ubc29\uc5d0\uac8c \uc5b4\ub5a4 \uc774\uc720\ub85c\ub4e0 \uc989\uc2dc \ubcf8 \uacc4\uc57d\uc744 \ud574\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

4.1 \ud574\uc9c0\uc758 \ud6a8\uacfc. \uc5b4\ub5a4 \uc774\uc720\ub85c\ub4e0 \ubcf8 \uacc4\uc57d\uc774 \ud574\uc9c0\ub418\uba74: (i) \uc0ac\uc6a9\uc790\uc5d0\uac8c \ubd80\uc5ec\ub41c \uad8c\ub9ac\uac00 \uc989\uc2dc \uc885\ub8cc\ub429\ub2c8\ub2e4; (ii) \uc0ac\uc6a9\uc790\ub294 \uc194\ub8e8\uc158 \uc0ac\uc6a9\uc744 \uc989\uc2dc \uc911\ub2e8\ud558\uace0 \uadf8 \ud1b5\uc81c \ud558\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \ubb38\uc11c \ubc0f DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \ubc18\ud658\ud558\uac70\ub098 \ud3d0\uae30\ud574\uc57c \ud569\ub2c8\ub2e4; (iii) \uac01 \ub2f9\uc0ac\uc790\ub294 \uc0c1\ub300\ubc29\uc758 \ubaa8\ub4e0 \uae30\ubc00 \uc815\ubcf4\uc640 \uc7ac\uc0b0\uc744 \uc989\uc2dc \ubc18\ud658\ud558\uac70\ub098 \ud3d0\uae30\ud574\uc57c \ud569\ub2c8\ub2e4; (iv) \uc139\uc158 2.2, 2.3, 3, 4.2, 5~8\uc740 \uc874\uc18d\ud569\ub2c8\ub2e4.

5. \uae30\ubc00 \uc720\uc9c0. \uac01 \ub2f9\uc0ac\uc790\ub294 \ubcf8 \uacc4\uc57d \ud558\uc5d0\uc11c \uc758\ubb34\ub97c \uc774\ud589\ud558\uace0 \uad8c\ub9ac\ub97c \ud589\uc0ac\ud558\uae30 \uc704\ud574\uc11c\ub9cc \uc0c1\ub300\ubc29\uc758 \uae30\ubc00 \uc815\ubcf4\ub97c \uc0ac\uc6a9\ud558\uace0 \ubcf8 \uacc4\uc57d\uc5d0\uc11c \ub2ec\ub9ac \ud5c8\uc6a9\ub41c \uacbd\uc6b0\ub97c \uc81c\uc678\ud558\uace0\ub294 \uc774\ub97c \uacf5\uac1c\ud558\uac70\ub098 \uacf5\uac1c\ub418\ub3c4\ub85d \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uae30\ub85c \ub3d9\uc758\ud569\ub2c8\ub2e4. \ub2e4\ub9cc, \uc5b4\ub290 \ub2f9\uc0ac\uc790\ub4e0 \uc54c\uc544\uc57c \ud560 \ud544\uc694\uac00 \uc788\uace0 \ubcf8 \uacc4\uc57d\uc5d0 \uaddc\uc815\ub41c \uac83\ubcf4\ub2e4 \ub35c \ubcf4\ud638\uc801\uc774\uc9c0 \uc54a\uc740 \uae30\ubc00 \uc720\uc9c0 \uc758\ubb34\uc5d0 \uad6c\uc18d\ub418\ub294 \uc9c1\uc6d0, \ubcc0\ud638\uc0ac \ubc0f \uae30\ud0c0 \ub300\ub9ac\uc778\uc5d0\uac8c \uae30\ubc00 \uc815\ubcf4\ub97c \uacf5\uac1c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4; \ubc95\uc5d0\uc11c \uc694\uad6c\ud558\ub294 \uacbd\uc6b0(\uc218\uc2e0 \ub2f9\uc0ac\uc790\ub294 \uacf5\uac1c \ub2f9\uc0ac\uc790\uc5d0\uac8c \uc0ac\uc804 \ud1b5\uc9c0\ub97c \uc81c\uacf5\ud558\uace0 \uadf8\ub7ec\ud55c \uacf5\uac1c\uc5d0 \uc774\uc758\ub97c \uc81c\uae30\ud560 \uae30\ud68c\ub97c \uc81c\uacf5\ud558\uba70 \uc801\uc6a9 \uac00\ub2a5\ud55c \ubc95\uc774 \ud5c8\uc6a9\ud558\ub294 \ud55c \uacf5\uac1c\ub97c \ucd5c\uc18c\ud654\ud569\ub2c8\ub2e4). \ubcf8 \uc139\uc158 5\uc758 \uae30\ubc00 \uc720\uc9c0 \uc758\ubb34\ub294 \ub2e4\uc74c\uc5d0\ub294 \uc801\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: (a) \uc218\uc2e0 \ub2f9\uc0ac\uc790\uc758 \uacfc\uc2e4 \uc5c6\uc774 \uc77c\ubc18\uc801\uc73c\ub85c \uc54c\ub824\uc9c0\uac70\ub098 \uacf5\uac1c\uc801\uc73c\ub85c \uc774\uc6a9 \uac00\ub2a5\ud55c \uc815\ubcf4; (b) \uacf5\uac1c \ub2f9\uc0ac\uc790\uc758 \uacf5\uac1c \uc804\uc5d0 \uc218\uc2e0 \ub2f9\uc0ac\uc790\uc5d0\uac8c \uc81c\ud55c \uc5c6\uc774 \uc801\uc808\ud788 \uc54c\ub824\uc9c4 \uc815\ubcf4; (c) \ubc95\uc801 \uad8c\ud55c\uc744 \uac00\uc9c4 \ub2e4\ub978 \uc0ac\ub78c\uc5d0 \uc758\ud574 \uc81c\ud55c \uc5c6\uc774 \uc218\uc2e0 \ub2f9\uc0ac\uc790\uc5d0\uac8c \uc801\uc808\ud788 \uacf5\uac1c\ub41c \uc815\ubcf4; (d) \uacf5\uac1c \ub2f9\uc0ac\uc790\uc758 \uae30\ubc00 \uc815\ubcf4\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 \ucc38\uc870\ud558\uc9c0 \uc54a\uace0 \uc218\uc2e0 \ub2f9\uc0ac\uc790\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \uac1c\ubc1c\ud55c \uc815\ubcf4. \uac01 \ub2f9\uc0ac\uc790\ub294 \uc0c1\ub300\ubc29\uc758 \uae30\ubc00 \uc815\ubcf4\ub97c \ubb34\ub2e8 \uc0ac\uc6a9 \ubc0f \uacf5\uac1c\ub85c\ubd80\ud130 \ubcf4\ud638\ud558\ub294 \ub370 \uc0c1\ub2f9\ud55c \uc8fc\uc758\ub97c \uae30\uc6b8\uc774\uae30\ub85c \ub3d9\uc758\ud569\ub2c8\ub2e4.

6. \ubcf4\uc99d \uba74\ucc45; \ucc45\uc784 \uc81c\ud55c.

6.1 \ubcf4\uc99d \uba74\ucc45. \uc194\ub8e8\uc158\uc740 \uc5b4\ub5a0\ud55c \uc885\ub958\uc758 \ubcf4\uc99d\ub3c4 \uc5c6\uc774 \"\uc788\ub294 \uadf8\ub300\ub85c\" \uc81c\uacf5\ub429\ub2c8\ub2e4. DZF\ub294 \uc194\ub8e8\uc158 \ubc0f \ubb38\uc11c\uc5d0 \ub300\ud574 \uba85\uc2dc\uc801, \ubb35\uc2dc\uc801, \ubc95\uc801 \ub610\ub294 \uae30\ud0c0 \ubcf4\uc99d\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc73c\uba70 \uc0c1\ud488\uc131, \ud2b9\uc815 \ubaa9\uc801 \uc801\ud569\uc131, \uc18c\uc720\uad8c \ubc0f \ube44\uce68\ud574\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ubb35\uc2dc\uc801 \ubcf4\uc99d\uc744 \ud2b9\ubcc4\ud788 \ubd80\uc778\ud569\ub2c8\ub2e4.

6.2 \ucc45\uc784 \uc81c\ud55c. \uc139\uc158 2.1, 2.2, 5 \uc704\ubc18\uc758 \uacbd\uc6b0\ub97c \uc81c\uc678\ud558\uace0, \uc5b4\ub5a0\ud55c \uacbd\uc6b0\uc5d0\ub3c4 \uc5b4\ub290 \ub2f9\uc0ac\uc790\ub3c4 \uc774\uc775 \uc190\uc2e4 \ub610\ub294 \uc0ac\uc6a9 \uc190\uc2e4 \ub610\ub294 \ub370\uc774\ud130 \uc190\uc2e4\uc5d0 \ub300\ud55c \uc190\ud574\ubc30\uc0c1\uc744 \ud3ec\ud568\ud558\ub418 \uc774\uc5d0 \uad6d\ud55c\ub418\uc9c0 \uc54a\ub294 \uac04\uc811\uc801, \ubd80\uc218\uc801, \ud2b9\ubcc4 \ub610\ub294 \uae30\ud0c0 \uacb0\uacfc\uc801 \uc190\ud574\uc5d0 \ub300\ud574 \uacc4\uc57d \ud589\uc704, \ubd88\ubc95 \ud589\uc704 \ub610\ub294 \uae30\ud0c0\uc758 \uacbd\uc6b0\uc5d0 \uc0c1\ub300\ubc29\uc5d0 \ub300\ud574 \ucc45\uc784\uc744 \uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc5b4\ub5a0\ud55c \uacbd\uc6b0\uc5d0\ub3c4 DZF\uc758 \ucd1d \ucc45\uc784\uc740 \uacc4\uc57d \ud589\uc704, \ubd88\ubc95 \ud589\uc704 \ub610\ub294 \uae30\ud0c0\uc758 \uacbd\uc6b0\uc5d0 $100\ub97c \ucd08\uacfc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

7. \uc900\uac70\ubc95. \ubcf8 \uacc4\uc57d \ubc0f \ubcf8 \uacc4\uc57d\uacfc \uad00\ub828\ud558\uc5ec \ubc1c\uc0dd\ud558\ub294 \ubaa8\ub4e0 \uc0ac\ud56d\uc740 \ucf00\uc774\ub9e8 \uc81c\ub3c4\uc758 \ubc95\ub960\uc5d0 \ub530\ub77c \uad00\ub9ac, \ud574\uc11d \ubc0f \uad6c\uc131\ub429\ub2c8\ub2e4. \ubcf8 \uacc4\uc57d\uacfc \uad00\ub828\ud558\uc5ec \ubd84\uc7c1\uc774 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0, \ud574\ub2f9 \ub2f9\uc0ac\uc790\ub294 \uc0c1\ub300\ubc29 \ub2f9\uc0ac\uc790\uc5d0\uac8c 30\uc77c\uc758 \ubd84\uc7c1 \ud1b5\uc9c0\ub97c \ud574\uc57c \ud569\ub2c8\ub2e4. \ubd84\uc7c1\uc774 \ud574\uacb0\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \ucf00\uc774\ub9e8 \uc81c\ub3c4 \uc870\uc815 \ubc0f \uc911\uc7ac \uc13c\ud130(CI-MAC)\uc5d0 \uc758\ud574 \uad00\ub9ac\ub418\ub294 \uc911\uc7ac\ub85c \ubd84\uc7c1\uc744 \ud574\uacb0\ud569\ub2c8\ub2e4. \uc911\uc7ac\ub294 \ucf00\uc774\ub9e8 \uc81c\ub3c4 \uc870\uc9c0 \ud0c0\uc6b4\uc5d0\uc11c \uc9c4\ud589\ub418\uba70 \ucf00\uc774\ub9e8 \uc81c\ub3c4 \ubc95\ub960\uc774 \uc801\uc6a9\ub429\ub2c8\ub2e4. \uc911\uc7ac \uc5b8\uc5b4\ub294 \uc601\uc5b4\uc785\ub2c8\ub2e4.

8. \uc77c\ubc18 \uc870\ud56d. \ubcf8 \uacc4\uc57d\uc740 DZF\uc758 \uc0ac\uc804 \uc11c\uba74 \ub3d9\uc758 \uc5c6\uc774 \uc0ac\uc6a9\uc790\uac00 \uc591\ub3c4\ud558\uac70\ub098 \uc774\uc804\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. DZF\ub294 \ubcf8 \uacc4\uc57d\uc744 \uc790\uc720\ub86d\uac8c \uc591\ub3c4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubcf8 \uacc4\uc57d\uc5d0 \ub530\ub77c \ubcf4\ub0b4\uc57c \ud558\ub294 \ubaa8\ub4e0 \ud1b5\uc9c0\ub294 \uc774\uba54\uc77c\ub85c \uc804\uc1a1\ub418\uc5b4\uc57c \ud558\uba70(DZF: legal@doublezero.xyz) \uc804\uc1a1 \ub2e4\uc74c \ub0a0\uc5d0 \uc218\uc2e0\ub41c \uac83\uc73c\ub85c \uac04\uc8fc\ub429\ub2c8\ub2e4. \ubcf8 \uacc4\uc57d\uc758 \uc5b4\ub290 \uc870\ud56d\uc774 \ubb34\ud6a8 \ub610\ub294 \uc9d1\ud589 \ubd88\uac00\ub2a5\ud55c \uac83\uc73c\ub85c \ud310\uba85\ub418\ub294 \uacbd\uc6b0 \ubcf8 \uacc4\uc57d\uc758 \ub098\uba38\uc9c0 \uc870\ud56d\uc740 \uc644\uc804\ud55c \ud6a8\ub825\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#ibrl_1","title":"IBRL \ubaa8\ub4dc\ub85c \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0","text":"

Note

IBRL \ubaa8\ub4dc\ub294 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

Solana \ud14c\uc2a4\ud2b8\ub137 \uac80\uc99d\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc790\uc138\ud788 \uc124\uba85\ub41c DoubleZero \ud14c\uc2a4\ud2b8\ub137 \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

\uac01 Solana \uac80\uc99d\uc790\uc5d0\ub294 \uace0\uc720\ud55c \uc2e0\uc6d0 \ud0a4\uc30d\uc774 \uc788\uc73c\uba70, \uc774\ub85c\ubd80\ud130 \ub178\ub4dc ID\ub85c \uc54c\ub824\uc9c4 \uacf5\uac1c \ud0a4\ub97c \ucd94\ucd9c\ud569\ub2c8\ub2e4. \uc774\uac83\uc774 Solana \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \uace0\uc720 \uc9c0\ubb38\uc785\ub2c8\ub2e4.

DoubleZeroID\uc640 \ub178\ub4dc ID\uac00 \ud655\uc778\ub418\uba74 \uae30\uacc4\uc758 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \uac80\uc99d\uc790\uc758 \uc2e0\uc6d0 \ud0a4\ub85c \uc11c\uba85\ub41c DoubleZeroID\ub97c \ud3ec\ud568\ud558\ub294 \uba54\uc2dc\uc9c0\ub97c \uc0dd\uc131\ud558\uc5ec \uc218\ud589\ub429\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc778 \uc554\ud638\ud654 \uc11c\uba85\uc740 \uac80\uc99d\uc790\ub97c \uc81c\uc5b4\ud55c\ub2e4\ub294 \uac80\uc99d \uac00\ub2a5\ud55c \uc99d\uac70\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\ub9c8\uc9c0\ub9c9\uc73c\ub85c DoubleZero\uc5d0 \uc5f0\uacb0 \uc694\uccad\uc744 \uc81c\ucd9c\ud569\ub2c8\ub2e4. \uc774 \uc694\uccad\uc740 \ub2e4\uc74c\uc744 \uc804\ub2ec\ud569\ub2c8\ub2e4: \"\uc81c \uc2e0\uc6d0\uc774 \uc5ec\uae30 \uc788\uace0, \uc18c\uc720\uad8c \uc99d\uac70\uac00 \uc5ec\uae30 \uc788\uc73c\uba70, \uc5f0\uacb0 \ubc29\ubc95\uc774 \uc5ec\uae30 \uc788\uc2b5\ub2c8\ub2e4.\" DoubleZero\ub294 \uc774 \uc815\ubcf4\ub97c \uac80\uc99d\ud558\uace0 \uc99d\uac70\ub97c \uc218\ub77d\ud558\uba70 DoubleZero\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c \uc561\uc138\uc2a4\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud569\ub2c8\ub2e4.

\uc774 \uac00\uc774\ub4dc\ub97c \ud1b5\ud574 1\uac1c\uc758 \uae30\ubcf8 \uac80\uc99d\uc790\uac00 \uc790\uc2e0\uc744 \ub4f1\ub85d\ud558\uace0 \ub3d9\uc2dc\uc5d0 \ucd5c\ub300 3\uac1c\uc758 \ubc31\uc5c5/\uc7a5\uc560 \uc870\uce58 \uae30\uacc4\ub97c \ub4f1\ub85d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#_1","title":"\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

Info

\uac80\uc99d\uc790 ID\ub294 Solana \uac00\uc2ed\uc5d0 \ub300\ud574 \ud655\uc778\ub418\uc5b4 \ub300\uc0c1 IP\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. \ub300\uc0c1 IP\uc640 DoubleZero ID\ub294 \uae30\uacc4\uc640 \ub300\uc0c1 DoubleZero \uc7a5\uce58 \uac04\uc5d0 GRE \ud130\ub110\uc744 \uc5f4 \ub54c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\uace0\ub824\uc0ac\ud56d: \ub3d9\uc77c\ud55c IP\uc5d0 \uc815\ud06c ID\uc640 \uae30\ubcf8 ID\uac00 \uc788\ub294 \uacbd\uc6b0 \uae30\ubcf8 ID\ub9cc \uae30\uacc4 \ub4f1\ub85d\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc815\ud06c ID\ub294 \uac00\uc2ed\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc73c\ubbc0\ub85c \ub300\uc0c1 \uae30\uacc4\uc758 IP\ub97c \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uae30\uacc4\uc5d0 DoubleZero\uc5d0 \ub300\ud55c \ud130\ub110\uc774 \ud558\ub098\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:
\u2705 doublezerod configured for environment testnet\n

\uc57d 30\ucd08 \ud6c4 DoubleZero \uc7a5\uce58\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uba54\uc778\ub137 \ucd9c\ub825\uc740 \uad6c\uc870\uac00 \ub3d9\uc77c\ud558\uc9c0\ub9cc \ub354 \ub9ce\uc740 \uc7a5\uce58\uac00 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#2-44880","title":"2. \ud3ec\ud2b8 44880 \uc5f4\uae30","text":"

\uc0ac\uc6a9\uc790\ub294 \uc77c\ubd80 \ub77c\uc6b0\ud305 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\uae30 \uc704\ud574 \ud3ec\ud2b8 44880\uc744 \uc5f4\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\ud3ec\ud2b8 44880\uc744 \uc5f4\ub824\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 IP \ud14c\uc774\ube14\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 -i doublezero0, -o doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

\ub610\ub294 UFW\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 in on doublezero0, out on doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

"},{"location":"ko/DZ%20Testnet%20Connection/#3","title":"3. \uac80\uc99d\uc790 \uc18c\uc720\uad8c \uc99d\uba85","text":"

DoubleZero \ud658\uacbd\uc774 \uc124\uc815\ub418\uc5c8\uc73c\uba74 \uc774\uc81c \uac80\uc99d\uc790 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4.

\uae30\ubcf8 \uac80\uc99d\uc790\uc758 \uc124\uc815\uc5d0\uc11c \uc0dd\uc131\ud55c DoubleZero ID\ub294 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.

\uae30\ubcf8 \uae30\uacc4\uc758 ID\ub294 doublezero address\ub85c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub3d9\uc77c\ud55c ID\uac00 \ud074\ub7ec\uc2a4\ud130\uc758 \ubaa8\ub4e0 \uae30\uacc4\uc758 ~/.config/doublezero/id.json\uc5d0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uc774\ub97c \uc704\ud574 \uba3c\uc800 \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uac00 \uae30\ubcf8 \uac80\uc99d\uc790\uc778\uc9c0 \ub2e4\uc74c \uba85\ub839\uc73c\ub85c \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -ut\n

\uc774\ub294 \uac80\uc99d\uc790\uac00 \uac00\uc2ed\uc5d0 \ub4f1\ub85d\ub418\uc5b4 \uc788\uace0 \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \ub098\ud0c0\ub098\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\ub3d9\uc77c\ud55c \uc6cc\ud06c\ud50c\ub85c\uc6b0\uac00 \ud558\ub098 \ub610\ub294 \uc5ec\ub7ec \uae30\uacc4\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud558\ub098\uc758 \uae30\uacc4\ub97c \ub4f1\ub85d\ud558\ub824\uba74 \ubaa8\ub4e0 \uba85\ub839\uc5d0\uc11c \"--backup-validator-ids\" \ub610\ub294 \"backup_ids=\" \uc778\uc218\ub97c \uc81c\uc678\ud558\uc138\uc694.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790\ub97c \uc2e4\ud589\ud560 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -ut\n

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\uc774 \ucd9c\ub825\uc740 \uc608\uc0c1\ub41c \uac83\uc785\ub2c8\ub2e4. \ubc31\uc5c5 \ub178\ub4dc\ub294 \ud328\uc2a4 \uc0dd\uc131 \uc2dc \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790 \ud22c\ud45c \uacc4\uc815\uacfc \uc2e0\uc6d0\uc744 \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc778 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#_2","title":"\uc5f0\uacb0 \uc900\ube44","text":"

\uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc774\ub294 \ud65c\uc131 \uc9c0\ubd84\uc774 \uc788\uace0, \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc73c\uba70, \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uc758 Solana \uac00\uc2ed\uc5d0 \uae30\ubcf8 \uac80\uc99d\uc790 ID\uac00 \uc788\ub294 \uae30\uacc4\uc785\ub2c8\ub2e4:

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

\uc608\uc2dc \ucd9c\ub825:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\uc774 \uba85\ub839\uc758 \ub05d\uc5d0 \uc788\ub294 \ucd9c\ub825\uc5d0 \uc8fc\ubaa9\ud558\uc138\uc694. \uc774\uac83\uc774 \ub2e4\uc74c \ub2e8\uacc4\uc758 \uad6c\uc870\uc785\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#4","title":"4. \uc11c\uba85 \uc0dd\uc131","text":"

\ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\uc5d0\uc11c solana sign-offchain-message\uc5d0 \ub300\ud55c \ubbf8\ub9ac \ud615\uc2dd\ud654\ub41c \ucd9c\ub825\uc744 \ubc1b\uc558\uc2b5\ub2c8\ub2e4.

\uc704 \ucd9c\ub825\uc5d0\uc11c \uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

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

\ucd9c\ub825:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ko/DZ%20Testnet%20Connection/#5-doublezero","title":"5. DoubleZero\uc5d0\uc11c \uc5f0\uacb0 \uc694\uccad \uc2dc\uc791","text":"

request-validator-access \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc5f0\uacb0 \uc694\uccad\uc744 \uc704\ud55c Solana \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. DoubleZero Sentinel \uc5d0\uc774\uc804\ud2b8\uac00 \uc0c8 \uacc4\uc815\uc744 \uac10\uc9c0\ud558\uace0 \uc2e0\uc6d0\uacfc \uc11c\uba85\uc744 \uac80\uc99d\ud55c \ud6c4 \uc11c\ubc84\uac00 \uc5f0\uacb0\uc744 \uc124\uc815\ud560 \uc218 \uc788\ub3c4\ub85d DoubleZero\uc5d0 \uc561\uc138\uc2a4 \ud328\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.

\ub178\ub4dc ID, DoubleZeroID, \uc11c\uba85\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

Note

\uc774 \uc608\uc2dc\uc5d0\uc11c\ub294 \uac80\uc99d\uc790 \uc2e0\uc6d0\uc744 \ucc3e\uae30 \uc704\ud574 -k /home/user/.config/solana/id.json\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub85c\uceec \ubc30\ud3ec\uc5d0 \uc801\ud569\ud55c \uc704\uce58\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.

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

\ucd9c\ub825:

\uc774 \ucd9c\ub825\uc740 Solana \ud0d0\uc0c9\uae30\uc5d0\uc11c \ud2b8\ub79c\uc7ad\uc158\uc744 \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud0d0\uc0c9\uae30\ub97c \ud14c\uc2a4\ud2b8\ub137\uc73c\ub85c \ubcc0\uacbd\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774 \ud655\uc778\uc740 \uc120\ud0dd \uc0ac\ud56d\uc785\ub2c8\ub2e4.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\uc131\uacf5\ud558\uba74 DoubleZero\uac00 \uae30\ubcf8\uc744 \ubc31\uc5c5\uacfc \ud568\uaed8 \ub4f1\ub85d\ud569\ub2c8\ub2e4. \uc774\uc81c \uc561\uc138\uc2a4 \ud328\uc2a4\uc5d0 \ub4f1\ub85d\ub41c IP \uac04\uc5d0 \uc7a5\uc560 \uc870\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. DoubleZero\ub294 \uc774 \ubc29\uc2dd\uc73c\ub85c \ub4f1\ub85d\ub41c \ubc31\uc5c5 \ub178\ub4dc\ub85c \uc804\ud658\ud560 \ub54c \uc790\ub3d9\uc73c\ub85c \uc5f0\uacb0\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#6-ibrl","title":"6. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Note

\uc774 \ucd9c\ub825\uc744 \ud655\uc778\ud558\uc138\uc694. Tunnel src\uc640 DoubleZero IP\uac00 \uae30\uacc4\uc758 \uacf5\uac1c IPv4 \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\ub294\uc9c0 \uc8fc\ubaa9\ud558\uc138\uc694.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/DZ%20Testnet%20Connection/#shred","title":"\ub2e4\uc74c \ub2e8\uacc4: \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589","text":"

\uc774 \uc124\uc815\uc744 \uc644\ub8cc\ud558\uace0 \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589\uc744 \uacc4\ud68d\ud558\uace0 \uc788\ub2e4\uba74 \ub2e4\uc74c \ud398\uc774\uc9c0\ub85c \uc9c4\ud589\ud558\uc138\uc694.

"},{"location":"ko/New%20Tenant/","title":"\uc0c8 \ud14c\ub10c\ud2b8","text":"

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.

\ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc5d0\uc11c DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub97c \ud65c\uc6a9\ud558\uace0 \uc2f6\uc73c\uc2dc\ub2e4\uba74 \uae30\uc220\uc801\uc778 \uc9c8\ubb38\uc774 \uc788\uc73c\uc2e4 \ub54c \uae30\uaebc\uc774 \ub3c4\uc640\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.

\ubb38\uc758 \uc591\uc2dd

"},{"location":"ko/Other%20Multicast%20Connection/","title":"\uae30\ud0c0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

\uc0ac\uc6a9 \uc0ac\ub840 \uccab \ubc88\uc9f8 \ub2e8\uacc4 \uc2b9\uc778 \ud6c4 \uc5f0\uacb0 \ubc29\ubc95: Jito Shredstream \uad6c\ub3c5 \uc2b9\uc778\uc744 \uc704\ud574 Jito\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694. doublezero connect multicast --subscribe jito-shredstream

\uc790\uc138\ud55c \uc5f0\uacb0 \uc815\ubcf4:

"},{"location":"ko/Other%20Multicast%20Connection/#1-doublezero","title":"1. DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 \uc124\uce58","text":"

\uc124\uc815 \uc9c0\uce68\uc5d0 \ub530\ub77c DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc124\uce58\ud558\uace0 \uad6c\uc131\ud558\uc138\uc694.

"},{"location":"ko/Other%20Multicast%20Connection/#2","title":"2. \uc5f0\uacb0 \uc9c0\uce68","text":"

\uba40\ud2f0\uce90\uc2a4\ud2b8 \ubaa8\ub4dc\ub85c DoubleZero\uc5d0 \uc5f0\uacb0

\ubc1c\ud589\uc790\ub85c:

doublezero connect multicast --publish <\ud53c\ub4dc \uc774\ub984>

\ub610\ub294 \uad6c\ub3c5\uc790\ub85c:

doublezero connect multicast --subscribe <\ud53c\ub4dc \uc774\ub984>

\ub610\ub294 \ubc1c\ud589 \ubc0f \uad6c\ub3c5 \ubaa8\ub450:

doublezero connect multicast --publish <\ud53c\ub4dc \uc774\ub984> --subscribe <\ud53c\ub4dc \uc774\ub984>

\uc5ec\ub7ec \ud53c\ub4dc\ub97c \uad6c\ub3c5\ud558\uac70\ub098 \ubc1c\ud589\ud558\ub824\uba74 \ud53c\ub4dc \uc774\ub984\uc744 \uacf5\ubc31\uc73c\ub85c \uad6c\ubd84\ud558\uc5ec \uc5ec\ub7ec \uac1c \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubc1c\ud589 \ud53c\ub4dc\ub97c \ubc1c\ud589\ud558\uace0 \uad6c\ub3c5\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\uc2dc: doublezero connect multicast --subscribe feed1 feed2 feed3

\ub2e4\uc74c\uacfc \uc720\uc0ac\ud55c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"ko/Other%20Multicast%20Connection/#3","title":"3. \ud65c\uc131 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0 \ud655\uc778","text":"

60\ucd08 \uae30\ub2e4\ub9b0 \ud6c4 \uc2e4\ud589\ud558\uc138\uc694:

doublezero status\n
\uc608\uc0c1 \uacb0\uacfc: - \uc62c\ubc14\ub978 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c BGP \uc138\uc158 \ud65c\uc131\ud654 - \ubc1c\ud589\uc790\uc778 \uacbd\uc6b0 DoubleZero IP\uac00 \ud130\ub110 \uc18c\uc2a4 IP\uc640 \ub2e4\ub985\ub2c8\ub2e4. \uc774\ub294 \uc608\uc0c1\ub41c \uacb0\uacfc\uc785\ub2c8\ub2e4. - \uad6c\ub3c5\uc790\ub9cc\uc778 \uacbd\uc6b0 DoubleZero IP\uac00 \ud130\ub110 \uc18c\uc2a4 IP\uc640 \ub3d9\uc77c\ud569\ub2c8\ub2e4.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

\uc5f0\uacb0\ub41c \uadf8\ub8f9 \ud655\uc778:

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"ko/Permissioned%20Connection/","title":"\ube44\uac80\uc99d\uc790\ub97c \uc704\ud55c IBRL \ubaa8\ub4dc \ud5c8\uac00\ub41c DoubleZero \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/Permissioned%20Connection/#_1","title":"\ud5c8\uac00\ub41c \uc0ac\uc6a9\uc790 \uc628\ubcf4\ub529 \uac1c\uc694","text":"

\ud604\uc7ac \ube44\uac80\uc99d\uc790 \ubc0f RPC\uc5d0 \ub300\ud55c \uc0ac\uc6a9\uc790 \uc628\ubcf4\ub529\uc740 \ud5c8\uac00\uc81c\uc785\ub2c8\ub2e4. \ud5c8\uac00\ub41c \ud750\ub984\uc744 \uc2dc\uc791\ud558\ub824\uba74 \uc774 \uc591\uc2dd\uc744 \uc791\uc131\ud558\uc138\uc694. \uc774 \uacfc\uc815\uc5d0\uc11c \uc608\uc0c1\ub418\ub294 \uc0ac\ud56d\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:

"},{"location":"ko/Permissioned%20Connection/#ibrl-mainnet-beta-testnet","title":"IBRL \ubaa8\ub4dc\ub85c Mainnet-Beta \ubc0f Testnet\uc5d0 \uc5f0\uacb0","text":"

Note

IBRL \ubaa8\ub4dc\ub294 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

\ud5c8\uac00\ub41c \uc0ac\uc6a9\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc124\uba85\ub41c DoubleZero Mainnet-beta \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

"},{"location":"ko/Permissioned%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 DoubleZero\uc5d0 \ud55c \uac1c\uc758 \ud130\ub110\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
DoubleZero mainnet-beta\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

\u2705 doublezerod configured for environment mainnet-beta\n
\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4: \u2705 doublezerod configured for environment testnet

\uc57d 30\ucd08 \ud6c4 DoubleZero \uc7a5\uce58\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

doublezero latency\n
\uc608\uc2dc \ucd9c\ub825 (\ud14c\uc2a4\ud2b8\ub137)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\ud14c\uc2a4\ud2b8\ub137 \ucd9c\ub825\uc740 \uad6c\uc870\uac00 \ub3d9\uc77c\ud558\uc9c0\ub9cc \ud6e8\uc52c \ub354 \ub9ce\uc740 \uc7a5\uce58\uac00 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\uc5d0 \uc5f0\ub77d","text":"

DoubleZero Foundation\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694. DoubleZeroID, \uac80\uc99d\uc790 ID(\ub178\ub4dc ID), \uadf8\ub9ac\uace0 \uc5f0\uacb0\ud560 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub97c \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Permissioned%20Connection/#3-ibrl","title":"3. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
\ucd9c\ub825:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/Permissioned%20Connection/#_2","title":"\ub2e4\uc74c \ub2e8\uacc4: \uba40\ud2f0\uce90\uc2a4\ud2b8","text":"

\uc774 \uc124\uc815\uc744 \uc644\ub8cc\ud558\uace0 \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc774\ub77c\uba74 \ub2e4\uc74c \ud398\uc774\uc9c0\ub85c \uc9c4\ud589\ud558\uc138\uc694.

"},{"location":"ko/Shelby%20Permissioned%20Connection/","title":"Shelby \ud14c\uc2a4\ud2b8\ub137 \uc0ac\uc6a9\uc790\ub97c \uc704\ud55c IBRL \ubaa8\ub4dc DoubleZero \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/Shelby%20Permissioned%20Connection/#doublezeroid","title":"DoubleZeroID \ubc1b\uae30","text":"

DoubleZeroID\uc640 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub97c \uc774 \uc591\uc2dd\uc5d0 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Shelby%20Permissioned%20Connection/#ibrl","title":"IBRL \ubaa8\ub4dc\ub85c \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0","text":"

Shelby \ud5c8\uac00\ub41c \uc0ac\uc6a9\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc124\uba85\ub41c DoubleZero \ud14c\uc2a4\ud2b8\ub137 \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

"},{"location":"ko/Shelby%20Permissioned%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 DoubleZero\uc5d0 \ud55c \uac1c\uc758 \ud130\ub110\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero\uc5d0\uc11c Shelby \ud14c\ub10c\ud2b8\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero)\ub97c \uad6c\uc131\ud558\ub824\uba74:

doublezero config set --tenant shelby\n

Shelby\uc5d0 \ud2b9\uc815\ud55c \ucd94\uac00 \ubc29\ud654\ubcbd \uaddc\uce59 \uc801\uc6a9:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"ko/Shelby%20Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\uc5d0 \uc5f0\ub77d","text":"

DoubleZero Foundation\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694. DoubleZeroID\uc640 \uc5f0\uacb0\ud560 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub97c \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Shelby%20Permissioned%20Connection/#3-ibrl","title":"3. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
\ucd9c\ub825:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

\ucf54\ub4dc \ub610\ub294 \uad00\ub828 \uc790\ub8cc\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \uba74\ucc45 \uc870\ud56d\uc744 \uac80\ud1a0\ud558\uc138\uc694.

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.

\uba74\ucc45 \uc870\ud56d

\uc774 \ubb38\uc11c\uc640 \uad00\ub828 \ucf54\ub4dc\ub294 \uc815\ubcf4 \ubc0f \uae30\uc220\uc801 \ubaa9\uc801\uc73c\ub85c\ub9cc \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc124\uba85\ub41c \ud1a0\ud070 \ubcc0\ud658 \uae30\ub2a5\uc740 \ube44\uc218\ud0c1\ud615\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uae30\ubcf8 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uacfc \uc9c1\uc811 \uc0c1\ud638 \uc791\uc6a9\ud558\uba70 \ud56d\uc0c1 \uc790\uc0b0\uc5d0 \ub300\ud55c \uc644\uc804\ud55c \ud1b5\uc81c\uad8c\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

\uc774 \uc2dc\uc2a4\ud15c\uc740 \uac1c\ubc1c\uc790 \ub610\ub294 \uac8c\uc2dc\uc790\uac00 \uac1c\ubc1c, \uc81c\uc5b4 \ub610\ub294 \uac80\ud1a0\ud558\uc9c0 \uc54a\uc740 \uc81c3\uc790 \ucf54\ub4dc, \ub370\uc774\ud130 \uc18c\uc2a4 \ub610\ub294 \uac00\uaca9 \ubc0f \uc218\uc218\ub8cc \uba54\ucee4\ub2c8\uc998(\uc608: \uc2a4\ub9c8\ud2b8 \uacc4\uc57d, API \ub610\ub294 \ud0c8\uc911\uc559\ud654 \uac70\ub798\uc18c)\uc5d0 \uc758\uc874\ud558\uac70\ub098 \uc0c1\ud638 \uc791\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc81c3\uc790 \uad6c\uc131 \uc694\uc18c\uc758 \uc815\ud655\uc131, \uae30\ub2a5 \ub610\ub294 \ubcf4\uc548\uc5d0 \ub300\ud55c \uc5b4\ub5a0\ud55c \ubcf4\uc99d\uc774\ub098 \ubcf4\uc7a5\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc815\ud655\uc131, \uc644\uc804\uc131 \ub610\ub294 \uc9c0\uc18d\uc801\uc778 \uac00\uc6a9\uc131\uc744 \ubcf4\uc7a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ubc0f \uad00\ub828 \uc790\ub8cc\ub294 \"\uc788\ub294 \uadf8\ub300\ub85c\" \uc81c\uacf5\ub418\uba70 \ubc84\uadf8, \uc624\ub958 \ub610\ub294 \ucde8\uc57d\uc810\uc774 \ud3ec\ud568\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc740 \uc804\uc801\uc73c\ub85c \uadc0\ud558\uc758 \ucc45\uc784\uc785\ub2c8\ub2e4. \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc774 \uacc4\uc57d\uc758 \uc0ac\uc6a9\uacfc \uad00\ub828\ud558\uc5ec \uc5b4\ub5a0\ud55c \uc218\uc218\ub8cc\ub3c4 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ub610\ub294 \uad00\ub828 \ubb38\uc11c\ub97c \uc720\uc9c0, \uc5c5\ub370\uc774\ud2b8 \ub610\ub294 \uc9c0\uc6d0\ud560 \uc758\ubb34\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774 \ubb38\uc11c\ub294 \ud1a0\ud070 \ubcc0\ud658, \uc2a4\uc651 \ub610\ub294 \uae30\ud0c0 \uac70\ub798\uc5d0 \ub9e4\ub3c4 \uc81c\uc548, \ub9e4\uc218 \uad8c\uc720 \ub610\ub294 \ucc38\uc5ec \uad8c\uc7a5\uc73c\ub85c \uad6c\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubc95\uc801, \uc7ac\uc815\uc801 \ub610\ub294 \ud22c\uc790 \uc870\uc5b8\uc740 \uc81c\uacf5\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ud65c\ub3d9\uc758 \ud569\ubc95\uc131\uc744 \uacb0\uc815\ud560 \uc804\uc801\uc778 \ucc45\uc784\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \uad00\ud560 \uc9c0\uc5ed\uc5d0\uc11c \uc801\uc6a9 \uac00\ub2a5\ud55c \ubc95\ub960\uacfc \uaddc\uc815\uc744 \uac80\ud1a0\ud558\uace0 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 \ubcc0\ud658\uc5d0 \ucc38\uc5ec\ud558\uae30 \uc804\uc5d0 \ub3c5\ub9bd\uc801\uc778 \uc5b4\ub4dc\ubc14\uc774\uc800\uc640 \uc0c1\ub2f4\ud574\uc57c \ud569\ub2c8\ub2e4. \uc81c\uc7ac \ub300\uc0c1 \ub610\ub294 \uc81c\ud55c\ub41c \uad00\ud560 \uc9c0\uc5ed\uc758 \uc0ac\ub78c \ub610\ub294 \uc8fc\uccb4\ub97c \ud3ec\ud568\ud558\uc5ec \ubd88\ubc95\uc774 \ub420 \uacbd\uc6b0 \uc0ac\uc6a9\uc774 \uae08\uc9c0\ub429\ub2c8\ub2e4.

\ubc95\ub960\uc774 \ud5c8\uc6a9\ud558\ub294 \ucd5c\ub300\ud55c\ub3c4 \ub0b4\uc5d0\uc11c \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \ucf54\ub4dc \uc0ac\uc6a9 \ub610\ub294 \ubcc0\ud658 \ucc38\uc5ec\uc640 \uad00\ub828\ud558\uc5ec \ubc1c\uc0dd\ud558\ub294 \uc190\uc2e4, \uc190\ud574 \ub610\ub294 \uccad\uad6c\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ucc45\uc784\uc744 \uba74\ucc45\ud569\ub2c8\ub2e4.

\uc774 \ubb38\uc11c \ubc0f \uad00\ub828 \ucf54\ub4dc\uc758 \uac80\ud1a0 \ubc0f \uc0ac\uc6a9\uc740 \uc6f9\uc0ac\uc774\ud2b8 \uc774\uc6a9\uc57d\uad00 \ubc0f \ud504\ub85c\ud1a0\ucf5c \uc774\uc6a9\uc57d\uad00\uc5d0 \ub530\ub985\ub2c8\ub2e4.

DoubleZero \ud504\ub85c\ud1a0\ucf5c\uc740 \uac80\uc99d\uc790 \uc0ac\uc6a9\uc790\ub85c\ubd80\ud130 SOL \ub2e8\uc704\uc758 \uc218\uc775\uc744 \uc218\uc9d1\ud558\uc9c0\ub9cc \uae30\uc5ec\uc790\uc5d0\uac8c 2Z \ub2e8\uc704\uc758 \ubcf4\uc0c1\uc744 \ubc30\ud3ec\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c SOL\uc744 2Z\ub85c \ubcc0\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.

\uc774\ub97c \uc704\ud574 \uc801\uaca9 \ucc38\uc5ec\uc790\ub294 DoubleZero \uc2a4\uc651 \uacc4\uc57d\uc5d0 \ub300\ud574 \uac70\ub798\ud558\uc5ec \uacc4\uc57d\uc5d0\uc11c SOL\uc744 \uad6c\ub9e4\ud558\uace0 2Z\ub97c \ud310\ub9e4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uac00\uaca9\uc740 Pyth \uac00\uaca9 \ud53c\ub4dc\uc640 \ud504\ub85c\uadf8\ub798\ub9e4\ud2f1 \ud560\uc778 \uba54\ucee4\ub2c8\uc998\uc744 \uae30\ubc18\uc73c\ub85c \ud569\ub2c8\ub2e4.

\uc774 \uc9e7\uc740 \uac00\uc774\ub4dc\ub294 \ud504\ub85c\uadf8\ub7a8 \uc0ac\uc6a9 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4.

\ucf54\ub4dc \ub610\ub294 \uad00\ub828 \uc790\ub8cc\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \uc774 \ubb38\uc11c \ub05d\uc5d0 \uc788\ub294 \uba74\ucc45 \uc870\ud56d\uc744 \uac80\ud1a0\ud558\uc138\uc694.

"},{"location":"ko/Swapping-sol-to-2z/#_1","title":"\ud504\ub85c\uadf8\ub7a8 \uc124\uacc4","text":"

\uc2a4\uc651 \ud504\ub85c\uadf8\ub7a8\uc740 \uac70\ub798\ub2f9 1 SOL\uc758 \uace0\uc815 \ubc30\uce58 \ud06c\uae30\ub85c SOL\uc744 \ud310\ub9e4\ud558\ub294 \ub2e8\ubc29\ud5a5 \uc720\ub3d9\uc131 \ud480\uc785\ub2c8\ub2e4. \uc801\uaca9 \ucc38\uc5ec\uc790\ub294 \uc624\ub77c\ud074 \uac00\uaca9\uacfc \ub3d9\uc801 \ud560\uc778\uc5d0 \uc758\ud574 \uacb0\uc815\ub418\ub294 \uac00\uaca9\uc73c\ub85c 2Z\ub97c \uc608\uce58\ud558\uc5ec \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c SOL\uc744 \uc778\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \uc774\ub294 \ub124\uc774\ud2f0\ube0c \ud1a0\ud070\uc744 2Z\ub85c \uc804\ud658\ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc758 \ubaa9\ud45c\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.

\uc0ac\uc6a9\ud558\ub824\uba74 \ud2b8\ub808\uc774\ub354\uac00 \ub450 \uac1c\uc758 \ucd5c\uadfc Pyth \uac00\uaca9(SOL/USD \ubc0f 2Z/USD)\uacfc 2Z \uc218\ub7c9\uc744 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4. \uadf8\ub7ec\uba74 \ud504\ub85c\uadf8\ub7a8\uc740 \ub0b4\ud3ec\ub41c SOL/2Z \uac00\uaca9\uc744 \uae30\ubc18\uc73c\ub85c 1 SOL \uad6c\ub9e4\uc5d0 \ud544\uc694\ud55c 2Z\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \uba87 \uac00\uc9c0 \ucd94\uac00 \ub2e8\uacc4\ub97c \uc218\ud589\ud569\ub2c8\ub2e4:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\uc774 \uc2dc\uc810\uc5d0\uc11c \ud2b8\ub808\uc774\ub354\uac00 \uc774 \uacc4\uc0b0\ub41c \uac00\uaca9(\ud560\uc778 \ud3ec\ud568)\uc73c\ub85c \ud2b8\ub79c\uc7ad\uc158\uc744 \uc2e4\ud589\ud558\uae30\uc5d0 \ucda9\ubd84\ud55c 2Z\ub97c \uc81c\uacf5\ud588\ub2e4\uba74, \uc774 \uacc4\uc0b0\ub41c \uac00\uaca9\uc73c\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4. \ud2b8\ub808\uc774\ub354\uc5d0\uac8c \uad6c\ub9e4\ud55c SOL \uc218\ub7c9\uacfc \ucd08\uacfc 2Z\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.

\uadf8\ub7f0 \ub2e4\uc74c \uacc4\uc57d\uc740 \ud574\ub2f9 \uc2ac\ub86f\uc5d0 \ub300\ud574 \ub354 \uc774\uc0c1 \uac70\ub798\ub97c \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub294 Pyth \uac00\uaca9\uc774 \ud604\uc7ac \uae30\uc874 \ud544\ud130\uac00 \uc7a1\uc9c0 \ubabb\ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ud2b9\uc815 \uc2dc\uc810\uc758 \uc2e4\uc81c \uac00\uaca9\uacfc \uba40\ub9ac \ub5a8\uc5b4\uc838 \uc788\uc744 \uacbd\uc6b0 \uacc4\uc57d\uc774 \uacfc\ub3c4\ud558\uac8c \ub192\uc740 \uc2ac\ub9ac\ud53c\uc9c0\ub97c \uc9c0\ubd88\ud558\ub294 \uac83\uc744 \ubc29\uc9c0\ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#_2","title":"\uac00\uc2a4 \uc5c6\ub294 \uc6d0\uc790\uc801 \uc2e4\ud589","text":"

\uc774 \uc139\uc158\uc5d0\uc11c\ub294 harvest-dz \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc790\uc138\ud788 \uc124\uba85\ud569\ub2c8\ub2e4. \uc774 \uba85\ub839\uc740 2\uac00\uc9c0 \uc791\uc5c5\uc744 \uc6d0\uc790\uc801\uc73c\ub85c \uc218\ud589\ud569\ub2c8\ub2e4. 1. \uba85\ub839\uc774 Jupiter\uc5d0\uc11c \ub124\uc774\ud2f0\ube0c SOL <> 2Z \ubcc0\ud658 \ud504\ub85c\uadf8\ub7a8 \ub300\ube44 \uacac\uc801\uc744 \uc694\uccad\ud569\ub2c8\ub2e4. 2. Jupiter \uacbd\ub85c\uac00 \ub124\uc774\ud2f0\ube0c \ubcc0\ud658 \ud504\ub85c\uadf8\ub7a8\uc774 \uc694\uad6c\ud558\ub294 \uac83\ubcf4\ub2e4 SOL\ub2f9 \ub354 \ub9ce\uc740 2Z\ub97c \uc0dd\uc131\ud560 \ub54c, harvest-2z\ub294 \uc2a4\uc651\uc744 \uc2e4\ud589\ud558\uc5ec \uc9c0\uac11\uc5d0 1 SOL\uacfc 2Z\uc758 \ucc28\uc774\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

\uc2e4\ud589\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc138\uc694:

doublezero-solana revenue-distribution harvest-2z\n
\ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud569\ub2c8\ub2e4:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
\uba85\ub839\uc740 --dry-run \uc778\uc218\ub85c \uc2dc\ubbac\ub808\uc774\uc158\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ub4dc\ub77c\uc774\ub7f0\uc740 \ud504\ub85c\uadf8\ub7a8 \ub85c\uadf8\uc640 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud55c \ucd9c\ub825\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"ko/Swapping-sol-to-2z/#_3","title":"\ud504\ub85c\ud1a0\ucf5c \ubcc0\ud658","text":"

\uc774 \uc139\uc158\uc5d0\uc11c\ub294 doublezero-solana CLI\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud658\uc728\uc744 \ud655\uc778\ud558\uace0 \ubcc0\ud658\uc744 \uc2e4\ud589\ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc5d0\ub294 DoubleZero \uc2a4\uc651 \uacc4\uc57d\uacfc\uc758 \ub9de\ucda4\ud615 \ud1b5\ud569\uc744 \uc704\ud55c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc124\uba85\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#doublezero-solana-sol2z","title":"doublezero-solana\ub97c \ud1b5\ud574 SOL/2Z \ud658\uc728 \ud655\uc778 \ubc29\ubc95","text":"

\uba54\uc778\ub137-\ubca0\ud0c0\uc758 SOL/2Z \ud658\uc728\uc744 \ucc3e\uc73c\ub824\uba74 \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc138\uc694:

doublezero-solana revenue-distribution fetch sol-conversion\n

\ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud569\ub2c8\ub2e4:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

\uc800\ub110 \uc794\uc561\uc740 \uc218\uc775 \ubc30\ubd84 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc5d0 \uc5bc\ub9c8\ub098 \ub9ce\uc740 SOL \uc720\ub3d9\uc131\uc774 \uc788\ub294\uc9c0 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc54c\ub9bd\ub2c8\ub2e4. \uc800\ub110 \uc794\uc561\uc774 1 SOL\uc758 \uace0\uc815 \uac70\ub798 \ud06c\uae30\ub97c \ucd08\uacfc\ud558\ub294 \ud55c \uc0ac\uc6a9\uc790\ub294 \uac70\ub798\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uccab \ubc88\uc9f8 \ud589\uc740 \uc624\ud504\uccb4\uc778 \uc624\ub77c\ud074\uc744 \ud1b5\ud55c \"\uc2e4\uc81c\" SOL/2Z \ud658\uc728\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4. \ub450 \ubc88\uc9f8 \ud589\uc740 \uc2a4\uc651\uc5d0 \uc628\uccb4\uc778\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \ud658\uc728\ub85c, \ub2e8\uc21c\ud788 \uc54c\uace0\ub9ac\uc998 \ud560\uc778\uc5d0 \ub300\ud55c \uc2e4\uc81c \uac00\uaca9\uc744 \uc870\uc815\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#doublezero-solana-2z-sol","title":"doublezero-solana\ub97c \ud1b5\ud574 2Z\ub97c SOL\ub85c \ubcc0\ud658\ud558\ub294 \ubc29\ubc95","text":"

2Z \ud1a0\ud070\uc744 SOL\ub85c \ubcc0\ud658\ud558\ub824\uba74 \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc138\uc694:

doublezero-solana revenue-distribution convert-2z\n

\uae30\ubcf8\uc801\uc73c\ub85c \ucda9\ubd84\ud55c SOL \uc720\ub3d9\uc131\uc774 \uc788\uace0 ATA\uc5d0 \uc2a4\uc651\uc744 \uc218\ud589\ud560 \ucda9\ubd84\ud55c 2Z\uac00 \uc788\uc73c\uba74 \uc774 \ud2b8\ub79c\uc7ad\uc158\uc774 \uc131\uacf5\ud569\ub2c8\ub2e4. \ub2e4\uc74c \uc778\uc218\ub97c \uc9c0\uc815\ud558\uc5ec \uc2a4\uc651\uc744 \ub354 \uc138\ubc00\ud558\uac8c \uc870\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

      --limit-price <DECIMAL>                    \ud604\uc7ac SOL/2Z \uc624\ub77c\ud074 \uac00\uaca9\uc744 \uae30\ubcf8\uac12\uc73c\ub85c \ud558\ub294 \uc9c0\uc815\uac00\n      --source-2z-account <PUBKEY>               \ud1a0\ud070 \uacc4\uc815\uc740 \uc11c\uba85\uc790\uac00 \uc18c\uc720\ud574\uc57c \ud569\ub2c8\ub2e4. \uc9c0\uc815\ud558\uc9c0 \uc54a\uc73c\uba74 \uc11c\uba85\uc790 ATA\ub85c \uae30\ubcf8 \uc124\uc815\ub429\ub2c8\ub2e4.\n      --checked-sol-amount <SOL>                 SOL \uae08\uc561\uc744 \uba85\uc2dc\uc801\uc73c\ub85c \ud655\uc778\ud569\ub2c8\ub2e4. \uc9c0\uc815\ub41c \uacbd\uc6b0 \uc774 \uae08\uc561\uc774 \uace0\uc815 \ucc44\uc6c0 \uc218\ub7c9\uacfc \ube44\uad50\ud558\uc5ec \ud655\uc778\ub429\ub2c8\ub2e4.\n

\uc9c0\uc815\ub41c \uc9c0\uc815\uac00\ub294 SOL/2Z \ubcc0\ud658\uc744 \uc218\ud589\ud560 \ub54c \uc218\ub77d\ud560 \ucd5c\uc545\uc758 \uacbd\uc6b0 \uac00\uaca9\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 SOL\uc5d0 \ub300\ud55c \ud560\uc778\ub41c 2Z \uac00\uaca9\uc774 800\uc774\ub77c\uace0 \uac00\uc815\ud569\uc2dc\ub2e4. \uc989, 1 SOL\uc5d0 2Z \ud1a0\ud070 800\uac1c\uc785\ub2c8\ub2e4. \uc9c0\uc815\uac00\ub97c 790\uc73c\ub85c \uc9c0\uc815\ud558\uba74 \ucd5c\ub300 790\uac1c\uc758 2Z \ud1a0\ud070\ub9cc \uc2a4\uc651\ud558\ub3c4\ub85d \uc694\uad6c\ud558\uae30 \ub54c\ubb38\uc5d0 \uc2a4\uc651\uc744 \uc218\ud589\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 810\uc744 \uc9c0\uc815\ud558\uba74 \ucd5c\ub300 810\uac1c\uc758 2Z \ud1a0\ud070\uc744 \uc2a4\uc651\ud560 \uc758\ud5a5\uc774 \uc788\uc5c8\uc73c\ubbc0\ub85c \uac70\ub798\uac00 \uc774\ub8e8\uc5b4\uc9d1\ub2c8\ub2e4(\uc774 \uacbd\uc6b0 \uc774 \ud2b8\ub79c\uc7ad\uc158\uc5d0\uc11c 2Z \ud1a0\ud070 800\uac1c\ub9cc \uc2a4\uc651\ub429\ub2c8\ub2e4).

\uc18c\uc2a4 2Z \ud1a0\ud070 \uacc4\uc815\uc740 \uc774 2Z ATA\uc758 \uc18c\uc720\uc790\ub85c \uc11c\uba85\uc790\ub97c \uc0ac\uc6a9\ud558\ub294 \uae30\ubcf8 ATA\ub97c \uc7ac\uc815\uc758\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc2a4\uc651\uc744 \uc218\ud589\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub824\ub294 \ub2e4\ub978 \ud1a0\ud070 \uacc4\uc815\uc774 \uc788\ub294 \uacbd\uc6b0 \uc774 \uc778\uc218\uc640 \ud568\uaed8 \ud574\ub2f9 \uacf5\uac1c \ud0a4\ub97c \uc81c\uacf5\ud558\uc138\uc694.

\uc120\ud0dd\uc801\uc73c\ub85c, \ud655\uc778\ub41c SOL \uae08\uc561\uc744 \ud45c\uc900 \ucc44\uc6c0 \ud06c\uae30(\ucd9c\uc2dc \uc2dc 1 SOL\ub85c \uc124\uc815\ub428)\uc5d0 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud504\ub85c\uadf8\ub7a8\uc758 \ucc44\uc6c0 \ud06c\uae30\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc73c\uba74 \uc2a4\uc651\uc774 \uc2e4\ud328\ud569\ub2c8\ub2e4. \uc774\ub294 \ud504\ub85c\uadf8\ub7a8\uc758 \ucc44\uc6c0 \ud06c\uae30\uac00 \ubcc0\uacbd\ub418\uace0 \uadc0\ud558\uac00 \uc54c\uc544\ucc28\ub9ac\uc9c0 \ubabb\ud558\ub294 \uc704\ud5d8\uc744 \uc644\ud654\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#sol","title":"SOL \uad6c\ub9e4 \uc778\ud130\ud398\uc774\uc2a4","text":"

\uc778\ud130\ud398\uc774\uc2a4\uc640 doublezero-solana CLI\ub294 \uc774 \uc800\uc7a5\uc18c\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. DoubleZero \uc2a4\uc651 \uacc4\uc57d \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc18c\uc2a4 \ucf54\ub4dc\ub294 \uc5ec\uae30\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud504\ub85c\uadf8\ub7a8 ID\ub294 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs\uc785\ub2c8\ub2e4.

buy SOL \uba85\ub839\uc5d0 \ud544\uc694\ud55c \uacc4\uc815\uc744 \uc0dd\uc131\ud558\ub294 \ud3b8\ub9ac\ud55c \ubc29\ubc95\uc740 instruction/account.rs\uc5d0 \uc788\ub294 new \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key\ub294 ProgramState\uc5d0\uc11c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // \uc774 \ud0a4\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

\ub300\uc548\uc73c\ub85c \ud310\ubcc4\uc790\ub97c \uc0ac\uc6a9\ud558\uc5ec Solana RPC\ub97c \ud1b5\ud574 getProgramAccounts\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774 \uacf5\uac1c \ud0a4\ub294 \uc808\ub300 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uce90\uc2dc\ud558\ub294 \uac83\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4.

user_key\ub294 buy SOL \uba85\ub839\uc758 \uc11c\uba85\uc790\uc774\uba70 user_token_account_key\uc758 \uc18c\uc720\uc790\uc5ec\uc57c \ud569\ub2c8\ub2e4. \uc704\uc5d0\uc11c \uc124\uba85\ud55c \ubc14\uc640 \uac19\uc774 \uc774\uac83\uc740 ATA\uc77c \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. 2Z \ud1a0\ud070 \uacc4\uc815\uc774 user_key\uac00 \uc18c\uc720\ud558\ub294 \ud55c \uc774 \uba85\ub839\uc774 \uc131\uacf5\ud569\ub2c8\ub2e4.

BuySolAccounts \uad6c\uc870\uccb4\ub294 Into<Vec<AccountMeta>>\ub97c \uad6c\ud604\ud558\ubbc0\ub85c \uba85\ub839\uc744 \ube4c\ub4dc\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \uacc4\uc815 \uba54\ud0c0\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uba85\ub839 \ub370\uc774\ud130\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

\uc774 \uba85\ub839 \ub370\uc774\ud130\ub294 Borsh \uc9c1\ub82c\ud654\ub418\uace0 8\ubc14\uc774\ud2b8 Anchor \uc120\ud0dd\uc790\uac00 \uc788\uc73c\uba70, \uc774\ub294 BorshSerialize::serialize\ub97c \uc0ac\uc6a9\ud560 \ub54c \ubaa8\ub450 \uc9c1\ub82c\ud654\ub429\ub2c8\ub2e4.

\uc624\ub77c\ud074 \uac00\uaca9 \ub370\uc774\ud130\ub294 \uc774 \uacf5\uac1c \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc5d0\uc11c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. \ub370\uc774\ud130\ub294 oracle.rs\uc5d0 \uc788\ub294 OraclePriceData \uad6c\uc870\uccb4\ub97c \uc0ac\uc6a9\ud558\uc5ec serde \uc5ed\uc9c1\ub82c\ud654 \uac00\ub2a5\ud569\ub2c8\ub2e4.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

reqwest \ud06c\ub808\uc774\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac00\uc838\uc624\ub294 \ubc29\ubc95 \uc608\uc2dc:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

\ud504\ub85c\uadf8\ub7a8 ID, \uacc4\uc815 \ubc0f \uba85\ub839 \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec DoubleZero \uc2a4\uc651 \uacc4\uc57d\uc5d0\uc11c SOL\uc744 \uad6c\ub9e4\ud558\ub294 \uba85\ub839\uc744 \ube4c\ub4dc\ud560 \uc218 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Validator%20Multicast%20Connection/","title":"\uac80\uc99d\uc790 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

\uc544\uc9c1 DoubleZero\uc5d0 \uc5f0\uacb0\ub418\uc9c0 \uc54a\uc558\ub2e4\uba74 \uc124\uc815 \ubc0f Mainnet-Beta \uac80\uc99d\uc790 \uc5f0\uacb0 \ubb38\uc11c\ub97c \uc644\ub8cc\ud558\uc138\uc694.

\uc774\ubbf8 DoubleZero\uc5d0 \uc5f0\uacb0\ub41c \uac80\uc99d\uc790\ub77c\uba74 \uc774 \uac00\uc774\ub4dc\ub97c \uacc4\uc18d \uc9c4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/Validator%20Multicast%20Connection/#jito-agave-319","title":"Jito-Agave (\ubc84\uc804 3.1.9 \uc774\uc0c1)","text":"
  1. \uac80\uc99d\uc790 \uc2dc\uc791 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \ub2e4\uc74c\uc744 \ucd94\uac00\ud558\uc138\uc694: --shred-receiver-address 233.84.178.1:7733

    Jito\uc640 bebop \uadf8\ub8f9\uc5d0 \ub3d9\uc2dc\uc5d0 \ubcf4\ub0bc \uc218 \uc788\uc2b5\ub2c8\ub2e4.

    \uc608\uc2dc:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...\ub098\uba38\uc9c0 \uc124\uc815...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. \uac80\uc99d\uc790\ub97c \uc7ac\uc2dc\uc791\ud558\uc138\uc694.

  3. DoubleZero \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 bebop\uc5d0 \ubc1c\ud589\uc790\ub85c \uc5f0\uacb0\ud558\uc138\uc694: doublezero connect multicast --publish bebop

"},{"location":"ko/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. config.toml\uc5d0 \ub2e4\uc74c\uc744 \ucd94\uac00\ud558\uc138\uc694:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. \uac80\uc99d\uc790\ub97c \uc7ac\uc2dc\uc791\ud558\uc138\uc694.

  3. DoubleZero \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 bebop\uc5d0 \ubc1c\ud589\uc790\ub85c \uc5f0\uacb0\ud558\uc138\uc694: doublezero connect multicast --publish bebop

Note

XDP \ub4dc\ub77c\uc774\ubc84 \ubaa8\ub4dc\uc758 Frankendancer \uc0ac\uc6a9\uc790\ub294 tcpdump\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ud604\uc7ac \ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud560 \ubc29\ubc95\uc774 \uc5c6\uc9c0\ub9cc \uace7 \ud574\uacb0\ucc45\uc774 \uc81c\uacf5\ub420 \uc608\uc815\uc785\ub2c8\ub2e4.

"},{"location":"ko/Validator%20Multicast%20Connection/#_2","title":"\ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778","text":"

\ub2e4\uc74c \ub9ac\ub354 \uc2ac\ub86f\uc5d0\uc11c tcpdump\ub97c \uc0ac\uc6a9\ud558\uc5ec \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud558\uc138\uc694. \ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574 10\ucd08\ub9c8\ub2e4 \ud558\ud2b8\ube44\ud2b8\uac00 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uc2e4\ud589: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

\ubc1c\ud589 \uc911\uc77c \ub54c\uc758 \uc608\uc2dc \ucd9c\ub825:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"ko/architecture/","title":"\uc544\ud0a4\ud14d\ucc98","text":"

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 \ub124\ud2b8\uc6cc\ud06c\uc758 \ub2e4\uc591\ud55c \ud589\uc704\uc790\uc640 \uad6c\uc131 \uc694\uc18c\ub294 \ubb34\uc5c7\uc778\uac00\uc694?

\uadf8\ub9bc 1: \ub124\ud2b8\uc6cc\ud06c \uc544\ud0a4\ud14d\ucc98 \uad6c\uc131 \uc694\uc18c"},{"location":"ko/architecture/#_2","title":"\uae30\uc5ec\uc790","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \uc804 \uc138\uacc4 \ub3c4\uc2dc\uc5d0 \uc788\ub294 \uc131\uc7a5\ud558\ub294 \ubd84\uc0b0 \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4 \ucee4\ubba4\ub2c8\ud2f0\uc758 \uc5f0\uacb0 \ubc0f \ud328\ud0b7 \ucc98\ub9ac \uae30\uc5ec\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub4e4\uc740 \ubd84\uc0b0 \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \uad11\uc12c\uc720 \ucf00\uc774\ube14 \ub9c1\ud06c\uc640 \uc815\ubcf4 \ucc98\ub9ac \ub9ac\uc18c\uc2a4\ub97c \ud504\ub85c\ud1a0\ucf5c\uc5d0 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_3","title":"\ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec\uc790","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub450 \uc9c0\uc810 \uac04\uc5d0 \uc804\uc6a9 \ub300\uc5ed\ud3ed\uc744 \uc81c\uacf5\ud558\uace0, \uac01 \ub05d\uc5d0\uc11c DoubleZero \ud638\ud658 \uc7a5\uce58(DZD)\ub97c \uc6b4\uc601\ud558\uba70, \uac01 \ub05d\uc5d0\uc11c \uc778\ud130\ub137\uc5d0 \uc5f0\uacb0\ud574\uc57c \ud569\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub610\ud55c \uba40\ud2f0\uce90\uc2a4\ud2b8, \uc0ac\uc6a9\uc790 \uc870\ud68c, \uc5e3\uc9c0 \ud544\ud130\ub9c1 \uc11c\ube44\uc2a4\uc640 \uac19\uc740 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \uac01 DZD\uc5d0\uc11c DoubleZero \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud574\uc57c \ud569\ub2c8\ub2e4.

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \ubb3c\ub9ac\uc801 \ub9c1\ud06c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud30c\uc7a5 \uc11c\ube44\uc2a4\ub77c\uace0 \ud558\ub294 \uad11\uc12c\uc720 \ucf00\uc774\ube14 \ud615\ud0dc\ub85c \uc81c\uacf5\ub429\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4\ub85c\ubd80\ud130 \uc18c\uc720\ud558\uac70\ub098 \uc784\ub300\ud55c \ubbf8\ud65c\uc6a9 \ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\ub97c \ub450 \uac1c \uc774\uc0c1\uc758 \ub370\uc774\ud130 \uc13c\ud130 \uc0ac\uc774\uc5d0 \uae30\uc5ec\ud569\ub2c8\ub2e4. \uc774 \ub9c1\ud06c\ub294 DoubleZero \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc778\uc2a4\ud134\uc2a4\ub97c \uc2e4\ud589\ud558\ub294 \ubb3c\ub9ac\uc801 \ub124\ud2b8\uc6cc\ud06c \uc2a4\uc704\uce6d \uc778\ud074\ub85c\uc800\uc778 DoubleZero \uc7a5\uce58\uc5d0 \uc758\ud574 \uc591\ucabd \ub05d\uc5d0\uc11c \uc885\ub2e8\ub429\ub2c8\ub2e4.

"},{"location":"ko/architecture/#doublezero-exchange-dzx","title":"DoubleZero Exchange (DZX / \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8 \uc0ac\uc774\ud2b8)","text":"

DoubleZero Exchange(DZX)\ub294 \uc11c\ub85c \ub2e4\ub978 \uae30\uc5ec\uc790 \ub9c1\ud06c\uac00 \uc5f0\uacb0\ub418\ub294 \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\uc758 \uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810\uc785\ub2c8\ub2e4. DZX\ub294 \ub124\ud2b8\uc6cc\ud06c \uad50\ucc28\uc810\uc774 \ubc1c\uc0dd\ud558\ub294 \uc804 \uc138\uacc4 \uc8fc\uc694 \ub3c4\uc2dc \uc9c0\uc5ed\uc5d0 \uc704\uce58\ud569\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub9c1\ud06c \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc5d0 \uc9c0\ub9ac\uc801\uc73c\ub85c \uac00\uc7a5 \uac00\uae4c\uc6b4 DZX\uc5d0\uc11c \ub9c1\ud06c\ub97c \ub354 \uad11\ubc94\uc704\ud55c DoubleZero \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_4","title":"\ucef4\ud4e8\ud305 \ub9ac\uc18c\uc2a4 \uae30\uc5ec\uc790","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc640 \ubcc4\ub3c4\ub85c \ub9ac\uc18c\uc2a4 \uae30\uc5ec\uc790\ub294 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \uae30\uc220\uc801 \ubb34\uacb0\uc131\uacfc \uc9c0\uc18d\uc801\uc778 \uae30\ub2a5\uc131\uc744 \uc720\uc9c0\ud558\ub294 \ub370 \ud544\uc694\ud55c \ub2e4\uc591\ud55c \uc720\uc9c0\ubcf4\uc218 \ubc0f \ubaa8\ub2c8\ud130\ub9c1 \uc758\ubb34\ub97c \uc218\ud589\ud558\ub294 \ubd84\uc0b0\ub41c \ub124\ud2b8\uc6cc\ud06c \ucc38\uc5ec\uc790 \uadf8\ub8f9\uc785\ub2c8\ub2e4. \uad6c\uccb4\uc801\uc73c\ub85c \uc774\ub4e4\uc740 (i) \uc0ac\uc6a9\uc790 \ud2b8\ub79c\uc7ad\uc158 \ubc0f \uacb0\uc81c\ub97c \ucd94\uc801\ud558\uace0, (ii) \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc758 \uc218\uc218\ub8cc\ub97c \uacc4\uc0b0\ud558\uba70, (iii) (i)\uc640 (ii)\uc758 \uacb0\uacfc\ub97c \uae30\ub85d\ud558\uace0, (iv) \ud504\ub85c\ud1a0\ucf5c \ud1a0\ud070\uacbd\uc81c\ub97c \uc81c\uc5b4\ud558\ub294 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc744 \uc5c4\uaca9\ud558\uac8c \ube44\uc7ac\ub7c9\uc801 \uae30\ubc18\uc73c\ub85c \uad00\ub9ac\ud558\uba70, (v) \ud574\ub2f9 \ube14\ub85d\uccb4\uc778\uc5d0 \uc99d\uba85\uc744 \ub9b4\ub808\uc774\ud558\uace0, (vi) \ubaa8\ub4e0 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc5d0\uac8c \ud22c\uba85\ud558\uace0 \uc2e4\uc2dc\uac04 \uc131\ub2a5 \uc9c0\ud45c\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \ub9c1\ud06c \ud488\uc9c8 \ubc0f \ud65c\uc6a9\ub3c4\uc5d0 \uad00\ud55c \ud154\ub808\uba54\ud2b8\ub9ac \ub370\uc774\ud130\ub97c \uac8c\uc2dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_5","title":"\uad6c\uc131 \uc694\uc18c","text":""},{"location":"ko/architecture/#doublezero","title":"DoubleZero \ub370\ubaac","text":"

DoubleZero \ub370\ubaac \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud574 \ud1b5\uc2e0\ud574\uc57c \ud558\ub294 \uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4. \ub370\ubaac\uc740 \ud130\ub110 \uc778\ud130\ud398\uc774\uc2a4, \ub77c\uc6b0\ud305 \ud14c\uc774\ube14 \ubc0f \uacbd\ub85c\ub97c \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud558\uae30 \uc704\ud574 \ud638\uc2a4\ud2b8\uc758 \ucee4\ub110 \ub124\ud2b8\uc6cc\ud0b9 \uc2a4\ud0dd\uacfc \uc778\ud130\ud398\uc774\uc2a4\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#activator","title":"\ud65c\uc131\ud654\uae30 (Activator)","text":"

DoubleZero \ucee4\ubba4\ub2c8\ud2f0\uc758 \ud558\ub098 \uc774\uc0c1\uc758 \ucef4\ud4e8\ud305 \ub9ac\uc18c\uc2a4 \uae30\uc5ec \uba64\ubc84\uac00 \ud638\uc2a4\ud305\ud558\ub294 \ud65c\uc131\ud654\uae30 \uc11c\ube44\uc2a4\ub294 IP \uc8fc\uc18c \ud560\ub2f9 \ubc0f \uc0c1\ud0dc \ubcc0\uacbd\uc774 \ud544\uc694\ud55c \uacc4\uc57d \uc774\ubca4\ud2b8\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \ub124\ud2b8\uc6cc\ud06c\ub97c \ub300\uc2e0\ud558\uc5ec \ud574\ub2f9 \ubcc0\uacbd\uc744 \uad00\ub9ac\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_6","title":"\ucee8\ud2b8\ub864\ub7ec","text":"

DoubleZero \ucee4\ubba4\ub2c8\ud2f0\uc758 \ud558\ub098 \uc774\uc0c1\uc758 \ucef4\ud4e8\ud305 \ub9ac\uc18c\uc2a4 \uae30\uc5ec\uc790\uac00 \ud638\uc2a4\ud305\ud558\ub294 \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\ub294 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d \uc774\ubca4\ud2b8\ub97c \uae30\ubc18\uc73c\ub85c \ud604\uc7ac \uad6c\uc131\uc744 \ub80c\ub354\ub9c1\ud558\uae30 \uc704\ud55c DoubleZero \uc7a5\uce58 \uc5d0\uc774\uc804\ud2b8\uc758 \uad6c\uc131 \uc778\ud130\ud398\uc774\uc2a4 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_7","title":"\uc5d0\uc774\uc804\ud2b8","text":"

\uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 DoubleZero \uc7a5\uce58\uc5d0\uc11c \uc9c1\uc811 \uc2e4\ud589\ub418\uba70 \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\uc5d0\uc11c \ud574\uc11d\ud55c \ub300\ub85c \uc7a5\uce58\uc5d0 \uad6c\uc131 \ubcc0\uacbd\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 \uad6c\uc131 \ubcc0\uacbd\uc744 \uc704\ud574 \ucee8\ud2b8\ub864\ub7ec\ub97c \ud3f4\ub9c1\ud558\uace0, \uc7a5\uce58 \uc0c1\ud0dc\uc758 \uc815\uaddc \uc628\uccb4\uc778 \ubc84\uc804\uacfc \uc7a5\uce58\uc758 \ud65c\uc131 \uad6c\uc131 \uac04\uc758 \ucc28\uc774\ub97c \uacc4\uc0b0\ud558\uba70, \ud65c\uc131 \uad6c\uc131\uc744 \uc870\uc815\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubcc0\uacbd\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_8","title":"\uc7a5\uce58","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \ub77c\uc6b0\ud305 \ubc0f \ub9c1\ud06c \uc885\ub2e8\uc744 \uc81c\uacf5\ud558\ub294 \ubb3c\ub9ac\uc801 \uc7a5\uce58 \uc778\ud074\ub85c\uc800\uc785\ub2c8\ub2e4. DZD\ub294 DoubleZero \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud558\uba70 \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\uc5d0\uc11c \uc77d\uc740 \ub370\uc774\ud130\ub97c \uae30\ubc18\uc73c\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4.

"},{"location":"ko/connect/","title":"Connect","text":"

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.

\ub9ac\ub514\ub809\uc158\ub418\uc9c0 \uc54a\uc73c\uba74 \uc5ec\uae30\ub97c \ud074\ub9ad\ud558\uc138\uc694.

"},{"location":"ko/contribute-operations/","title":"\uae30\uc5ec\uc790\ub97c \uc704\ud55c \uc6b4\uc601 \uac00\uc774\ub4dc","text":"

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.

\uc774 \uac00\uc774\ub4dc\ub294 \uc5d0\uc774\uc804\ud2b8 \uc5c5\uadf8\ub808\uc774\ub4dc, \uc7a5\uce58/\uc778\ud130\ud398\uc774\uc2a4 \uc5c5\ub370\uc774\ud2b8 \ubc0f \ub9c1\ud06c \uad00\ub9ac\ub97c \ud3ec\ud568\ud558\uc5ec DoubleZero \uc7a5\uce58(DZD)\ub97c \uc720\uc9c0\ud558\uae30 \uc704\ud55c \uc9c0\uc18d\uc801\uc778 \uc6b4\uc601 \uc791\uc5c5\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.

\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d: \uc774 \uac00\uc774\ub4dc\ub97c \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \ub2e4\uc74c\uc744 \uc644\ub8cc\ud574\uc57c \ud569\ub2c8\ub2e4:

"},{"location":"ko/contribute-operations/#_2","title":"\uc7a5\uce58 \uc5c5\ub370\uc774\ud2b8","text":"

\ucd08\uae30 \ud504\ub85c\ube44\uc800\ub2dd \ud6c4 \uc7a5\uce58 \uc124\uc815\uc744 \uc218\uc815\ud558\ub824\uba74 doublezero device update\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

\uc77c\ubc18\uc801\uc778 \uc5c5\ub370\uc774\ud2b8 \uc635\uc158:

\uc635\uc158 \uc124\uba85 --device-type <TYPE> \uc6b4\uc601 \ubaa8\ub4dc \ubcc0\uacbd: hybrid, transit, edge (\uc7a5\uce58 \uc720\ud615 \ucc38\uc870) --location <LOCATION> \uc7a5\uce58\ub97c \ub2e4\ub978 \uc704\uce58\ub85c \uc774\ub3d9 --metrics-publisher <PUBKEY> \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4 \ubcc0\uacbd"},{"location":"ko/contribute-operations/#_3","title":"\uc778\ud130\ud398\uc774\uc2a4 \uc5c5\ub370\uc774\ud2b8","text":"

\uae30\uc874 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc218\uc815\ud558\ub824\uba74 doublezero device interface update\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774 \uba85\ub839\uc740 interface create\uc640 \ub3d9\uc77c\ud55c \uc635\uc158\uc744 \ud5c8\uc6a9\ud569\ub2c8\ub2e4.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

CYOA/DIA \uc124\uc815\uc744 \ud3ec\ud568\ud55c \uc804\uccb4 \uc778\ud130\ud398\uc774\uc2a4 \uc635\uc158 \ubaa9\ub85d\uc740 \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131\uc744 \ucc38\uc870\ud558\uc138\uc694.

\uc608\uc2dc - \uae30\uc874 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 CYOA \uc124\uc815 \ucd94\uac00:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"ko/contribute-operations/#_4","title":"\uc778\ud130\ud398\uc774\uc2a4 \ubaa9\ub85d","text":"
doublezero device interface list              # \ubaa8\ub4e0 \uc7a5\uce58\uc758 \ubaa8\ub4e0 \uc778\ud130\ud398\uc774\uc2a4\ndoublezero device interface list <DEVICE>     # \ud2b9\uc815 \uc7a5\uce58\uc758 \uc778\ud130\ud398\uc774\uc2a4\n
"},{"location":"ko/contribute-operations/#config-agent","title":"Config Agent \uc5c5\uadf8\ub808\uc774\ub4dc","text":"

\uc0c8 \ubc84\uc804\uc758 Config Agent\uac00 \ucd9c\uc2dc\ub418\uba74 \ub2e4\uc74c \ub2e8\uacc4\uc5d0 \ub530\ub77c \uc5c5\uadf8\ub808\uc774\ub4dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#1","title":"1. \ucd5c\uc2e0 \ubc84\uc804 \ub2e4\uc6b4\ub85c\ub4dc","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ko/contribute-operations/#2","title":"2. \uc5d0\uc774\uc804\ud2b8 \uc885\ub8cc","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#3","title":"3. \uc774\uc804 \ubc84\uc804 \uc81c\uac70","text":"

\uba3c\uc800 \uc774\uc804 \ubc84\uc804\uc758 \ud30c\uc77c\uba85\uc744 \ucc3e\uc2b5\ub2c8\ub2e4:

switch# show extensions\n

\ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \uc774\uc804 \ubc84\uc804\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4. <OLD_VERSION>\uc744 \uc704 \ucd9c\ub825\uc758 \uc774\uc804 \ubc84\uc804\uc73c\ub85c \uad50\uccb4\ud569\ub2c8\ub2e4:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ko/contribute-operations/#4","title":"4. \uc0c8 \ubc84\uc804 \uc124\uce58","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-operations/#5","title":"5. \uc5d0\uc774\uc804\ud2b8 \uc5b8\uc167","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#6","title":"6. \uc5c5\uadf8\ub808\uc774\ub4dc \ud655\uc778","text":"

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4.

switch# show extensions\n

"},{"location":"ko/contribute-operations/#7-config-agent","title":"7. Config Agent \ub85c\uadf8 \ucd9c\ub825 \ud655\uc778","text":"
show agent doublezero-agent log\n
"},{"location":"ko/contribute-operations/#telemetry-agent","title":"Telemetry Agent \uc5c5\uadf8\ub808\uc774\ub4dc","text":"

\uc0c8 \ubc84\uc804\uc758 Telemetry Agent\uac00 \ucd9c\uc2dc\ub418\uba74 \ub2e4\uc74c \ub2e8\uacc4\uc5d0 \ub530\ub77c \uc5c5\uadf8\ub808\uc774\ub4dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#1_1","title":"1. \ucd5c\uc2e0 \ubc84\uc804 \ub2e4\uc6b4\ub85c\ub4dc","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ko/contribute-operations/#2_1","title":"2. \uc5d0\uc774\uc804\ud2b8 \uc885\ub8cc","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#3_1","title":"3. \uc774\uc804 \ubc84\uc804 \uc81c\uac70","text":"

\uba3c\uc800 \uc774\uc804 \ubc84\uc804\uc758 \ud30c\uc77c\uba85\uc744 \ucc3e\uc2b5\ub2c8\ub2e4:

switch# show extensions\n

\ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \uc774\uc804 \ubc84\uc804\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4. <OLD_VERSION>\uc744 \uc704 \ucd9c\ub825\uc758 \uc774\uc804 \ubc84\uc804\uc73c\ub85c \uad50\uccb4\ud569\ub2c8\ub2e4:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ko/contribute-operations/#4_1","title":"4. \uc0c8 \ubc84\uc804 \uc124\uce58","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-operations/#5_1","title":"5. \uc5d0\uc774\uc804\ud2b8 \uc5b8\uc167","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#6_1","title":"6. \uc5c5\uadf8\ub808\uc774\ub4dc \ud655\uc778","text":"

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4.

switch# show extensions\n

"},{"location":"ko/contribute-operations/#7-telemetry-agent","title":"7. Telemetry Agent \ub85c\uadf8 \ucd9c\ub825 \ud655\uc778","text":"
show agent doublezero-telemetry log\n
"},{"location":"ko/contribute-operations/#_5","title":"\ubaa8\ub2c8\ud130\ub9c1","text":"

\u26a0\ufe0f \uc911\uc694:

  1. \uc544\ub798 \uad6c\uc131 \uc608\uc2dc\uc758 \uacbd\uc6b0 \uc5d0\uc774\uc804\ud2b8\uac00 \uad00\ub9ac VRF\ub97c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc5ec\ubd80\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.
  2. \uad6c\uc131 \uc5d0\uc774\uc804\ud2b8\uc640 \ud154\ub808\uba54\ud2b8\ub9ac \uc5d0\uc774\uc804\ud2b8\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \uba54\ud2b8\ub9ad \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc5d0 \ub3d9\uc77c\ud55c \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8(:8080)\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub458 \ub2e4\uc5d0\uc11c \uba54\ud2b8\ub9ad\uc744 \ud65c\uc131\ud654\ud558\ub294 \uacbd\uc6b0 -metrics-addr \ud50c\ub798\uadf8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac01 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uace0\uc720\ud55c \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8\ub97c \uc124\uc815\ud558\uc138\uc694.
"},{"location":"ko/contribute-operations/#config-agent_1","title":"Config Agent \uba54\ud2b8\ub9ad","text":"

DoubleZero \uc7a5\uce58\uc758 \uad6c\uc131 \uc5d0\uc774\uc804\ud2b8\ub294 doublezero-agent \ub370\ubaac \uad6c\uc131\uc5d0\uc11c -metrics-enable \ud50c\ub798\uadf8\ub97c \uc124\uc815\ud558\uc5ec Prometheus \ud638\ud658 \uba54\ud2b8\ub9ad\uc744 \ub178\ucd9c\ud558\ub294 \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uae30\ubcf8 \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8\ub294 tcp/8080\uc774\uc9c0\ub9cc -metrics-addr\ub97c \ud1b5\ud574 \ud658\uacbd\uc5d0 \ub9de\uac8c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

go \ud2b9\uc815 \ub7f0\ud0c0\uc784 \uba54\ud2b8\ub9ad\uacfc \ud568\uaed8 \ub2e4\uc74c DoubleZero \ud2b9\uc815 \uba54\ud2b8\ub9ad\uc774 \ub178\ucd9c\ub429\ub2c8\ub2e4:

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"ko/contribute-operations/#_6","title":"\uace0\uc2e0\ud638 \uc624\ub958","text":""},{"location":"ko/contribute-operations/#telemetry-agent_1","title":"Telemetry Agent \uba54\ud2b8\ub9ad","text":"

DoubleZero \uc7a5\uce58\uc758 \ud154\ub808\uba54\ud2b8\ub9ac \uc5d0\uc774\uc804\ud2b8\ub294 doublezero-telemetry \ub370\ubaac \uad6c\uc131\uc5d0\uc11c -metrics-enable \ud50c\ub798\uadf8\ub97c \uc124\uc815\ud558\uc5ec Prometheus \ud638\ud658 \uba54\ud2b8\ub9ad\uc744 \ub178\ucd9c\ud558\ub294 \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uae30\ubcf8 \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8\ub294 tcp/8080\uc774\uc9c0\ub9cc -metrics-addr\ub97c \ud1b5\ud574 \ud658\uacbd\uc5d0 \ub9de\uac8c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

go \ud2b9\uc815 \ub7f0\ud0c0\uc784 \uba54\ud2b8\ub9ad\uacfc \ud568\uaed8 \ub2e4\uc74c DoubleZero \ud2b9\uc815 \uba54\ud2b8\ub9ad\uc774 \ub178\ucd9c\ub429\ub2c8\ub2e4:

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"ko/contribute-operations/#_7","title":"\uace0\uc2e0\ud638 \uc624\ub958","text":""},{"location":"ko/contribute-operations/#_8","title":"\ub9c1\ud06c \uad00\ub9ac","text":""},{"location":"ko/contribute-operations/#_9","title":"\ub9c1\ud06c \ub4dc\ub808\uc774\ub2dd","text":"

\ub9c1\ud06c \ub4dc\ub808\uc774\ub2dd\uc744 \ud1b5\ud574 \uae30\uc5ec\uc790\ub294 \uc720\uc9c0\ubcf4\uc218 \ub610\ub294 \ubb38\uc81c \ud574\uacb0\uc744 \uc704\ud574 \ub9c1\ud06c\ub97c \ud65c\uc131 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc815\uc0c1\uc801\uc73c\ub85c \uc81c\uac70\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub450 \uac00\uc9c0 \ub4dc\ub808\uc778 \uc0c1\ud0dc\uac00 \uc788\uc2b5\ub2c8\ub2e4:

\uc0c1\ud0dc IS-IS \ub3d9\uc791 \uc124\uba85 soft-drained \uba54\ud2b8\ub9ad\uc744 1,000,000\uc73c\ub85c \uc124\uc815 \ub9c1\ud06c\uac00 \uc6b0\uc120\uc21c\uc704\uc5d0\uc11c \uc81c\uc678\ub429\ub2c8\ub2e4. \ub300\uccb4 \uacbd\ub85c\uac00 \uc788\uc73c\uba74 \ud2b8\ub798\ud53d\uc774 \ub2e4\ub978 \uacbd\ub85c\ub97c \uc0ac\uc6a9\ud558\uc9c0\ub9cc \uc774 \ub9c1\ud06c\uac00 \uc720\uc77c\ud55c \uc635\uc158\uc778 \uacbd\uc6b0 \uc5ec\uc804\ud788 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. hard-drained \ud328\uc2dc\ube0c\ub85c \uc124\uc815 \ub9c1\ud06c\uac00 \ub77c\uc6b0\ud305\uc5d0\uc11c \uc644\uc804\ud788 \uc81c\uac70\ub429\ub2c8\ub2e4. \uc774 \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc774 \ud1b5\uacfc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},{"location":"ko/contribute-operations/#_10","title":"\uc0c1\ud0dc \uc804\ud658","text":"

\ub2e4\uc74c \uc0c1\ud0dc \uc804\ud658\uc774 \ud5c8\uc6a9\ub429\ub2c8\ub2e4:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (\uba3c\uc800 soft-drained\ub97c \ud1b5\ud574\uc57c \ud568)\n

\u26a0\ufe0f \ucc38\uace0: hard-drained\uc5d0\uc11c activated\ub85c \uc9c1\uc811 \uc774\ub3d9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uba3c\uc800 soft-drained\ub85c \uc804\ud658\ud55c \ub2e4\uc74c activated\ub85c \uc804\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#_11","title":"\ub9c1\ud06c \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778","text":"

\ub9c1\ud06c\ub97c \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778\ud558\uba74 IS-IS \uba54\ud2b8\ub9ad\uc744 1,000,000\uc73c\ub85c \uc124\uc815\ud558\uc5ec \ub9c1\ud06c\uc758 \uc6b0\uc120\uc21c\uc704\ub97c \ub0ae\ucda5\ub2c8\ub2e4. \ud2b8\ub798\ud53d\uc740 \ub300\uccb4 \uacbd\ub85c\ub97c \uc120\ud638\ud558\uc9c0\ub9cc \ud544\uc694\ud55c \uacbd\uc6b0 \uc774 \ub9c1\ud06c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"ko/contribute-operations/#_12","title":"\ub9c1\ud06c \ud558\ub4dc \ub4dc\ub808\uc778","text":"

\ub9c1\ud06c\ub97c \ud558\ub4dc \ub4dc\ub808\uc778\ud558\uba74 IS-IS\ub97c \ud328\uc2dc\ube0c \ubaa8\ub4dc\ub85c \uc124\uc815\ud558\uc5ec \ub77c\uc6b0\ud305\uc5d0\uc11c \ub9c1\ud06c\ub97c \uc644\uc804\ud788 \uc81c\uac70\ud569\ub2c8\ub2e4. \uc774 \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc774 \ud1b5\uacfc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"ko/contribute-operations/#_13","title":"\ub9c1\ud06c\ub97c \ud65c\uc131 \uc0c1\ud0dc\ub85c \ubcf5\uc6d0","text":"

\ub4dc\ub808\uc778\ub41c \ub9c1\ud06c\ub97c \uc815\uc0c1 \uc6b4\uc601\uc73c\ub85c \ub418\ub3cc\ub9ac\ub824\uba74:

# soft-drained\uc5d0\uc11c\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# hard-drained\uc5d0\uc11c (\uba3c\uc800 soft-drained\ub97c \ud1b5\ud574\uc57c \ud568)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"ko/contribute-operations/#_14","title":"\uc9c0\uc5f0 \uc7ac\uc815\uc758","text":"

\uc9c0\uc5f0 \uc7ac\uc815\uc758 \uae30\ub2a5\uc744 \ud1b5\ud574 \uae30\uc5ec\uc790\ub294 \uc2e4\uc81c \uce21\uc815 \uc9c0\uc5f0 \uac12\uc744 \uc218\uc815\ud558\uc9c0 \uc54a\uace0 \ub9c1\ud06c\uc758 \uc720\ud6a8 \uc9c0\uc5f0\uc744 \uc77c\uc2dc\uc801\uc73c\ub85c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ub9c1\ud06c\ub97c \uae30\ubcf8 \uacbd\ub85c\uc5d0\uc11c \ubcf4\uc870 \uacbd\ub85c\ub85c \uc77c\uc2dc\uc801\uc73c\ub85c \uac15\ub4f1\ud558\ub294 \ub370 \uc720\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#_15","title":"\uc9c0\uc5f0 \uc7ac\uc815\uc758 \uc124\uc815","text":"

\ub9c1\ud06c\uc758 \uc9c0\uc5f0\uc744 \uc7ac\uc815\uc758\ud558\ub824\uba74(\ub77c\uc6b0\ud305\uc5d0\uc11c \ub35c \uc120\ud638\ub418\ub3c4\ub85d):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

\uc720\ud6a8\ud55c \uac12\uc740 0.01\uc5d0\uc11c 1000 \ubc00\ub9ac\ucd08\uc785\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#_16","title":"\uc9c0\uc5f0 \uc7ac\uc815\uc758 \ud574\uc81c","text":"

\uc7ac\uc815\uc758\ub97c \uc81c\uac70\ud558\uace0 \uc2e4\uc81c \uce21\uc815 \uc9c0\uc5f0\uc73c\ub85c \ub3cc\uc544\uac00\ub824\uba74:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f \ucc38\uace0: \ub9c1\ud06c\uac00 \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778\ub420 \ub54c delay_ms\uc640 delay_override_ms \ubaa8\ub450 \uc6b0\uc120\uc21c\uc704 \ud574\uc81c\ub97c \ubcf4\uc7a5\ud558\uae30 \uc704\ud574 1000ms(1\ucd08)\ub85c \uc7ac\uc815\uc758\ub429\ub2c8\ub2e4.

"},{"location":"ko/contribute-overview/","title":"\uae30\uc5ec\uc790 \ubb38\uc11c","text":"

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.

\uc6a9\uc5b4

DoubleZero\uac00 \ucc98\uc74c\uc774\uc2e0\uac00\uc694? DZD, DZX, CYOA\uc640 \uac19\uc740 \ud575\uc2ec \uc6a9\uc5b4\uc758 \uc815\uc758\ub294 \uc6a9\uc5b4\uc9d1\uc744 \ucc38\uc870\ud558\uc138\uc694.

DoubleZero \uae30\uc5ec\uc790 \ubb38\uc11c\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4. \uc774 \uc139\uc158\uc5d0\uc11c\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \ub418\uae30 \uc704\ud574 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac83\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \ub418\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694?

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uae30\uc5ec\ud558\ub294 \ub370 \ud544\uc694\ud55c \ud558\ub4dc\uc6e8\uc5b4, \ub300\uc5ed\ud3ed \ubc0f \uc5f0\uacb0\uc131\uc744 \uc774\ud574\ud558\ub824\uba74 \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98 \ud398\uc774\uc9c0\ub97c \uac80\ud1a0\ud558\uc138\uc694.

"},{"location":"ko/contribute-overview/#_2","title":"\uc628\ubcf4\ub529 \uccb4\ud06c\ub9ac\uc2a4\ud2b8","text":"

\uc774 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc9c4\ud589 \uc0c1\ud669\uc744 \ucd94\uc801\ud558\uc138\uc694. \uae30\uc5ec\uac00 \uae30\uc220\uc801\uc73c\ub85c \uc6b4\uc601\ub418\uae30 \uc804\uc5d0 \ubaa8\ub4e0 \ud56d\ubaa9\uc744 \uc644\ub8cc\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-overview/#1","title":"\ub2e8\uacc4 1: \uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute-overview/#2","title":"\ub2e8\uacc4 2: \uacc4\uc815 \uc124\uc815","text":""},{"location":"ko/contribute-overview/#3","title":"\ub2e8\uacc4 3: \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd","text":""},{"location":"ko/contribute-overview/#4","title":"\ub2e8\uacc4 4: \ub9c1\ud06c \uc124\uc815 \ubc0f \uc5d0\uc774\uc804\ud2b8 \uc124\uce58","text":""},{"location":"ko/contribute-overview/#5","title":"\ub2e8\uacc4 5: \ub9c1\ud06c \ubc88\uc778","text":""},{"location":"ko/contribute-overview/#6","title":"\ub2e8\uacc4 6: \uac80\uc99d \ubc0f \ud65c\uc131\ud654","text":""},{"location":"ko/contribute-overview/#_3","title":"\ub3c4\uc6c0 \ubc1b\uae30","text":"

\uc628\ubcf4\ub529\uc758 \uc77c\ud658\uc73c\ub85c DZF\uac00 \uae30\uc5ec\uc790 Slack \ucc44\ub110\uc5d0 \ucd94\uac00\ud574 \ub4dc\ub9bd\ub2c8\ub2e4:

\ucc44\ub110 \ubaa9\uc801 #dz-contributor-announcements DZF \ubc0f Malbec Labs\uc758 \uacf5\uc2dd \ucee4\ubba4\ub2c8\ucf00\uc774\uc158 \u2014 CLI/\uc5d0\uc774\uc804\ud2b8 \uc5c5\ub370\uc774\ud2b8, \uc8fc\uc694 \ubcc0\uacbd \uc0ac\ud56d, \ubcf4\uc548 \uacf5\uc9c0. \uc911\uc694 \uc5c5\ub370\uc774\ud2b8 \ubaa8\ub2c8\ud130\ub9c1. \uc2a4\ub808\ub4dc\uc5d0\uc11c \uc9c8\ubb38 \uac00\ub2a5. #dz-contributor-incidents \uc11c\ube44\uc2a4\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\ub294 \uacc4\ud68d\ub418\uc9c0 \uc54a\uc740 \uc774\ubca4\ud2b8. \uc778\uc2dc\ub358\ud2b8\ub294 \uc2ec\uac01\ub3c4 \ubc0f \uc601\ud5a5\ubc1b\ub294 \uc7a5\uce58/\ub9c1\ud06c\uc640 \ud568\uaed8 API/\uc6f9 \uc591\uc2dd\uc744 \ud1b5\ud574 \uc790\ub3d9\uc73c\ub85c \uac8c\uc2dc\ub429\ub2c8\ub2e4. \uc2a4\ub808\ub4dc\uc5d0\uc11c \ud1a0\ub860 \ubc0f \ubb38\uc81c \ud574\uacb0. #dz-contributor-maintenance \uacc4\ud68d\ub41c \uc720\uc9c0\ubcf4\uc218 \ud65c\ub3d9 (\uc5c5\uadf8\ub808\uc774\ub4dc, \uc218\ub9ac). API/\uc6f9 \uc591\uc2dd\uc744 \ud1b5\ud574 \uc608\uc0c1 \uc2dc\uc791/\uc885\ub8cc \uc2dc\uac04\uacfc \ud568\uaed8 \uc608\uc57d\ub429\ub2c8\ub2e4. \uc2a4\ub808\ub4dc\uc5d0\uc11c \ud1a0\ub860. #dz-contributor-ops \ubaa8\ub4e0 \uae30\uc5ec\uc790\ub97c \uc704\ud55c \uacf5\uac1c \ud1a0\ub860 \u2014 \uc6b4\uc601 \uc9c8\ubb38, CLI \ub3c4\uc6c0, \ub7f0\ubd81 \ubc0f \ud50c\ub808\uc774\ubd81 \uacf5\uc720.

\uadc0\ud558\uc758 \uc870\uc9c1\uc744 \uc704\ud55c \uc9c1\uc811 \uc9c0\uc6d0\uc744 \uc704\ud55c DZ/Malbec Labs \uc804\uc6a9 \ucc44\ub110\ub3c4 \ubc1b\uac8c \ub429\ub2c8\ub2e4.

"},{"location":"ko/contribute-overview/#dz","title":"DZ \ud504\ub9ac\ud53d\uc2a4 \uaddc\uce59","text":"

\uc911\uc694: DZ \ud504\ub9ac\ud53d\uc2a4 \ud480 \uc0ac\uc6a9

\uc81c\uacf5\ud558\ub294 DZ \ud504\ub9ac\ud53d\uc2a4 \ud480\uc740 IP \ud560\ub2f9\uc744 \uc704\ud574 DoubleZero \ud504\ub85c\ud1a0\ucf5c\uc774 \uad00\ub9ac\ud569\ub2c8\ub2e4.

DZ \ud504\ub9ac\ud53d\uc2a4\uac00 \uc0ac\uc6a9\ub418\ub294 \ubc29\uc2dd:

\ub2e4\uc74c \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4:

\uc694\uad6c\uc0ac\ud56d:

\uc790\uc2e0\uc758 \uc7a5\ube44(DIA \uc778\ud130\ud398\uc774\uc2a4 IP, \uad00\ub9ac \ub4f1)\ub97c \uc704\ud55c \uc8fc\uc18c\uac00 \ud544\uc694\ud55c \uacbd\uc6b0 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.

"},{"location":"ko/contribute-overview/#_4","title":"\ube60\ub978 \ucc38\uc870: \ud575\uc2ec \uc6a9\uc5b4","text":"

DoubleZero\uac00 \ucc98\uc74c\uc774\uc2e0\uac00\uc694? \ud544\uc218 \uc6a9\uc5b4\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4(\uc804\uccb4 \uc6a9\uc5b4\uc9d1 \ucc38\uc870):

\uc6a9\uc5b4 \uc815\uc758 DZD DoubleZero Device \u2014 DZ \uc5d0\uc774\uc804\ud2b8\ub97c \uc2e4\ud589\ud558\ub294 \ubb3c\ub9ac\uc801 Arista \uc2a4\uc704\uce58 DZX DoubleZero Exchange \u2014 \uae30\uc5ec\uc790\ub4e4\uc774 \uc11c\ub85c \uc5f0\uacb0\ud558\ub294 \ub3c4\uc2dc \uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810 CYOA Choose Your Own Adventure \u2014 \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \ubc29\ubc95 (GREOverDIA, GREOverFabric \ub4f1) DIA Direct Internet Access \u2014 \ubaa8\ub4e0 DZD\uac00 \ucee8\ud2b8\ub864\ub7ec \ubc0f \ud154\ub808\uba54\ud2b8\ub9ac\ub97c \uc704\ud574 \ud544\uc694\ud55c \uc778\ud130\ub137 \uc5f0\uacb0, \uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58\uc758 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \uc704\ud55c CYOA \uc720\ud615\uc73c\ub85c\ub3c4 \uc77c\ubc18\uc801\uc73c\ub85c \uc0ac\uc6a9 WAN \ub9c1\ud06c \uc790\uc2e0\uc758 DZD \uac04 \ub9c1\ud06c (\ub3d9\uc77c \uae30\uc5ec\uc790) DZX \ub9c1\ud06c \ub2e4\ub978 \uae30\uc5ec\uc790\uc758 DZD\uc5d0 \ub300\ud55c \ub9c1\ud06c (\uc0c1\ud638 \uc218\ub77d \ud544\uc694) Config Agent \ucee8\ud2b8\ub864\ub7ec\uc5d0 \ucffc\ub9ac\ud558\uace0 DZD\uc5d0 \uad6c\uc131 \uc801\uc6a9 Telemetry Agent TWAMP \ub300\uae30 \uc2dc\uac04/\uc190\uc2e4 \uba54\ud2b8\ub9ad\uc2a4 \uc218\uc9d1, \uc628\uccb4\uc778 \ub808\uc800\uc5d0 \uc81c\ucd9c \uc11c\ube44\uc2a4 \ud0a4 CLI \uc791\uc5c5\uc744 \uc704\ud55c \uae30\uc5ec\uc790 ID \ud0a4 \uba54\ud2b8\ub9ad\uc2a4 \ubc1c\ud589\uc790 \ud0a4 \uc628\uccb4\uc778 \ud154\ub808\uba54\ud2b8\ub9ac \uc81c\ucd9c \uc11c\uba85\uc744 \uc704\ud55c \ud0a4"},{"location":"ko/contribute-overview/#_5","title":"\ubb38\uc11c \uad6c\uc870","text":"\uac00\uc774\ub4dc \uc124\uba85 \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98 \ud558\ub4dc\uc6e8\uc5b4 \uc0ac\uc591, \ub124\ud2b8\uc6cc\ud06c \uc544\ud0a4\ud14d\ucc98, \ub300\uc5ed\ud3ed \uc635\uc158 \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd \ub2e8\uacc4\ubcc4: \ud0a4 \u2192 \uc800\uc7a5\uc18c \uc811\uadfc \u2192 \uc7a5\uce58 \u2192 \ub9c1\ud06c \u2192 \uc5d0\uc774\uc804\ud2b8 \uc6b4\uc601 \uc5d0\uc774\uc804\ud2b8 \uc5c5\ub370\uc774\ud2b8, \ub9c1\ud06c \uad00\ub9ac, \ubaa8\ub2c8\ud130\ub9c1 \uc6a9\uc5b4\uc9d1 \ubaa8\ub4e0 DoubleZero \uc6a9\uc5b4 \uc815\uc758"},{"location":"ko/contribute-overview/#_6","title":"\ube44\ub124\ud2b8\uc6cc\ud06c \uc5d4\uc9c0\ub2c8\uc5b4\ub97c \uc704\ud55c \ub124\ud2b8\uc6cc\ud0b9 \uac1c\ub150","text":"

\ub124\ud2b8\uc6cc\ud06c \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \uacbd\ud5d8\uc774 \uc5c6\uc73c\uc2dc\ub2e4\uba74 \uc774 \ubb38\uc11c\uc5d0 \uc0ac\uc6a9\ub41c \uac1c\ub150\uc5d0 \ub300\ud55c \uc18c\uac1c\uac00 \uc788\uc2b5\ub2c8\ub2e4:

"},{"location":"ko/contribute-overview/#ip","title":"IP \uc8fc\uc18c \uc9c0\uc815","text":""},{"location":"ko/contribute-overview/#_7","title":"\ub124\ud2b8\uc6cc\ud06c \uacc4\uce35","text":""},{"location":"ko/contribute-overview/#_8","title":"\uc77c\ubc18 \uc6a9\uc5b4","text":""},{"location":"ko/contribute-overview/#doublezero","title":"DoubleZero \uc804\uc6a9","text":"

\uc900\ube44\uac00 \ub418\uc168\ub098\uc694? \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98\ubd80\ud130 \uc2dc\uc791\ud558\uc138\uc694.

"},{"location":"ko/contribute-provisioning/","title":"\uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd \uac00\uc774\ub4dc","text":"

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.

\uc774 \uac00\uc774\ub4dc\ub294 \ucc98\uc74c\ubd80\ud130 \ub05d\uae4c\uc9c0 DoubleZero \uc7a5\uce58(DZD) \ud504\ub85c\ube44\uc800\ub2dd\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4. \uac01 \ub2e8\uacc4\ub294 \uc628\ubcf4\ub529 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_2","title":"\uc804\uccb4 \uad6c\uc131 \uc774\ud574","text":"

\ub2e8\uacc4\ub97c \uc2dc\uc791\ud558\uae30 \uc804\uc5d0 \uad6c\ucd95\ud558\ub294 \uac83\uc758 \ud070 \uadf8\ub9bc\uc744 \uc0b4\ud3b4\ubd05\ub2c8\ub2e4:

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero \ub808\uc800]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[\uad00\ub9ac \uc11c\ubc84<br/>DoubleZero CLI]\n        DZD[\uadc0\ud558\uc758 DZD<br/>Arista \uc2a4\uc704\uce58]\n        DZD ---|WAN \ub9c1\ud06c| DZD2[\uadc0\ud558\uc758 \ub2e4\ub978 DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[\uc0c1\ub300\ubc29 DZD]\n    end\n\n    subgraph Users\n        VAL[\uac80\uc99d\uc790]\n        RPC[RPC \ub178\ub4dc]\n    end\n\n    MGMT -.->|\uc7a5\uce58,<br/>\ub9c1\ud06c, \uc778\ud130\ud398\uc774\uc2a4 \ub4f1\ub85d| SC\n    DZD ---|DZX \ub9c1\ud06c| OtherDZD\n    VAL ---|\uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc5f0\uacb0| DZD\n    RPC ---|\uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc5f0\uacb0| DZD
"},{"location":"ko/contribute-provisioning/#1","title":"1\ub2e8\uacc4: \uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

\uc7a5\uce58\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud558\uae30 \uc804\uc5d0 \ubb3c\ub9ac\uc801 \ud558\ub4dc\uc6e8\uc5b4 \uc124\uc815\uacfc \uc77c\ubd80 IP \uc8fc\uc18c \ud560\ub2f9\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_3","title":"\ud544\uc694\ud55c \uc0ac\ud56d","text":"\uc694\uad6c\uc0ac\ud56d \ud544\uc694\ud55c \uc774\uc720 DZD \ud558\ub4dc\uc6e8\uc5b4 Arista 7280CR3A \uc2a4\uc704\uce58 (\ud558\ub4dc\uc6e8\uc5b4 \uc0ac\uc591 \ucc38\uc870) \ub799 \uacf5\uac04 \uc801\uc808\ud55c \uacf5\uae30 \ud750\ub984\uc744 \uac16\ucd98 4U \uc804\uc6d0 \uc774\uc911 \ud53c\ub4dc, ~4KW \uad8c\uc7a5 \uad00\ub9ac \uc561\uc138\uc2a4 \uc2a4\uc704\uce58 \uad6c\uc131\uc744 \uc704\ud55c SSH/\ucf58\uc194 \uc561\uc138\uc2a4 \uc778\ud130\ub137 \uc5f0\uacb0 \uba54\ud2b8\ub9ad \ubc1c\ud589 \ubc0f \ucee8\ud2b8\ub864\ub7ec\uc5d0\uc11c \uad6c\uc131 \uac00\uc838\uc624\uae30 \uacf5\uac1c IPv4 \ube14\ub85d DZ \ud504\ub9ac\ud53d\uc2a4 \ud480\uc744 \uc704\ud55c \ucd5c\uc18c /29 (\uc544\ub798 \ucc38\uc870)"},{"location":"ko/contribute-provisioning/#doublezero-cli","title":"DoubleZero CLI \uc124\uce58","text":"

DoubleZero CLI(doublezero)\ub294 \ud504\ub85c\ube44\uc800\ub2dd \uc804\ubc18\uc5d0 \uac78\uccd0 \uc7a5\uce58 \ub4f1\ub85d, \ub9c1\ud06c \uc0dd\uc131 \ubc0f \uae30\uc5ec \uad00\ub9ac\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. DZD \uc2a4\uc704\uce58\uac00 \uc544\ub2cc \uad00\ub9ac \uc11c\ubc84 \ub610\ub294 VM\uc5d0 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2a4\uc704\uce58\ub294 Config Agent\uc640 Telemetry Agent(4\ub2e8\uacc4\uc5d0\uc11c \uc124\uce58\ub428)\ub9cc \uc2e4\ud589\ud569\ub2c8\ub2e4.

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\ub370\ubaac\uc774 \uc2e4\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

sudo systemctl status doublezerod\n

"},{"location":"ko/contribute-provisioning/#dz","title":"DZ \ud504\ub9ac\ud53d\uc2a4 \uc774\ud574","text":"

DZ \ud504\ub9ac\ud53d\uc2a4\ub294 DoubleZero \ud504\ub85c\ud1a0\ucf5c\uc774 IP \ud560\ub2f9\uc744 \uc704\ud574 \uad00\ub9ac\ud558\ub294 \uacf5\uac1c IP \uc8fc\uc18c \ube14\ub85d\uc785\ub2c8\ub2e4.

flowchart LR\n    subgraph \"\uadc0\ud558\uc758 /29 \ube14\ub85d (8\uac1c IP)\"\n        IP1[\"\uccab \ubc88\uc9f8 IP<br/>\uc7a5\uce58\uc6a9<br/>\uc608\uc57d\ub428\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|\ud560\ub2f9\ub428| LO[\uadc0\ud558\uc758 DZD\uc758<br/>Loopback100]\n    IP2 -->|\ud560\ub2f9\ub428| U1[\uc0ac\uc6a9\uc790 1]\n    IP3 -->|\ud560\ub2f9\ub428| U2[\uc0ac\uc6a9\uc790 2]

DZ \ud504\ub9ac\ud53d\uc2a4 \uc0ac\uc6a9 \ubc29\ubc95:

DZ \ud504\ub9ac\ud53d\uc2a4 \uaddc\uce59

\ub2e4\uc74c \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4:

\uc694\uad6c\uc0ac\ud56d:

\uc790\uc2e0\uc758 \uc7a5\ube44(DIA \uc778\ud130\ud398\uc774\uc2a4 IP, \uad00\ub9ac \ub4f1)\ub97c \uc704\ud55c \uc8fc\uc18c\uac00 \ud544\uc694\ud55c \uacbd\uc6b0 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.

"},{"location":"ko/contribute-provisioning/#2","title":"2\ub2e8\uacc4: \uacc4\uc815 \uc124\uc815","text":"

\uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uadc0\ud558\uc640 \uc7a5\uce58\ub97c \uc2dd\ubcc4\ud558\ub294 \uc554\ud638\ud654 \ud0a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#cli","title":"CLI \uc2e4\ud589 \uc704\uce58","text":"

\uc2a4\uc704\uce58\uc5d0 CLI\ub97c \uc124\uce58\ud558\uc9c0 \ub9c8\uc138\uc694

DoubleZero CLI(doublezero)\ub294 Arista \uc2a4\uc704\uce58\uac00 \uc544\ub2cc \uad00\ub9ac \uc11c\ubc84 \ub610\ub294 VM\uc5d0 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4.

flowchart LR\n    subgraph \"\uad00\ub9ac \uc11c\ubc84/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[\uadc0\ud558\uc758 \ud0a4\uc30d]\n    end\n\n    subgraph \"\uadc0\ud558\uc758 DZD \uc2a4\uc704\uce58\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|\uc7a5\uce58, \ub9c1\ud06c \uc0dd\uc131| BC[\ube14\ub85d\uccb4\uc778]\n    CA -->|\uad6c\uc131 \uac00\uc838\uc624\uae30| CTRL[\ucee8\ud2b8\ub864\ub7ec]\n    TA -->|\uba54\ud2b8\ub9ad \uc81c\ucd9c| BC
\uad00\ub9ac \uc11c\ubc84\uc5d0 \uc124\uce58 \uc2a4\uc704\uce58\uc5d0 \uc124\uce58 doublezero CLI Config Agent \uc11c\ube44\uc2a4 \ud0a4\uc30d Telemetry Agent \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4\uc30d \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4\uc30d (\ubcf5\uc0ac)"},{"location":"ko/contribute-provisioning/#_4","title":"\ud0a4\ub780 \ubb34\uc5c7\uc778\uac00?","text":"

\ud0a4\ub97c \uc548\uc804\ud55c \ub85c\uadf8\uc778 \uc790\uaca9 \uc99d\uba85\uc73c\ub85c \uc0dd\uac01\ud558\uc138\uc694:

\ub458 \ub2e4 \uc554\ud638\ud654 \ud0a4\uc30d\uc785\ub2c8\ub2e4(\uacf5\uc720\ud558\ub294 \uacf5\uac1c \ud0a4\uc640 \ube44\ubc00\ub85c \uc720\uc9c0\ud558\ub294 \uac1c\uc778 \ud0a4).

flowchart LR\n    subgraph \"\uadc0\ud558\uc758 \ud0a4\"\n        SK[\uc11c\ube44\uc2a4 \ud0a4<br/>~/.config/solana/id.json]\n        MK[\uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|\uc0ac\uc6a9\ub428| CLI[CLI \uba85\ub839<br/>doublezero device create<br/>doublezero link create]\n    MK -->|\uc0ac\uc6a9\ub428| TEL[Telemetry Agent<br/>\uc628\uccb4\uc778 \uba54\ud2b8\ub9ad \uc81c\ucd9c]
"},{"location":"ko/contribute-provisioning/#21","title":"2.1\ub2e8\uacc4: \uc11c\ube44\uc2a4 \ud0a4 \uc0dd\uc131","text":"

\uc774\uac83\uc774 DoubleZero\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\uae30 \uc704\ud55c \uc8fc\uc694 \uc2e0\uc6d0\uc785\ub2c8\ub2e4.

doublezero keygen\n

\uc774\ub294 \uae30\ubcf8 \uc704\uce58\uc5d0 \ud0a4\uc30d\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \ucd9c\ub825\uc740 \uacf5\uac1c \ud0a4\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4 \u2014 \uc774\uac83\uc774 DZF\uc640 \uacf5\uc720\ud560 \uac83\uc785\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#22","title":"2.2\ub2e8\uacc4: \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4 \uc0dd\uc131","text":"

\uc774 \ud0a4\ub294 Telemetry Agent\uac00 \uba54\ud2b8\ub9ad \uc81c\ucd9c\uc5d0 \uc11c\uba85\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"ko/contribute-provisioning/#23-dzf","title":"2.3\ub2e8\uacc4: DZF\uc5d0 \ud0a4 \uc81c\ucd9c","text":"

DoubleZero Foundation \ub610\ub294 Malbec Labs\uc5d0 \uc5f0\ub77d\ud558\uc5ec \ub2e4\uc74c\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4:

  1. \uc11c\ube44\uc2a4 \ud0a4 \uacf5\uac1c \ud0a4
  2. GitHub \uc0ac\uc6a9\uc790 \uc774\ub984 (\uc800\uc7a5\uc18c \uc561\uc138\uc2a4\uc6a9)

\uadf8\ub4e4\uc740:

"},{"location":"ko/contribute-provisioning/#24","title":"2.4\ub2e8\uacc4: \uacc4\uc815 \ud655\uc778","text":"

\ud655\uc778\uc774 \uc644\ub8cc\ub418\uba74 \uae30\uc5ec\uc790 \uacc4\uc815\uc774 \uc874\uc7ac\ud558\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero contributor list\n

\ubaa9\ub85d\uc5d0 \uae30\uc5ec\uc790 \ucf54\ub4dc\uac00 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#25","title":"2.5\ub2e8\uacc4: \uae30\uc5ec\uc790 \uc800\uc7a5\uc18c \uc561\uc138\uc2a4","text":"

malbeclabs/contributors \uc800\uc7a5\uc18c\uc5d0\ub294 \ub2e4\uc74c\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4:

\uc7a5\uce58\ubcc4 \uad6c\uc131\uc744 \uc704\ud574 \ud574\ub2f9 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

"},{"location":"ko/contribute-provisioning/#3","title":"3\ub2e8\uacc4: \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd","text":"

\uc774\uc81c \ube14\ub85d\uccb4\uc778\uc5d0 \ubb3c\ub9ac\uc801 \uc7a5\uce58\ub97c \ub4f1\ub85d\ud558\uace0 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_5","title":"\uc7a5\uce58 \uc720\ud615 \uc774\ud574","text":"
flowchart TB\n    subgraph \"\uc5e3\uc9c0 \uc7a5\uce58\"\n        E[\uc5e3\uc9c0 DZD]\n        EU[\uc0ac\uc6a9\uc790\uac00 \uc5ec\uae30\uc5d0 \uc5f0\uacb0]\n        EU --> E\n        E <-->|DZX \ub9c1\ud06c| ED[\ub2e4\ub978 DZD]\n    end\n\n    subgraph \"\ud2b8\ub79c\uc9d3 \uc7a5\uce58\"\n        T[\ud2b8\ub79c\uc9d3 DZD]\n        T <-->|WAN \ub9c1\ud06c| T2[\ub2e4\ub978 DZD]\n        T <-->|DZX \ub9c1\ud06c| TD[\ub2e4\ub978 DZD]\n    end\n\n    subgraph \"\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58\"\n        H[\ud558\uc774\ube0c\ub9ac\ub4dc DZD]\n        HU[\uc0ac\uc6a9\uc790\uac00 \uc5ec\uae30\uc5d0 \uc5f0\uacb0]\n        HU --> H\n        H <-->|WAN \ub9c1\ud06c| H2[\ub2e4\ub978 DZD]\n        H <-->|DZX \ub9c1\ud06c| HD[\ub2e4\ub978 DZD]\n    end
\uc720\ud615 \uae30\ub2a5 \uc0ac\uc6a9 \uc2dc\uae30 \uc5e3\uc9c0 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\ub9cc \ud5c8\uc6a9 \ub2e8\uc77c \uc704\uce58, \uc0ac\uc6a9\uc790 \ub300\uba74\ub9cc \ud2b8\ub79c\uc9d3 \uc7a5\uce58 \uac04 \ud2b8\ub798\ud53d \uc774\ub3d9 \ubc31\ubcf8 \uc5f0\uacb0, \uc0ac\uc6a9\uc790 \uc5c6\uc74c \ud558\uc774\ube0c\ub9ac\ub4dc \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \ubc0f \ubc31\ubcf8 \ubaa8\ub450 \uac00\uc7a5 \uc77c\ubc18\uc801 - \ubaa8\ub4e0 \uac83 \uc218\ud589"},{"location":"ko/contribute-provisioning/#31-exchange","title":"3.1\ub2e8\uacc4: \uc704\uce58 \ubc0f Exchange \ucc3e\uae30","text":"

\uc7a5\uce58\ub97c \uc0dd\uc131\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130 \uc13c\ud130 \uc704\uce58\uc640 \uac00\uc7a5 \uac00\uae4c\uc6b4 exchange\uc758 \ucf54\ub4dc\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4:

# \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc704\uce58(\ub370\uc774\ud130 \uc13c\ud130) \ubaa9\ub85d\ndoublezero location list\n\n# \uc0ac\uc6a9 \uac00\ub2a5\ud55c exchange(\uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810) \ubaa9\ub85d\ndoublezero exchange list\n
"},{"location":"ko/contribute-provisioning/#32","title":"3.2\ub2e8\uacc4: \uc628\uccb4\uc778\uc5d0\uc11c \uc7a5\uce58 \uc0dd\uc131","text":"

\ube14\ub85d\uccb4\uc778\uc5d0 \uc7a5\uce58\ub97c \ub4f1\ub85d\ud569\ub2c8\ub2e4:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

\uc608\uc2dc:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 4vKz8H...truncated...7xPq2\n

\uc7a5\uce58\uac00 \uc0dd\uc131\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero device list | grep nyc-dz001\n

\ud30c\ub77c\ubbf8\ud130 \uc124\uba85:

\ud30c\ub77c\ubbf8\ud130 \uc758\ubbf8 --code \uc7a5\uce58\uc758 \uace0\uc720 \uc774\ub984 (\uc608: nyc-dz001) --contributor \uae30\uc5ec\uc790 \ucf54\ub4dc (DZF\uac00 \uc81c\uacf5) --device-type hybrid, transit \ub610\ub294 edge --location location list\uc758 \ub370\uc774\ud130 \uc13c\ud130 \ucf54\ub4dc --exchange exchange list\uc758 \uac00\uc7a5 \uac00\uae4c\uc6b4 exchange \ucf54\ub4dc --public-ip \uc0ac\uc6a9\uc790\uac00 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ud558\ub294 \uacf5\uac1c IP --dz-prefixes \uc0ac\uc6a9\uc790\ub97c \uc704\ud574 \ud560\ub2f9\ub41c IP \ube14\ub85d"},{"location":"ko/contribute-provisioning/#33","title":"3.3\ub2e8\uacc4: \ud544\uc694\ud55c \ub8e8\ud504\ubc31 \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131","text":"

\ubaa8\ub4e0 \uc7a5\uce58\uc5d0\ub294 \ub0b4\ubd80 \ub77c\uc6b0\ud305\uc744 \uc704\ud574 \ub450 \uac1c\uc758 \ub8e8\ud504\ubc31 \uc778\ud130\ud398\uc774\uc2a4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4:

# VPNv4 \ub8e8\ud504\ubc31\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4 \ub8e8\ud504\ubc31\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

\uc608\uc0c1 \ucd9c\ub825 (\uac01 \uba85\ub839):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"ko/contribute-provisioning/#34","title":"3.4\ub2e8\uacc4: \ubb3c\ub9ac\uc801 \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131","text":"

\uc0ac\uc6a9\ud560 \ubb3c\ub9ac\uc801 \ud3ec\ud2b8\ub97c \ub4f1\ub85d\ud569\ub2c8\ub2e4:

# \uae30\ubcf8 \uc778\ud130\ud398\uc774\uc2a4\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"ko/contribute-provisioning/#35-cyoa","title":"3.5\ub2e8\uacc4: CYOA \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131 (\uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58\uc758 \uacbd\uc6b0)","text":"

\uc7a5\uce58\uac00 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud558\ub294 \uacbd\uc6b0 CYOA(Choose Your Own Adventure) \uc778\ud130\ud398\uc774\uc2a4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc774\ub294 \uc0ac\uc6a9\uc790\uac00 \uadc0\ud558\uc5d0\uac8c \uc5f0\uacb0\ud558\ub294 \ubc29\ubc95\uc744 \uc2dc\uc2a4\ud15c\uc5d0 \uc54c\ub9bd\ub2c8\ub2e4.

CYOA \uc720\ud615 \uc124\uba85:

\uc720\ud615 \uc26c\uc6b4 \uc124\uba85 \uc0ac\uc6a9 \uc2dc\uae30 gre-over-dia \uc0ac\uc6a9\uc790\uac00 \uc77c\ubc18 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc5f0\uacb0 \uac00\uc7a5 \uc77c\ubc18\uc801 - \uc0ac\uc6a9\uc790\uac00 DIA\ub97c \ud1b5\ud574 DZD\uc5d0 \uc5f0\uacb0 gre-over-private-peering \uc0ac\uc6a9\uc790\uac00 \uc804\uc6a9 \ub9c1\ud06c\ub97c \ud1b5\ud574 \uc5f0\uacb0 \uc0ac\uc6a9\uc790\uac00 \uadc0\ud558\uc758 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc9c1\uc811 \uc5f0\uacb0 gre-over-public-peering \uc0ac\uc6a9\uc790\uac00 IX\ub97c \ud1b5\ud574 \uc5f0\uacb0 \uc0ac\uc6a9\uc790\uac00 \uc778\ud130\ub137 exchange\uc5d0\uc11c \uadc0\ud558\uc640 \ud53c\uc5b4\ub9c1 gre-over-fabric \uc0ac\uc6a9\uc790\uac00 \ub3d9\uc77c\ud55c \ub85c\uceec \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\uc74c \uc0ac\uc6a9\uc790\uac00 \ub3d9\uc77c\ud55c \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \uc788\uc74c gre-over-cable \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c \uc9c1\uc811 \ucf00\uc774\ube14 \ub2e8\uc77c \uc804\uc6a9 \uc0ac\uc6a9\uc790

\uc608\uc2dc - \ud45c\uc900 \uc778\ud130\ub137 \uc0ac\uc6a9\uc790:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 2wLp8N...truncated...5vHt3\n

\ud30c\ub77c\ubbf8\ud130 \uc124\uba85:

\ud30c\ub77c\ubbf8\ud130 \uc758\ubbf8 --interface-cyoa \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \ubc29\ubc95 (\uc704 \ud45c \ucc38\uc870) --interface-dia \uc774\uac83\uc774 \uc778\ud130\ub137 \ub300\uba74 \ud3ec\ud2b8\uc778 \uacbd\uc6b0 dia --bandwidth Mbps \ub2e8\uc704 \ud3ec\ud2b8 \uc18d\ub3c4 (10000 = 10Gbps) --cir Mbps \ub2e8\uc704 \ud655\uc57d \uc694\uae08 (\ubcf4\uc7a5\ub41c \ub300\uc5ed\ud3ed) --user-tunnel-endpoint \uc774 \ud3ec\ud2b8\uac00 \uc0ac\uc6a9\uc790 \ud130\ub110\uc744 \ud5c8\uc6a9\ud568"},{"location":"ko/contribute-provisioning/#36","title":"3.6\ub2e8\uacc4: \uc7a5\uce58 \ud655\uc778","text":"
doublezero device list\n

\uc608\uc2dc \ucd9c\ub825:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

\uc7a5\uce58\uac00 activated \uc0c1\ud0dc\ub85c \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#4","title":"4\ub2e8\uacc4: \ub9c1\ud06c \uc124\uc815 \ubc0f \uc5d0\uc774\uc804\ud2b8 \uc124\uce58","text":"

\ub9c1\ud06c\ub294 \uc7a5\uce58\ub97c \ub098\uba38\uc9c0 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_6","title":"\ub9c1\ud06c \uc774\ud574","text":"
flowchart LR\n    subgraph \"\uadc0\ud558\uc758 \ub124\ud2b8\uc6cc\ud06c\"\n        D1[\uadc0\ud558\uc758 DZD 1<br/>NYC]\n        D2[\uadc0\ud558\uc758 DZD 2<br/>LAX]\n    end\n\n    subgraph \"\ub2e4\ub978 \uae30\uc5ec\uc790\"\n        O1[\uc0c1\ub300\ubc29 DZD<br/>NYC]\n    end\n\n    D1 ---|WAN \ub9c1\ud06c<br/>\ub3d9\uc77c \uae30\uc5ec\uc790| D2\n    D1 ---|DZX \ub9c1\ud06c<br/>\ub2e4\ub978 \uae30\uc5ec\uc790| O1
\ub9c1\ud06c \uc720\ud615 \uc5f0\uacb0 \uc218\ub77d WAN \ub9c1\ud06c \uadc0\ud558\uc758 \ub450 \uc7a5\uce58 \uc790\ub3d9 (\ub458 \ub2e4 \uc18c\uc720) DZX \ub9c1\ud06c \uadc0\ud558\uc758 \uc7a5\uce58 \ub300 \ub2e4\ub978 \uae30\uc5ec\uc790 \uc0c1\ub300\ubc29 \uc218\ub77d \ud544\uc694"},{"location":"ko/contribute-provisioning/#41-wan","title":"4.1\ub2e8\uacc4: WAN \ub9c1\ud06c \uc0dd\uc131 (\uc5ec\ub7ec \uc7a5\uce58\uac00 \uc788\ub294 \uacbd\uc6b0)","text":"

WAN \ub9c1\ud06c\ub294 \uadc0\ud558\uc758 \uc790\uccb4 \uc7a5\uce58\ub97c \uc5f0\uacb0\ud569\ub2c8\ub2e4:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

\uc608\uc2dc:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"ko/contribute-provisioning/#42-dzx","title":"4.2\ub2e8\uacc4: DZX \ub9c1\ud06c \uc0dd\uc131","text":"

DZX \ub9c1\ud06c\ub294 \uc7a5\uce58\ub97c \ub2e4\ub978 \uae30\uc5ec\uc790\uc758 DZD\uc5d0 \uc9c1\uc811 \uc5f0\uacb0\ud569\ub2c8\ub2e4:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 8mKp3W...truncated...2nRx7\n

DZX \ub9c1\ud06c\ub97c \uc0dd\uc131\ud55c \ud6c4 \ub2e4\ub978 \uae30\uc5ec\uc790\uac00 \uc774\ub97c \uc218\ub77d\ud574\uc57c \ud569\ub2c8\ub2e4:

# \ub2e4\ub978 \uae30\uc5ec\uc790\uac00 \uc774\uac83\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

\uc608\uc0c1 \ucd9c\ub825 (\uc218\ub77d\ud558\ub294 \uae30\uc5ec\uc790):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"ko/contribute-provisioning/#43","title":"4.3\ub2e8\uacc4: \ub9c1\ud06c \ud655\uc778","text":"
doublezero link list\n

\uc608\uc2dc \ucd9c\ub825:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

\uc591\ucabd\uc774 \uad6c\uc131\ub418\uba74 \ub9c1\ud06c\ub294 activated \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_7","title":"\uc5d0\uc774\uc804\ud2b8 \uc124\uce58","text":"

\ub450 \uac1c\uc758 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d0\uc774\uc804\ud2b8\uac00 DZD\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4:

flowchart TB\n    subgraph \"\uadc0\ud558\uc758 DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[\uc2a4\uc704\uce58 \ud558\ub4dc\uc6e8\uc5b4/\uc18c\ud504\ud2b8\uc6e8\uc5b4]\n    end\n\n    CA -->|\uad6c\uc131 \ud3f4\ub9c1| CTRL[\ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4]\n    CA -->|\uad6c\uc131 \uc801\uc6a9| HW\n\n    HW -->|\uba54\ud2b8\ub9ad| TA\n    TA -->|\uc628\uccb4\uc778 \uc81c\ucd9c| BC[DoubleZero \ub808\uc800]
\uc5d0\uc774\uc804\ud2b8 \uae30\ub2a5 Config Agent \ucee8\ud2b8\ub864\ub7ec\uc5d0\uc11c \uad6c\uc131\uc744 \uac00\uc838\uc640 \uc2a4\uc704\uce58\uc5d0 \uc801\uc6a9 Telemetry Agent \ub2e4\ub978 \uc7a5\uce58\uc5d0 \ub300\ud55c \ub300\uae30 \uc2dc\uac04/\uc190\uc2e4 \uce21\uc815, \uc628\uccb4\uc778\uc73c\ub85c \uba54\ud2b8\ub9ad \ubcf4\uace0"},{"location":"ko/contribute-provisioning/#44-config-agent","title":"4.4\ub2e8\uacc4: Config Agent \uc124\uce58","text":""},{"location":"ko/contribute-provisioning/#api","title":"\uc2a4\uc704\uce58\uc5d0\uc11c API \ud65c\uc131\ud654","text":"

EOS \uad6c\uc131\uc5d0 \ucd94\uac00:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF \ucc38\uace0

\uad00\ub9ac VRF \uc774\ub984\uc774 \ub2e4\ub978 \uacbd\uc6b0(\uc608: management) default\ub97c \ud574\ub2f9 \uc774\ub984\uc73c\ub85c \uad50\uccb4\ud558\uc138\uc694.

"},{"location":"ko/contribute-provisioning/#_8","title":"\uc5d0\uc774\uc804\ud2b8 \ub2e4\uc6b4\ub85c\ub4dc \ubc0f \uc124\uce58","text":"
# \uc2a4\uc704\uce58\uc5d0\uc11c bash \uc785\ub825\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS \ud655\uc7a5\uc73c\ub85c \uc124\uce58\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-provisioning/#_9","title":"\ud655\uc7a5 \ud655\uc778","text":"
switch# show extensions\n

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4:

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ko/contribute-provisioning/#_10","title":"\uc5d0\uc774\uc804\ud2b8 \uad6c\uc131 \ubc0f \uc2dc\uc791","text":"

EOS \uad6c\uc131\uc5d0 \ucd94\uac00:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

VRF \ucc38\uace0

\uad00\ub9ac VRF\uac00 default\uac00 \uc544\ub2cc \uacbd\uc6b0(\uc989, \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uac00 ns-default\uac00 \uc544\ub2cc \uacbd\uc6b0) exec \uba85\ub839 \uc55e\uc5d0 exec /sbin/ip netns exec ns-<VRF>\ub97c \ubd99\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 VRF\uac00 management\uc778 \uacbd\uc6b0:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

\uc7a5\uce58 \uacf5\uac1c \ud0a4\ub97c doublezero device list\uc758 account \uc5f4\uc5d0\uc11c \uac00\uc838\uc635\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_11","title":"\uc2e4\ud589 \ud655\uc778","text":"
switch# show agent doublezero-agent logs\n

\"Starting doublezero-agent\" \ubc0f \uc131\uacf5\uc801\uc778 \ucee8\ud2b8\ub864\ub7ec \uc5f0\uacb0\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#45-telemetry-agent","title":"4.5\ub2e8\uacc4: Telemetry Agent \uc124\uce58","text":""},{"location":"ko/contribute-provisioning/#_12","title":"\uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4\ub97c \uc7a5\uce58\uc5d0 \ubcf5\uc0ac","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"ko/contribute-provisioning/#_13","title":"\uc628\uccb4\uc778\uc5d0 \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ub4f1\ub85d","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

metrics-publisher.json \ud30c\uc77c\uc5d0\uc11c \uacf5\uac1c \ud0a4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_14","title":"\uc5d0\uc774\uc804\ud2b8 \ub2e4\uc6b4\ub85c\ub4dc \ubc0f \uc124\uce58","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS \ud655\uc7a5\uc73c\ub85c \uc124\uce58\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-provisioning/#_15","title":"\ud655\uc7a5 \ud655\uc778","text":"
switch# show extensions\n

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4:

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ko/contribute-provisioning/#_16","title":"\uc5d0\uc774\uc804\ud2b8 \uad6c\uc131 \ubc0f \uc2dc\uc791","text":"

EOS \uad6c\uc131\uc5d0 \ucd94\uac00:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF \ucc38\uace0

\uad00\ub9ac VRF\uac00 default\uac00 \uc544\ub2cc \uacbd\uc6b0(\uc989, \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uac00 ns-default\uac00 \uc544\ub2cc \uacbd\uc6b0) exec \uba85\ub839\uc5d0 --management-namespace ns-<VRF>\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 VRF\uac00 management\uc778 \uacbd\uc6b0:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"ko/contribute-provisioning/#_17","title":"\uc2e4\ud589 \ud655\uc778","text":"
switch# show agent doublezero-telemetry logs\n

\"Starting telemetry collector\" \ubc0f \"Starting submission loop\"\uac00 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#5","title":"5\ub2e8\uacc4: \ub9c1\ud06c \ubc88\uc778","text":"

\ubaa8\ub4e0 \uc0c8 \ub9c1\ud06c\ub294 \ud2b8\ub798\ud53d\uc744 \uc804\ub2ec\ud558\uae30 \uc804\uc5d0 \ubc88\uc778\ud574\uc57c \ud569\ub2c8\ub2e4

\uc0c8 \ub9c1\ud06c\ub294 \ud504\ub85c\ub355\uc158 \ud2b8\ub798\ud53d\uc744 \ud65c\uc131\ud654\ud558\uae30 \uc804\uc5d0 \ucd5c\uc18c 24\uc2dc\uac04 \ub3d9\uc548 \ub4dc\ub808\uc778\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc774 \ubc88\uc778 \uc694\uad6c\uc0ac\ud56d\uc740 \ub9c1\ud06c\uac00 \uc11c\ube44\uc2a4 \uc900\ube44\uac00 \ub418\uae30 \uc804\uc5d0 \uc57d 20\ub9cc DZ \ub808\uc800 \uc2ac\ub86f(~20\uc2dc\uac04)\uc758 \ud074\ub9b0 \uba54\ud2b8\ub9ad\uc744 \uc9c0\uc815\ud558\ub294 RFC12: \ub124\ud2b8\uc6cc\ud06c \ud504\ub85c\ube44\uc800\ub2dd\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.

\uc5d0\uc774\uc804\ud2b8\uac00 \uc124\uce58 \ubc0f \uc2e4\ud589\ub418\uba74 \ucd5c\uc18c 24\uc2dc\uac04 \uc5f0\uc18d\uc73c\ub85c metrics.doublezero.xyz\uc5d0\uc11c \ub9c1\ud06c\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud569\ub2c8\ub2e4:

\ubc88\uc778 \uae30\uac04\uc774 \uc81c\ub85c \uc190\uc2e4 \ubc0f \uc81c\ub85c \uc624\ub958\uc758 \ud074\ub9b0 \ub9c1\ud06c\ub97c \ubcf4\uc5ec\uc900 \ud6c4\uc5d0\ub9cc \ub9c1\ud06c\uc758 \ub4dc\ub808\uc778\uc744 \ud574\uc81c\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#6","title":"6\ub2e8\uacc4: \uac80\uc99d \ubc0f \ud65c\uc131\ud654","text":"

\ubaa8\ub4e0 \uac83\uc774 \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574 \uc774 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.

\uc7a5\uce58\ub294 \uc7a0\uae08 \uc0c1\ud0dc\ub85c \uc2dc\uc791\ub429\ub2c8\ub2e4 (max_users = 0)

\uc7a5\uce58\uac00 \uc0dd\uc131\ub418\uba74 max_users\uac00 \uae30\ubcf8\uc801\uc73c\ub85c 0\uc73c\ub85c \uc124\uc815\ub429\ub2c8\ub2e4. \uc989, \uc544\uc9c1 \uc0ac\uc6a9\uc790\uac00 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uc758\ub3c4\uc801\uc778 \uac83\uc785\ub2c8\ub2e4 \u2014 \uc0ac\uc6a9\uc790 \ud2b8\ub798\ud53d\uc744 \ud5c8\uc6a9\ud558\uae30 \uc804\uc5d0 \ubaa8\ub4e0 \uac83\uc774 \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4.

max_users\ub97c 0 \uc774\uc0c1\uc73c\ub85c \uc124\uc815\ud558\uae30 \uc804\uc5d0 \ub2e4\uc74c\uc744 \uc644\ub8cc\ud574\uc57c \ud569\ub2c8\ub2e4:

  1. \ubaa8\ub4e0 \ub9c1\ud06c\uac00 metrics.doublezero.xyz\uc5d0\uc11c \uc81c\ub85c \uc190\uc2e4/\uc624\ub958\ub85c 24\uc2dc\uac04 \ubc88\uc778\uc744 \uc644\ub8cc\ud588\ub294\uc9c0 \ud655\uc778
  2. DZ/Malbec Labs\uc640 \uc870\uc728\ud558\uc5ec \uc5f0\uacb0 \ud14c\uc2a4\ud2b8 \uc2e4\ud589:
    • \ud14c\uc2a4\ud2b8 \uc0ac\uc6a9\uc790\uac00 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294\uac00?
    • \uc0ac\uc6a9\uc790\uac00 DZ \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud574 \uacbd\ub85c\ub97c \uc218\uc2e0\ud558\ub294\uac00?
    • \uc0ac\uc6a9\uc790\uac00 DZ \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud574 \uc5d4\ub4dc-\ud22c-\uc5d4\ub4dc\ub85c \ud2b8\ub798\ud53d\uc744 \ub77c\uc6b0\ud305\ud560 \uc218 \uc788\ub294\uac00?
  3. DZ/ML\uc774 \ud14c\uc2a4\ud2b8 \ud1b5\uacfc\ub97c \ud655\uc778\ud55c \ud6c4\uc5d0\ub9cc max_users\ub97c 96\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"ko/contribute-provisioning/#_18","title":"\uc7a5\uce58 \ud655\uc778","text":"
# \uc7a5\uce58\uac00 \"activated\" \uc0c1\ud0dc\ub85c \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

\uc608\uc0c1 \ucd9c\ub825:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub098\uc5f4\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

\uc608\uc0c1 \ucd9c\ub825:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"ko/contribute-provisioning/#_19","title":"\ub9c1\ud06c \ud655\uc778","text":"
# \ub9c1\ud06c\uac00 \"activated\" \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

\uc608\uc0c1 \ucd9c\ub825:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"ko/contribute-provisioning/#_20","title":"\uc5d0\uc774\uc804\ud2b8 \ud655\uc778","text":"

\uc2a4\uc704\uce58\uc5d0\uc11c:

# Config Agent\uac00 \uc131\uacf5\uc801\uc778 \uad6c\uc131 \uac00\uc838\uc624\uae30\ub97c \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry Agent\uac00 \uc131\uacf5\uc801\uc778 \uc81c\ucd9c\uc744 \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"ko/contribute-provisioning/#_21","title":"\ucd5c\uc885 \uac80\uc99d \ub2e4\uc774\uc5b4\uadf8\ub7a8","text":"
flowchart TB\n    subgraph \"\uac80\uc99d \uccb4\ud06c\ub9ac\uc2a4\ud2b8\"\n        D[\uc7a5\uce58 \uc0c1\ud0dc: activated?]\n        I[\uc778\ud130\ud398\uc774\uc2a4: \ub4f1\ub85d\ub428?]\n        L[\ub9c1\ud06c: activated?]\n        CA[Config Agent: \uad6c\uc131 \uac00\uc838\uc624\ub294 \uc911?]\n        TA[Telemetry Agent: \uba54\ud2b8\ub9ad \uc81c\ucd9c \uc911?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[\ubaa8\ub4e0 \ud655\uc778 \ud1b5\uacfc] --> NOTIFY[DZF/Malbec Labs\uc5d0 \ud1b5\uc9c0<br/>\uae30\uc220\uc801\uc73c\ub85c \uc900\ube44\ub428!]
"},{"location":"ko/contribute-provisioning/#_22","title":"\ubb38\uc81c \ud574\uacb0","text":""},{"location":"ko/contribute-provisioning/#_23","title":"\uc7a5\uce58 \uc0dd\uc131 \uc2e4\ud328","text":""},{"location":"ko/contribute-provisioning/#requested","title":"\"requested\" \uc0c1\ud0dc\uc5d0\uc11c \uba48\ucd98 \ub9c1\ud06c","text":""},{"location":"ko/contribute-provisioning/#config-agent","title":"Config Agent\uac00 \uc5f0\uacb0\ub418\uc9c0 \uc54a\uc74c","text":""},{"location":"ko/contribute-provisioning/#telemetry-agent","title":"Telemetry Agent\uac00 \uc81c\ucd9c\ud558\uc9c0 \uc54a\uc74c","text":""},{"location":"ko/contribute-provisioning/#_24","title":"\ub2e4\uc74c \ub2e8\uacc4","text":""},{"location":"ko/contribute/","title":"\uae30\uc5ec\uc790 \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98","text":"

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.

"},{"location":"ko/contribute/#_2","title":"\uc694\uc57d","text":"

\ubbf8\ud65c\uc6a9 \uad11\uc12c\uc720 \ucf00\uc774\ube14\uacfc \ub124\ud2b8\uc6cc\ud06c \ud558\ub4dc\uc6e8\uc5b4\ub97c \uc218\uc775\ud654\ud558\uace0\uc790 \ud558\ub294 \ub204\uad6c\ub4e0\uc9c0 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uae30\uc5ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub450 \uc9c0\uc810 \uac04\uc5d0 \uc804\uc6a9 \ub300\uc5ed\ud3ed\uc744 \uc81c\uacf5\ud558\uace0, \uac01 \ub05d\uc5d0 DoubleZero \ud638\ud658 \uc7a5\uce58(DZD)\ub97c \uc6b4\uc601\ud558\uba70, \uac01 \ub05d\uc5d0 \uacf5\uac1c \uc778\ud130\ub137\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \ub610\ud55c \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \uac01 DZD\uc5d0\uc11c \uba40\ud2f0\uce90\uc2a4\ud2b8, \uc0ac\uc6a9\uc790 \uc870\ud68c, \uc5e3\uc9c0 \ud544\ud130\ub9c1\uacfc \uac19\uc740 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 DoubleZero \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud574\uc57c \ud569\ub2c8\ub2e4.

DoubleZero \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc740 \ub124\ud2b8\uc6cc\ud06c\uac00 \uce21\uc815 \uac00\ub2a5\ud558\uace0 \ud1a0\ud3f4\ub85c\uc9c0\uc5d0 \ud1b5\ud569\ub420 \uc218 \uc788\ub294 \uace0\ud488\uc9c8 \ub9c1\ud06c\ub97c \uc720\uc9c0\ud558\ub3c4\ub85d \ubcf4\uc7a5\ud558\ub294 \ud575\uc2ec\uc785\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \ub124\ud2b8\uc6cc\ud06c \ucee8\ud2b8\ub864\ub7ec\uac00 \ub2e4\uc591\ud55c \uc0ac\uc6a9\uc790\uc640 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uac04\uc758 \uac00\uc7a5 \ud6a8\uc728\uc801\uc778 \uc5d4\ub4dc-\ud22c-\uc5d4\ub4dc \uacbd\ub85c\ub97c \uac1c\ubc1c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2a4\ub9c8\ud2b8 \uacc4\uc57d \uc2e4\ud589 \ubc0f \ub124\ud2b8\uc6cc\ud06c \uc7a5\ube44\uc640 \ub300\uc5ed\ud3ed \ubc30\ud3ec \ud6c4\uc5d0 \ud574\ub2f9 \uc8fc\uccb4\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub85c \ubd84\ub958\ub429\ub2c8\ub2e4. DoubleZero \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub85c\uc11c \ucc38\uc5ec\ud558\ub294 \uacbd\uc81c\ud559\uc744 \ub354 \uc798 \uc774\ud574\ud558\ub824\uba74 DoubleZero \uacbd\uc81c\ud559\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/contribute/#doublezero","title":"DoubleZero \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \ub418\uae30 \uc704\ud55c \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute/#_3","title":"\ube60\ub978 \uc2dc\uc791 \uac00\uc774\ub4dc","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub85c\uc11c DoubleZero\ub97c \uc2dc\uc791\ud558\ub294 \uac00\uc7a5 \uac04\ub2e8\ud55c \ubc29\ubc95\uc740 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c DoubleZero\uc5d0 \uc804\uc6a9\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc6a9\ub7c9\uc744 \ud30c\uc545\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \ud30c\uc545\ub418\uba74 DZD\ub97c \ubc30\ud3ec\ud574\uc57c \ud558\uba70, DZD\ub294 \uae30\uc5ec\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc758\uc874\uc131\uc73c\ub85c IPv4 \ub3c4\ub2ec \uac00\ub2a5\uc131\uacfc \ucd5c\uc18c 2048\ubc14\uc774\ud2b8 MTU\ub9cc \ud544\uc694\ud55c DoubleZero \uc624\ubc84\ub808\uc774 \ub124\ud2b8\uc6cc\ud06c\ub97c \uc6a9\uc774\ud558\uac8c \ud569\ub2c8\ub2e4.

\uadf8\ub9bc 1\uc740 \ub300\uc5ed\ud3ed \ubc0f \ud328\ud0b7 \uc804\uc1a1\uacfc \ucc98\ub9ac \uc11c\ube44\uc2a4\ub97c \uae30\uc5ec\ud558\ub294 \uac00\uc7a5 \uac04\ub2e8\ud55c \ubaa8\ub378\uc744 \uac15\uc870\ud569\ub2c8\ub2e4. DZD\ub294 \uac01 \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \ubc30\ud3ec\ub418\uc5b4 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \ub124\ud2b8\uc6cc\ud06c\uc640 \uc778\ud130\ud398\uc774\uc2a4\ud558\uc5ec DoubleZero WAN \uc5f0\uacb0\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774\ub294 DoubleZero \uc0ac\uc6a9\uc790\ub97c \uc704\ud55c \uc628-\ub7a8\ud504\ub85c \uc0ac\uc6a9\ub418\ub294 \ub85c\uceec \uc778\ud130\ub137(\uc77c\ubc18\uc801\uc73c\ub85c DIA(Direct Internet Access) \uc194\ub8e8\uc158)\uc73c\ub85c \ubcf4\uc644\ub429\ub2c8\ub2e4. DIA\uac00 DoubleZero \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc561\uc138\uc2a4\ub97c \uc6a9\uc774\ud558\uac8c \ud558\ub294 \uc120\ud638 \uc635\uc158\uc774 \ub420 \uac83\uc73c\ub85c \uc608\uc0c1\ub418\uc9c0\ub9cc, \ub2e4\uc591\ud55c \uc5f0\uacb0 \ubaa8\ub378\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4(\uc608: \uc11c\ubc84\uc5d0 \ub300\ud55c \ubb3c\ub9ac\uc801 \ucf00\uc774\ube14\ub9c1, \ub124\ud2b8\uc6cc\ud06c \ud328\ube0c\ub9ad \ud655\uc7a5 \ub4f1). \uc774 \uc635\uc158\uc744 CYOA(Choose Your Own Adventure)\ub77c\uace0 \ud558\uba70, \uae30\uc5ec\uc790\uac00 \ub0b4\ubd80 \ub124\ud2b8\uc6cc\ud06c \uc815\ucc45\uc5d0 \uac00\uc7a5 \uc798 \ub9de\ub294 \ubc29\uc2dd\uc73c\ub85c \ub85c\uceec \ub610\ub294 \uc6d0\uaca9 \uc0ac\uc6a9\uc790\ub97c \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \uc720\uc5f0\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

\ubaa8\ub4e0 \ub124\ud2b8\uc6cc\ud06c\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c \ub3c4\ub2ec \uac00\ub2a5\uc131\uc740 \uc544\ud0a4\ud14d\ucc98\uc758 \uadfc\ubcf8\uc801\uc778 \ubd80\ubd84\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub4e4\uc740 \uace0\ub9bd\ub418\uc5b4 \uc788\uc744 \uc218 \uc5c6\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c DZD\ub294 \ucc38\uc5ec\uc790 \uac04\uc5d0 \uc5f0\uc18d\uc801\uc778 \ub124\ud2b8\uc6cc\ud06c\ub97c \ub9cc\ub4e4\uae30 \uc704\ud574 DoubleZero Exchange(DZX)\uc5d0 \ub9c1\ud06c\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uadf8\ub9bc 1: 2\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uac04 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec - \ub2e8\uc77c \uae30\uc5ec\uc790"},{"location":"ko/contribute/#_4","title":"\uae30\uc5ec \uc608\uc2dc","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 DoubleZero \uae30\uc5ec\ub97c \ud655\uc7a5\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uc744 \ud3ec\ud568\ud558\uc5ec \ub2e4\uc591\ud569\ub2c8\ub2e4:

"},{"location":"ko/contribute/#1-3-2","title":"\uc608\uc2dc 1: \ub2e8\uc77c \uae30\uc5ec\uc790, 3\uac1c \ub370\uc774\ud130 \uc13c\ud130, 2\uac1c \ub9c1\ud06c","text":"\uadf8\ub9bc 2: 3\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uac04 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec - \ub2e8\uc77c \uae30\uc5ec\uc790

\ub2e8\uc77c DZD\ub294 DoubleZero\uc5d0 \uae30\uc5ec\ud558\ub294 \uc5ec\ub7ec \ub9c1\ud06c\ub97c \uc9c0\uc6d0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9bc 2\ub294 1\ub85c \ud45c\uc2dc\ub41c \ub2e8\uc77c \ub370\uc774\ud130 \uc13c\ud130\uac00 \ub450 \uac1c\uc758 \ub2e4\ub978 \uc6d0\uaca9 \ub370\uc774\ud130 \uc13c\ud130 2\uc640 3\uc5d0 \ub300\uc5ed\ud3ed\uc744 \uc885\ub2e8\ud558\ub294 \uacbd\uc6b0\uc758 \uc7a0\uc7ac\uc801 \ud1a0\ud3f4\ub85c\uc9c0\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc774 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \uac01 \ub370\uc774\ud130 \uc13c\ud130\uc5d0\ub294 DZD\uac00 \ud558\ub098\ub9cc \uc788\uc2b5\ub2c8\ub2e4. \ubaa8\ub4e0 DZD\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4\ub85c DIA\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#2-3-3","title":"\uc608\uc2dc 2: \ub2e8\uc77c \uae30\uc5ec\uc790, 3\uac1c \ub370\uc774\ud130 \uc13c\ud130, 3\uac1c \ub9c1\ud06c","text":"

\uadf8\ub9bc 3\uc740 \ub2e8\uc77c \uae30\uc5ec\uc790\uac00 3\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uc0ac\uc774\uc5d0 \uc0bc\uac01\ud615 \ud1a0\ud3f4\ub85c\uc9c0\ub85c 3\uac1c \ub9c1\ud06c\ub97c \ubc30\ud3ec\ud560 \ub54c\uc758 DoubleZero \ud1a0\ud3f4\ub85c\uc9c0\ub97c \uc124\uba85\ud569\ub2c8\ub2e4. \uc608\uc2dc 1\uacfc \uc720\uc0ac\ud55c \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c, \ub2e8\uc77c DZD\uac00 \ub370\uc774\ud130 \uc13c\ud130 1, 2, 3\uc5d0 \uac01\uac01 \ubc30\ud3ec\ub418\uba70 \uac01\uac01 2\uac1c\uc758 \ub3c5\ub9bd \ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uacb0\uacfc \ud1a0\ud3f4\ub85c\uc9c0\ub294 \ub370\uc774\ud130 \uc13c\ud130 \uac04\uc758 \uc0bc\uac01\ud615 \ub610\ub294 \ub9c1\uc785\ub2c8\ub2e4.

\uadf8\ub9bc 3: 3\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uac04 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec - \ub2e8\uc77c \uae30\uc5ec\uc790"},{"location":"ko/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

\uc5f0\uc18d\uc801\uc778 \ub124\ud2b8\uc6cc\ud06c \uc0dd\uc131\uc740 DoubleZero \uc544\ud0a4\ud14d\ucc98\uc758 \uadfc\ubcf8\uc801\uc778 \uad6c\uc131 \uc694\uc18c\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub4e4\uc740 \ub274\uc695(NYC), \ub7f0\ub358(LON) \ub610\ub294 \ub3c4\ucfc4(TYO)\uc640 \uac19\uc740 \ub3c4\uc2dc\uc778 \ub300\ub3c4\uc2dc\uad8c \ub0b4\uc758 DoubleZero Exchange(DZX)\ub97c \ud1b5\ud574 \uc778\ud130\ud398\uc774\uc2a4\ud558\uba70, \uc774\ub294 \uc778\ud130\ub137 \uc775\uc2a4\uccb4\uc778\uc9c0\uc640 \uc720\uc0ac\ud55c \ub124\ud2b8\uc6cc\ud06c \ud328\ube0c\ub9ad\uc73c\ub85c \ud53c\uc5b4\ub9c1 \ubc0f \uacbd\ub85c \uad50\ud658\uc744 \ud5c8\uc6a9\ud569\ub2c8\ub2e4.

\uadf8\ub9bc 4\uc5d0\uc11c \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790 1\uc740 \ub370\uc774\ud130 \uc13c\ud130 1, 2, 3\uc5d0\uc11c \uc6b4\uc601\ud558\uace0, \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790 2\ub294 \ub370\uc774\ud130 \uc13c\ud130 2, 4, 5\uc5d0\uc11c \uc6b4\uc601\ud569\ub2c8\ub2e4. \ub370\uc774\ud130 \uc13c\ud130 2\uc5d0\uc11c \uc0c1\ud638 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub3c4\ub2ec \ubc94\uc704\uac00 5\uac1c\uc758 \uc5f0\uc18d \ub370\uc774\ud130 \uc13c\ud130\ub85c \uc99d\uac00\ud569\ub2c8\ub2e4.

\uadf8\ub9bc 4: 2\uac1c \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec\uc790 \uac04\uc758 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec"},{"location":"ko/contribute/#_5","title":"\ub300\uc5ed\ud3ed \uae30\uc5ec \uc635\uc158","text":"

DoubleZero\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc744 \ud1b5\ud574 \ub450 \uc885\ub2e8 \ub370\uc774\ud130 \uc13c\ud130\uc758 DZD \uac04\uc5d0 \ubcf4\uc7a5\ub41c \ub300\uc5ed\ud3ed, \ub300\uae30 \uc2dc\uac04 \ubc0f \uc9c0\ud130 \ud504\ub85c\ud544\uc744 \ud1b5\ud574 \ud1b5\ud569 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud558\ub3c4\ub85d \uc694\uad6c\ud569\ub2c8\ub2e4. DoubleZero\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \uae30\uc5ec\ub97c \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc744 \uc758\ubb34\ud654\ud558\uc9c0 \uc54a\uc9c0\ub9cc, \ub2e4\uc74c \uc139\uc158\uc5d0\uc11c\ub294 \ub2e8\ub3c5 \uc7ac\ub7c9\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc9c0\uc2dc\uc801 \uc635\uc158\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \uace0\ub824\ud574\uc57c \ud560 \uc911\uc694\ud55c \uc601\uc5ed\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:

"},{"location":"ko/contribute/#1","title":"\uacc4\uce35 1 \ub300\uc5ed\ud3ed","text":"\uadf8\ub9bc 5: \uacc4\uce35 1 \uad11\ud559 \uc11c\ube44\uc2a4

\ubcf4\ub2e4 \uacf5\uc2dd\uc801\uc73c\ub85c \ud30c\uc7a5 \uc11c\ube44\uc2a4\ub85c \uc124\uba85\ub418\ub294 \uacc4\uce35 1 \ub300\uc5ed\ud3ed\uc740 DWDM, CWDM \ub610\ub294 \uad11\ud559 \uba40\ud2f0\ud50c\ub809\uc11c(MUX)\ub97c \ud1b5\ud574 \uae30\uc874 \uad11\ud559 \uc778\ud504\ub77c\uc5d0 \uc804\uc6a9 \uc6a9\ub7c9\uc744 \ud504\ub85c\ube44\uc800\ub2dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9bc 5\uc5d0\uc11c DZD\ub294 L1 MUX\uc5d0 \ucf00\uc774\ube14\ub85c \uc5f0\uacb0\ub41c \uceec\ub7ec \uc635\ud2f1\uc744 \uc0ac\uc6a9\ud558\uba70, \uc774\ub294 DZD \ud30c\uc7a5\uc744 \uae30\uc874 \ub2e4\ud06c \ud30c\uc774\ubc84\uc5d0 \uc778\ud130\ub9ac\ube59\ud569\ub2c8\ub2e4.

\uc774 \uc194\ub8e8\uc158\uc740 \uae30\uc874 \ud575\uc2ec \ub124\ud2b8\uc6cc\ud06c\ub97c \uc774\ubbf8 \uc6b4\uc601\ud558\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc5d0\uac8c \ub9ce\uc740 \uc774\uc810\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc810\uc9c4\uc801\uc778 \uc6b4\uc601 \ubcc0\uacbd\uacfc \ucd94\uac00 CAPEX \ubc0f OPEX \uc694\uad6c \uc0ac\ud56d\uc740 \uc801\uc2b5\ub2c8\ub2e4. \uc774 \uc635\uc158\uc740 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c \uc11c\ube44\uc2a4\ub85c\ubd80\ud130 \uaca9\ub9ac\ub97c \uc81c\uacf5\ud558\ub294 \ub370 \ud2b9\ud788 \uac15\ub825\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_6","title":"\ud328\ud0b7 \uad50\ud658 \ub300\uc5ed\ud3ed","text":"

\ud328\ud0b7 \uad50\ud658 \ub124\ud2b8\uc6cc\ud06c\ub294 \ube44\uc988\ub2c8\uc2a4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc9c0\uc6d0\ud558\ub294 \ud45c\uc900 \ub77c\uc6b0\ud305 \ubc0f \uc2a4\uc704\uce6d \ud504\ub85c\ud1a0\ucf5c\uc744 \uc2e4\ud589\ud558\ub294 \uc77c\ubc18\uc801\uc778 \uc5d4\ud130\ud504\ub77c\uc774\uc988 \ub124\ud2b8\uc6cc\ud06c\ub85c \uac04\uc8fc\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. VLAN \ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud55c \uacc4\uce35 2(L2) \ud655\uc7a5 \ub4f1 \ub2e4\uc591\ud55c \ub124\ud2b8\uc6cc\ud0b9 \uae30\uc220\uc744 \ud1b5\ud574 \uc5f0\uacb0\uc131\uc744 \ub2ec\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/contribute/#l2","title":"L2 \ud655\uc7a5","text":"\uadf8\ub9bc 6: \ud328\ud0b7 \uad50\ud658 \ub124\ud2b8\uc6cc\ud06c - L2 \ud655\uc7a5

\uadf8\ub9bc 6\uc5d0 \ud45c\uc2dc\ub41c L2 \ud655\uc7a5\uc740 VLAN \ud0dc\uae45\uc744 \ud1b5\ud574 \uc6a9\uc774\ud558\uac8c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. DZD\uc758 \ud3ec\ud2b8\ub294 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \ub124\ud2b8\uc6cc\ud06c \uc2a4\uc704\uce58\uc5d0 \ucf00\uc774\ube14\ub85c \uc5f0\uacb0\ub420 \uc218 \uc788\uc73c\uba70, \uc2a4\uc704\uce58 \ud3ec\ud2b8\ub294 \uc608\ub97c \ub4e4\uc5b4 VLAN 10\uc758 \uc561\uc138\uc2a4 \ud3ec\ud2b8\ub85c \uc124\uc815\ub429\ub2c8\ub2e4. 802.1q \ud0dc\uae45\uc744 \ud1b5\ud574 \uc774 VLAN\uc740 \uae30\uc5ec\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5ec\ub7ec \uc2a4\uc704\uce58 \ud649\uc744 \ud1b5\ud574 \uc804\ub2ec\ub418\uc5b4 \uc6d0\uaca9 DZD\uc640 \uc778\ud130\ud398\uc774\uc2a4\ud558\ub294 \uc2a4\uc704\uce58\uc5d0\uc11c \uc885\ub2e8\ub429\ub2c8\ub2e4.

\uc774 \uc194\ub8e8\uc158\uc740 \ub110\ub9ac \uc9c0\uc6d0\ub418\uace0 \uad6c\ud604\ud558\uae30 \ube44\uad50\uc801 \uc26c\uc6b0\uba74\uc11c DoubleZero\uc640 \ub0b4\ubd80 \uacc4\uce35 3 \uc11c\ube44\uc2a4 \uac04\uc758 \ubd84\ub9ac\ub97c \ub9cc\ub4dc\ub294 \uc774\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\uc5ed\ud3ed\uc740 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uc2a4\uc704\uce58 \ub610\ub294 \ub77c\uc6b0\ud130\uc758 \uc778\ud130\ud398\uc774\uc2a4 \uc18d\ub3c4\ub97c \uae30\ubc18\uc73c\ub85c \uc81c\uc5b4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. QoS(\uc11c\ube44\uc2a4 \ud488\uc9c8) \ub610\ub294 \uae30\ud0c0 \ud2b8\ub798\ud53d \uad00\ub9ac \uc815\ucc45\uacfc \uac19\uc740 \uae30\uc220\uc744 \ud1b5\ud574 \uacf5\uc720 \ub0b4\ubd80 L2 \ub124\ud2b8\uc6cc\ud06c\uc758 \uc131\ub2a5\uc5d0 \uc2e0\uc911\ud55c \uace0\ub824\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uae30\uc5ec\uc790\uc758 \ud575\uc2ec \ub124\ud2b8\uc6cc\ud06c \ub0b4\uc5d0 \uae30\uc874 \uc6a9\ub7c9\uc774 \uc788\ub294 \uacbd\uc6b0 \ucd94\uac00 CAPEX \ubc0f OPEX \ud22c\uc790\ub294 \ucd5c\uc18c\ud654\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#3rd-party","title":"\uc804\uc6a9 3rd Party \ub300\uc5ed\ud3ed","text":"\uadf8\ub9bc 7: \uc804\uc6a9 3rd Party \ub300\uc5ed\ud3ed

\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc6a9\ub7c9\uc744 \uc7ac\uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ub9ce\uc740 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc5d0\uac8c \ub9e4\ub825\uc801\uc774\uc9c0\ub9cc, \uc0c8\ub85c \ud68d\ub4dd\ud55c \ub300\uc5ed\ud3ed\uc744 DoubleZero\uc5d0 \uc804\uc6a9\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c DZD\ub294 \uc778\ub77c\uc778\uc5d0 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uc7a5\uce58 \uc5c6\uc774 3rd party \ud1b5\uc2e0\uc0ac\uc5d0 \uc9c1\uc811 \uc5f0\uacb0\ub429\ub2c8\ub2e4(\uadf8\ub9bc 7).

\uc774 \uc635\uc158\uc740 DoubleZero\ub97c \uc704\ud55c \uc804\uc6a9 \ub300\uc5ed\ud3ed\uc744 \ubcf4\uc7a5\ud558\uace0 \uc6b4\uc601\uc0c1 \uac04\ub2e8\ud558\uba70 \ub2e4\ub978 \ub124\ud2b8\uc6cc\ud06c \uc11c\ube44\uc2a4\ub85c\ubd80\ud130 \uc644\uc804\ud55c \ubd84\ub9ac\ub97c \ubcf4\uc7a5\ud558\uae30 \ub54c\ubb38\uc5d0 \ub9e4\ub825\uc801\uc785\ub2c8\ub2e4. \uc774 \uc635\uc158\uc740 OPEX \uc99d\uac00\uac00 \uac00\uc7a5 \ub192\uace0 3rd party \ud1b5\uc2e0\uc0ac\uc640\uc758 \uc0c8\ub85c\uc6b4 \uc11c\ube44\uc2a4 \uacc4\uc57d\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_7","title":"\ud558\ub4dc\uc6e8\uc5b4 \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute/#100gbps","title":"100Gbps \ub300\uc5ed\ud3ed \uae30\uc5ec","text":"

\uc544\ub798 \uc218\ub7c9\uc740 \ub450 \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \ud544\uc694\ud55c \uc7a5\ube44\ub97c \ubc18\uc601\ud569\ub2c8\ub2e4. \uc989, 1\uac1c\uc758 \uad11\uc12c\uc720 \ucf00\uc774\ube14 \ub300\uc5ed\ud3ed \uae30\uc5ec\ub97c \ubc30\ud3ec\ud558\ub294 \ub370 \ud544\uc694\ud55c \ucd1d \ud558\ub4dc\uc6e8\uc5b4\uc785\ub2c8\ub2e4.

*\ubaa8\ub4e0 FPGA\ub294 \ucd5c\uc885 \ud14c\uc2a4\ud2b8\ub97c \uac70\uce69\ub2c8\ub2e4. 10G \uae30\uc5ec\ub294 \ub0b4\uc7a5 \uc774\uc911 Virtex\u00ae UltraScale+\u2122 FPGA\uac00 \uc788\ub294 Arista 7130LBR \uc2a4\uc704\uce58\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc9c0\uc6d0\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4(\uc9c8\ubb38\uc774 \uc788\uc73c\uba74 DoubleZero Foundation / Malbec Labs\uac00 \uae30\uaebc\uc774 \ub354 \ub9ce\uc740 \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4)."},{"location":"ko/contribute/#_8","title":"\uae30\ub2a5 \ubc0f \ud3ec\ud2b8 \uc694\uad6c\uc0ac\ud56d","text":"\uae30\ub2a5 \ud3ec\ud2b8 \uc18d\ub3c4 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 \uc804\uc6a9 \ub300\uc5ed\ud3ed 100G \uc608 1 DIA (Direct Internet Access) 10G \uc608 2 DoubleZero eXchange (DZX) 100G \uc608* 1 \ub3d9\uc77c\ud55c \ub300\ub3c4\uc2dc\uad8c\uc5d0 3\uac1c \uc774\uc0c1\uc758 \uacf5\uae09\uc790\uac00 \uc6b4\uc601\ud558\uba74 \ubc18\ub4dc\uc2dc \uc9c0\uc6d0\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\uc804\uc5d0\ub294 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8 \ub610\ub294 \uae30\ud0c0 \ud53c\uc5b4\ub9c1 \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uad00\ub9ac \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4. \ucf58\uc194 \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4."},{"location":"ko/contribute/#dzd","title":"DZD \ub124\ud2b8\uc6cc\ud06c \ud558\ub4dc\uc6e8\uc5b4","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 AMD* V80* 24540474 \uc608 4 Arista 7280CR3A DCS-7280CR3A-32S \uc608 2 \ub9ac\ub4dc \ud0c0\uc784\uc774 \uc5b4\ub824\uc6b4 \uacbd\uc6b0 \ub300\uc548\uc774 \uac00\ub2a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},{"location":"ko/contribute/#-100g","title":"\uad11\ud559 - 100G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 100GBASE-LR QSFP-100G-LR \uc544\ub2c8\uc624 16 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. FPGA\ub97c \uc5f0\uacb0\ud558\ub294 \ub370 100G\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},{"location":"ko/contribute/#-10g","title":"\uad11\ud559 - 10G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 10GBASE-LR SFP-10G-LR \uc544\ub2c8\uc624 2 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \uc544\ub2c8\uc624 2 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4."},{"location":"ko/contribute/#ip","title":"IP \uc8fc\uc18c \uc9c0\uc815","text":"IP \uc8fc\uc18c \uc9c0\uc815 \ucd5c\uc18c \uc11c\ube0c\ub137 \ud06c\uae30 DZ \uc694\uad6c\uc0ac\ud56d \ucc38\uace0 \uacf5\uac1c IPv4 /29 \uc608 (\uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc DZD\uc758 \uacbd\uc6b0) DIA\ub97c \ud1b5\ud574 \ub77c\uc6b0\ud305 \uac00\ub2a5\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \uc774 \uc694\uad6c\uc0ac\ud56d\uc744 \uc5c6\uc568 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

DZ \ud504\ub85c\ud1a0\ucf5c\uc744 \uc704\ud574 \uc804\uccb4 /29 \ud480\uc774 \uc0ac\uc6a9 \uac00\ub2a5\ud55c\uc9c0 \ud655\uc778\ud558\uc138\uc694. DIA \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc810\ub300\uc810 \uc8fc\uc18c \uc9c0\uc815 \ub4f1\uc758 \uc694\uad6c \uc0ac\ud56d\uc740 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \ud1b5\ud574 \uad00\ub9ac\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#10gbps","title":"10Gbps \ub300\uc5ed\ud3ed \uae30\uc5ec","text":"

\uc544\ub798 \uc218\ub7c9\uc740 \ub450 \ub370\uc774\ud130 \uc13c\ud130\uc758 \uc7a5\ube44\ub97c \ubc18\uc601\ud569\ub2c8\ub2e4. \uc989, 1\uac1c\uc758 \ub300\uc5ed\ud3ed \uae30\uc5ec\ub97c \ubc30\ud3ec\ud558\ub294 \ub370 \ud544\uc694\ud55c \ucd1d \ud558\ub4dc\uc6e8\uc5b4\uc785\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_9","title":"\uae30\ub2a5 \ubc0f \ud3ec\ud2b8 \uc694\uad6c\uc0ac\ud56d","text":"\uae30\ub2a5 \ud3ec\ud2b8 \uc18d\ub3c4 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 \uc804\uc6a9 \ub300\uc5ed\ud3ed 10G \uc608 1 DIA (Direct Internet Access) 10G \uc608 2 DoubleZero eXchange (DZX) 100G \uc608* 1 \ub3d9\uc77c\ud55c \ub300\ub3c4\uc2dc\uad8c\uc5d0 3\uac1c \uc774\uc0c1\uc758 \uacf5\uae09\uc790\uac00 \uc6b4\uc601\ud558\uba74 \ubc18\ub4dc\uc2dc \uc9c0\uc6d0\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\uc804\uc5d0\ub294 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8 \ub610\ub294 \uae30\ud0c0 \ud53c\uc5b4\ub9c1 \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uad00\ub9ac \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4. \ucf58\uc194 \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4."},{"location":"ko/contribute/#_10","title":"\ud558\ub4dc\uc6e8\uc5b4","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 AMD* V80* 24540474* \uc608 4 Arista 7280CR3A DCS-7280CR3A-32S \uc608 2 \ub9ac\ub4dc \ud0c0\uc784\uc774 \uc5b4\ub824\uc6b4 \uacbd\uc6b0 \ub300\uc548\uc774 \uac00\ub2a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},{"location":"ko/contribute/#-100g_1","title":"\uad11\ud559 - 100G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 100GBASE-LR QSFP-100G-LR \uc544\ub2c8\uc624 14 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. FPGA\ub97c \uc5f0\uacb0\ud558\ub294 \ub370 100G\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},{"location":"ko/contribute/#-10g_1","title":"\uad11\ud559 - 10G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 10GBASE-LR SFP-10G-LR \uc544\ub2c8\uc624 4 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \uc544\ub2c8\uc624 4 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. ---"},{"location":"ko/contribute/#ip_1","title":"IP \uc8fc\uc18c \uc9c0\uc815","text":"IP \uc8fc\uc18c \uc9c0\uc815 \ucd5c\uc18c \uc11c\ube0c\ub137 \ud06c\uae30 DZ \uc694\uad6c\uc0ac\ud56d \ucc38\uace0 \uacf5\uac1c IPv4 /29 \uc608 (\uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc DZD\uc758 \uacbd\uc6b0) DIA\ub97c \ud1b5\ud574 \ub77c\uc6b0\ud305 \uac00\ub2a5\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \uc774 \uc694\uad6c\uc0ac\ud56d\uc744 \uc5c6\uc568 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

DZ \ud504\ub85c\ud1a0\ucf5c\uc744 \uc704\ud574 \uc804\uccb4 /29 \ud480\uc774 \uc0ac\uc6a9 \uac00\ub2a5\ud55c\uc9c0 \ud655\uc778\ud558\uc138\uc694. DIA \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc810\ub300\uc810 \uc8fc\uc18c \uc9c0\uc815 \ub4f1\uc758 \uc694\uad6c \uc0ac\ud56d\uc740 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \ud1b5\ud574 \uad00\ub9ac\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_11","title":"\ub370\uc774\ud130 \uc13c\ud130 \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute/#_12","title":"\ub799 \ubc0f \uc804\uc6d0 \uc694\uad6c\uc0ac\ud56d","text":"\uc694\uad6c\uc0ac\ud56d \uc0ac\uc591 \ub799 \uacf5\uac04 4U \uc804\uc6d0 4KW (\uad8c\uc7a5)"},{"location":"ko/contribute/#_13","title":"\ub2e4\uc74c \ub2e8\uacc4","text":"

\uccab \ubc88\uc9f8 DZD\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud560 \uc900\ube44\uac00 \ub418\uc168\ub098\uc694? \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd \uac00\uc774\ub4dc\ub97c \uacc4\uc18d\ud558\uc138\uc694.

"},{"location":"ko/glossary/","title":"\uc6a9\uc5b4\uc9d1","text":"

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.

\uc774 \ud398\uc774\uc9c0\ub294 \ubb38\uc11c \uc804\ubc18\uc5d0 \uc0ac\uc6a9\ub418\ub294 DoubleZero \uc804\uc6a9 \uc6a9\uc5b4\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_2","title":"\ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c","text":""},{"location":"ko/glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

DoubleZero \ub9c1\ud06c\ub97c \uc885\ub2e8\ud558\uace0 DoubleZero \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud558\ub294 \ubb3c\ub9ac\uc801 \ub124\ud2b8\uc6cc\ud06c \uc2a4\uc704\uce6d \ud558\ub4dc\uc6e8\uc5b4\uc785\ub2c8\ub2e4. DZD\ub294 \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \ubc30\ud3ec\ub418\uba70 \ub77c\uc6b0\ud305, \ud328\ud0b7 \ucc98\ub9ac \ubc0f \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uac01 DZD\ub294 \ud2b9\uc815 \ud558\ub4dc\uc6e8\uc5b4 \uc0ac\uc591\uc744 \ud544\uc694\ub85c \ud558\uba70 Config Agent \uc640 Telemetry Agent \ub97c \ubaa8\ub450 \uc2e4\ud589\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

\uc11c\ub85c \ub2e4\ub978 \uae30\uc5ec\uc790 \ub9c1\ud06c\uac00 \uc5f0\uacb0\ub418\ub294 \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\uc758 \uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810\uc785\ub2c8\ub2e4. DZX\ub294 \ub124\ud2b8\uc6cc\ud06c \uad50\ucc28\uc810\uc774 \ubc1c\uc0dd\ud558\ub294 \uc8fc\uc694 \ub3c4\uc2dc \uc9c0\uc5ed(\uc608: NYC, LON, TYO)\uc5d0 \uc704\uce58\ud569\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \uac00\uc7a5 \uac00\uae4c\uc6b4 DZX\uc5d0\uc11c \ub9c1\ud06c\ub97c \ub354 \uad11\ubc94\uc704\ud55c DoubleZero \uba54\uc2dc\uc5d0 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8\ud574\uc57c \ud569\ub2c8\ub2e4. \uc778\ud130\ub137 \uad50\ud658(IX)\uacfc \uac1c\ub150\uc801\uc73c\ub85c \uc720\uc0ac\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#wan","title":"WAN \ub9c1\ud06c","text":"

\ub3d9\uc77c\ud55c \uae30\uc5ec\uc790\uac00 \uc6b4\uc601\ud558\ub294 \ub450 DZD \uac04\uc758 \uad11\uc5ed \ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\uc785\ub2c8\ub2e4. WAN \ub9c1\ud06c\ub294 \ub2e8\uc77c \uae30\uc5ec\uc790\uc758 \uc778\ud504\ub77c \ub0b4\uc5d0\uc11c \ubc31\ubcf8 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#dzx","title":"DZX \ub9c1\ud06c","text":"

DZX\uc5d0\uc11c \uc124\uc815\ub41c, \uc11c\ub85c \ub2e4\ub978 \uae30\uc5ec\uc790\uac00 \uc6b4\uc601\ud558\ub294 DZD \uac04\uc758 \ub9c1\ud06c\uc785\ub2c8\ub2e4. DZX \ub9c1\ud06c\ub294 \uc591\ucabd \ub2f9\uc0ac\uc790\uc758 \uba85\uc2dc\uc801\uc778 \uc218\ub77d\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#dz","title":"DZ \ud504\ub9ac\ud53d\uc2a4","text":"

\uc624\ubc84\ub808\uc774 \ub124\ud2b8\uc6cc\ud06c \uc8fc\uc18c \uc9c0\uc815\uc744 \uc704\ud574 DZD\uc5d0 \ud560\ub2f9\ub41c CIDR \ud615\uc2dd\uc758 IP \uc8fc\uc18c \ud560\ub2f9\uc785\ub2c8\ub2e4. --dz-prefixes \ud30c\ub77c\ubbf8\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc7a5\uce58 \uc0dd\uc131 \uc911\uc5d0 \uc9c0\uc815\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_3","title":"\uc7a5\uce58 \uc720\ud615","text":""},{"location":"ko/glossary/#_4","title":"\uc5e3\uc9c0 \uc7a5\uce58","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud558\ub294 DZD\uc785\ub2c8\ub2e4. \uc5e3\uc9c0 \uc7a5\uce58\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud65c\uc6a9\ud558\uc5ec \uc0ac\uc6a9\uc790(\uac80\uc99d\uc790, RPC \uc6b4\uc601\uc790)\ub97c \uc885\ub2e8\ud558\uace0 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_5","title":"\ud2b8\ub79c\uc9d3 \uc7a5\uce58","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub0b4\uc5d0\uc11c \ubc31\ubcf8 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud558\ub294 DZD\uc785\ub2c8\ub2e4. \ud2b8\ub79c\uc9d3 \uc7a5\uce58\ub294 DZD \uac04\uc5d0 \ud2b8\ub798\ud53d\uc744 \uc774\ub3d9\ud558\uc9c0\ub9cc \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \uc9c1\uc811 \uc885\ub2e8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_6","title":"\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58","text":"

\uc5e3\uc9c0\uc640 \ud2b8\ub79c\uc9d3 \uae30\ub2a5\uc744 \ubaa8\ub450 \uacb0\ud569\ud55c DZD\ub85c, \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uacfc \ubc31\ubcf8 \ub77c\uc6b0\ud305\uc744 \ubaa8\ub450 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_7","title":"\uc5f0\uacb0","text":""},{"location":"ko/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

\uae30\uc5ec\uc790\uac00 \uc0ac\uc6a9\uc790\uac00 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud558\uae30 \uc704\ud55c \uc5f0\uacb0 \uc635\uc158\uc744 \ub4f1\ub85d\ud560 \uc218 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4 \uc720\ud615\uc785\ub2c8\ub2e4. CYOA \uc778\ud130\ud398\uc774\uc2a4\uc5d0\ub294 DIA, GRE \ud130\ub110, \ud504\ub77c\uc774\ube57 \ud53c\uc5b4\ub9c1 \ub4f1 \ub2e4\uc591\ud55c \ubc29\ubc95\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uad6c\uc131 \uc138\ubd80 \uc815\ubcf4\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

\uacf5\uc6a9 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc81c\uacf5\ub418\ub294 \uc5f0\uacb0\uc5d0 \ub300\ud55c \ud45c\uc900 \ub124\ud2b8\uc6cc\ud0b9 \uc6a9\uc5b4\uc785\ub2c8\ub2e4. DoubleZero\uc5d0\uc11c DIA\ub294 \uc0ac\uc6a9\uc790(\uac80\uc99d\uc790, RPC \uc6b4\uc601\uc790)\uac00 \uae30\uc874 \uc778\ud130\ub137 \uc5f0\uacb0\uc744 \ud1b5\ud574 DZD\uc5d0 \uc5f0\uacb0\ud558\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4 \uc720\ud615\uc785\ub2c8\ub2e4.

"},{"location":"ko/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

\uac80\uc99d\uc790\uc640 RPC \ub178\ub4dc\uac00 \ube14\ub85d\uccb4\uc778 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud558\uc9c0 \uc54a\uace0 DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \uc5f0\uacb0 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. IBRL\uc740 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\uace0 \uac00\uc7a5 \uac00\uae4c\uc6b4 DZD\uc5d0 \uc624\ubc84\ub808\uc774 \ud130\ub110\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc124\uc815 \uc9c0\uce68\uc740 Mainnet-Beta \uc5f0\uacb0\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_8","title":"\uba40\ud2f0\uce90\uc2a4\ud2b8","text":"

DoubleZero\uc5d0\uc11c \uc9c0\uc6d0\ud558\ub294 \uc77c\ub300\ub2e4 \ud328\ud0b7 \uc804\ub2ec \ubc29\ubc95\uc785\ub2c8\ub2e4. \uba40\ud2f0\uce90\uc2a4\ud2b8 \ubaa8\ub4dc\uc5d0\ub294 \ubc1c\ud589\uc790(\ub124\ud2b8\uc6cc\ud06c \uc804\uccb4\uc5d0 \ud328\ud0b7 \uc804\uc1a1)\uc640 \uad6c\ub3c5\uc790(\ubc1c\ud589\uc790\ub85c\ubd80\ud130 \ud328\ud0b7 \uc218\uc2e0)\uc758 \ub450 \uac00\uc9c0 \uc5ed\ud560\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uac1c\ubc1c \ud300\uc774 \ud6a8\uc728\uc801\uc778 \ub370\uc774\ud130 \ubc30\ud3ec\ub97c \uc704\ud574 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc5f0\uacb0 \uc138\ubd80 \uc815\ubcf4\ub294 \uae30\ud0c0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_9","title":"\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uad6c\uc131 \uc694\uc18c","text":""},{"location":"ko/glossary/#doublezerod","title":"doublezerod","text":"

\uc0ac\uc6a9\uc790 \uc11c\ubc84(\uac80\uc99d\uc790, RPC \ub178\ub4dc)\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 DoubleZero \ub370\ubaac \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc744 \uad00\ub9ac\ud558\uace0, \ud130\ub110 \uc124\uc815\uc744 \ucc98\ub9ac\ud558\uba70, DZD\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4. systemd\ub97c \ud1b5\ud574 \uad6c\uc131\ub418\uace0 doublezero CLI\ub97c \ud1b5\ud574 \uc81c\uc5b4\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc640 \uc0c1\ud638\uc791\uc6a9\ud558\uae30 \uc704\ud55c \uba85\ub839\uc904 \uc778\ud130\ud398\uc774\uc2a4\uc785\ub2c8\ub2e4. \uc5f0\uacb0, \uc544\uc774\ub374\ud2f0\ud2f0 \uad00\ub9ac, \uc0c1\ud0dc \ud655\uc778 \ubc0f \uad00\ub9ac \uc791\uc5c5\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. doublezerod \ub370\ubaac\uacfc \ud1b5\uc2e0\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#config-agent","title":"Config Agent","text":"

DZD\uc5d0\uc11c \uc2e4\ud589\ub418\uc5b4 \uc7a5\uce58 \uad6c\uc131\uc744 \uad00\ub9ac\ud558\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4. \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\uc5d0\uc11c \uad6c\uc131\uc744 \uc77d\uace0 \uc7a5\uce58\uc5d0 \ubcc0\uacbd\uc0ac\ud56d\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4. \uc124\uc815\uc740 Config Agent \uc124\uce58\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

DZD\uc5d0\uc11c \uc2e4\ud589\ub418\uc5b4 \uc131\ub2a5 \uc9c0\ud45c(\ub300\uae30 \uc2dc\uac04, \uc9c0\ud130, \ud328\ud0b7 \uc190\uc2e4)\ub97c \uc218\uc9d1\ud558\uace0 DoubleZero \ub808\uc800\uc5d0 \uc81c\ucd9c\ud558\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4. \uc124\uc815\uc740 Telemetry Agent \uc124\uce58\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_10","title":"\ucee8\ud2b8\ub864\ub7ec","text":"

DZD \uc5d0\uc774\uc804\ud2b8\uc5d0 \uad6c\uc131\uc744 \uc81c\uacf5\ud558\ub294 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. \ucee8\ud2b8\ub864\ub7ec\ub294 DoubleZero \ub808\uc800\uc758 \uc628\uccb4\uc778 \uc0c1\ud0dc\uc5d0\uc11c \uc7a5\uce58 \uad6c\uc131\uc744 \ub3c4\ucd9c\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_11","title":"\ub9c1\ud06c \uc0c1\ud0dc","text":""},{"location":"ko/glossary/#activated","title":"\ud65c\uc131\ud654\ub428 (Activated)","text":"

\ub9c1\ud06c\uc758 \uc815\uc0c1 \uc6b4\uc601 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \ud2b8\ub798\ud53d\uc774 \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud750\ub974\uace0 \ub77c\uc6b0\ud305 \uacb0\uc815\uc5d0 \ucc38\uc5ec\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#soft-drained","title":"\uc18c\ud504\ud2b8 \ub4dc\ub808\uc778 (Soft-Drained)","text":"

\ud2b9\uc815 \ub9c1\ud06c\uc758 \ud2b8\ub798\ud53d\uc744 \uc904\uc774\ub294 \uc720\uc9c0\ubcf4\uc218 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \uc810\uc9c4\uc801\uc778 \uc720\uc9c0\ubcf4\uc218 \ucc3d\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud65c\uc131\ud654\ub428 \ub610\ub294 \ud558\ub4dc \ub4dc\ub808\uc778\uc73c\ub85c \uc804\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/glossary/#hard-drained","title":"\ud558\ub4dc \ub4dc\ub808\uc778 (Hard-Drained)","text":"

\ub9c1\ud06c\uac00 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc644\uc804\ud788 \uc81c\uac70\ub418\ub294 \uc720\uc9c0\ubcf4\uc218 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc774 \ud750\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud65c\uc131\ud654\ub428\uc73c\ub85c \ub3cc\uc544\uac00\uae30 \uc804\uc5d0 \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778\uc73c\ub85c \uc804\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_12","title":"\uc870\uc9c1 \ubc0f \ud1a0\ud070","text":""},{"location":"ko/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

DoubleZero Foundation\uc740 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \uac1c\ubc1c, \ud0c8\uc911\uc559\ud654, \ubcf4\uc548 \ubc0f \ucc44\ud0dd\uc744 \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \uc124\ub9bd\ub41c \ube44\ud68c\uc6d0 \ube44\uc601\ub9ac \ucf00\uc774\ub9e8 \uc81c\ub3c4 \ud30c\uc6b4\ub370\uc774\uc158 \ucef4\ud37c\ub2c8\uc785\ub2c8\ub2e4.

"},{"location":"ko/glossary/#2z","title":"2Z \ud1a0\ud070","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \ub124\uc774\ud2f0\ube0c \ud1a0\ud070\uc785\ub2c8\ub2e4. \uac80\uc99d\uc790 \uc218\uc218\ub8cc \ub0a9\ubd80 \ubc0f \uae30\uc5ec\uc790\uc5d0\uac8c \ubcf4\uc0c1 \ubc30\ud3ec\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uac80\uc99d\uc790\ub294 \uc628\uccb4\uc778 \uc2a4\uc651 \ud504\ub85c\uadf8\ub7a8\uc744 \ud1b5\ud574 2Z\ub85c \uc218\uc218\ub8cc\ub97c \ub0a9\ubd80\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. 2Z\ub85c \uc218\uc218\ub8cc \ub0a9\ubd80 \ubc0f SOL\uc744 2Z\ub85c \uc2a4\uc651\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#contributor","title":"\uae30\uc5ec\uc790 (Contributor)","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ub300\uc5ed\ud3ed\uacfc \ud558\ub4dc\uc6e8\uc5b4\ub97c \uae30\uc5ec\ud558\ub294 \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub294 DZD\ub97c \uc6b4\uc601\ud558\uace0 WAN \ubc0f DZX \ub9c1\ud06c\ub97c \uc81c\uacf5\ud558\uba70 \uae30\uc5ec\uc5d0 \ub300\ud55c 2Z \ud1a0\ud070 \uc778\uc13c\ud2f0\ube0c\ub97c \ubc1b\uc2b5\ub2c8\ub2e4. \uc2dc\uc791\ud558\ub824\uba74 \uae30\uc5ec\uc790 \ubb38\uc11c\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_13","title":"\ub124\ud2b8\uc6cc\ud0b9 \uac1c\ub150","text":""},{"location":"ko/glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

\ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\ub97c \ud1b5\ud574 \uc804\uc1a1\ud560 \uc218 \uc788\ub294 \uac00\uc7a5 \ud070 \ud328\ud0b7 \ud06c\uae30(\ubc14\uc774\ud2b8)\uc785\ub2c8\ub2e4. DoubleZero WAN \ub9c1\ud06c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud6a8\uc728\uc131\uc744 \uc704\ud574 MTU 9000(\uc810\ubcf4 \ud504\ub808\uc784)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

\ub3d9\uc77c\ud55c \ubb3c\ub9ac\uc801 \ub77c\uc6b0\ud130\uc5d0 \uc5ec\ub7ec \uac1c\uc758 \uaca9\ub9ac\ub41c \ub77c\uc6b0\ud305 \ud14c\uc774\ube14\uc774 \uc874\uc7ac\ud560 \uc218 \uc788\ub294 \uae30\uc220\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub294 \uc885\uc885 \ubcc4\ub3c4\uc758 \uad00\ub9ac VRF\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2a4\uc704\uce58 \uad00\ub9ac \ud2b8\ub798\ud53d\uc744 \ud504\ub85c\ub355\uc158 \ud2b8\ub798\ud53d\uc73c\ub85c\ubd80\ud130 \uaca9\ub9ac\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

IP \ud328\ud0b7 \ub0b4\uc5d0 \ub124\ud2b8\uc6cc\ud06c \ud328\ud0b7\uc744 \ucea1\uc290\ud654\ud558\ub294 \ud130\ub110\ub9c1 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uc640 DZD \uac04\uc5d0 \uc624\ubc84\ub808\uc774 \ud130\ub110\uc744 \uc0dd\uc131\ud558\uae30 \uc704\ud574 IBRL \ubc0f CYOA \uc5f0\uacb0\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

\uc778\ud130\ub137\uc758 \ub124\ud2b8\uc6cc\ud06c \uac04 \ub77c\uc6b0\ud305 \uc815\ubcf4 \uad50\ud658\uc5d0 \uc0ac\uc6a9\ub418\ub294 \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. DoubleZero\ub294 ASN 65342\ub85c \ub0b4\ubd80\uc801\uc73c\ub85c BGP\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

BGP \ub77c\uc6b0\ud305\uc744 \uc704\ud574 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ud560\ub2f9\ub41c \uace0\uc720 \uc2dd\ubcc4\uc790\uc785\ub2c8\ub2e4. \ubaa8\ub4e0 DoubleZero \uc7a5\uce58\ub294 \ub0b4\ubd80 BGP \ud504\ub85c\uc138\uc2a4\uc5d0 ASN 65342\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_14","title":"\ub8e8\ud504\ubc31 \uc778\ud130\ud398\uc774\uc2a4","text":"

\uad00\ub9ac \ubc0f \ub77c\uc6b0\ud305 \ubaa9\uc801\uc73c\ub85c \ub77c\uc6b0\ud130/\uc2a4\uc704\uce58\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uac00\uc0c1 \ub124\ud2b8\uc6cc\ud06c \uc778\ud130\ud398\uc774\uc2a4\uc785\ub2c8\ub2e4. DZD\ub294 \ub0b4\ubd80 \ub77c\uc6b0\ud305\uc5d0 Loopback255 (VPNv4) \ubc0f Loopback256 (IPv4)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

IP \uc8fc\uc18c \ubc94\uc704\ub97c \uc9c0\uc815\ud558\uae30 \uc704\ud55c \ud45c\uae30\ubc95\uc785\ub2c8\ub2e4. \ud615\uc2dd\uc740 IP/\ud504\ub9ac\ud53d\uc2a4-\uae38\uc774\uc774\uba70 \ud504\ub9ac\ud53d\uc2a4 \uae38\uc774\ub294 \ub124\ud2b8\uc6cc\ud06c \ud06c\uae30\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4(\uc608: /29 = 8\uac1c \uc8fc\uc18c, /24 = 256\uac1c \uc8fc\uc18c).

"},{"location":"ko/glossary/#jitter","title":"\uc9c0\ud130 (Jitter)","text":"

\uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \ud328\ud0b7 \ub300\uae30 \uc2dc\uac04\uc758 \ubcc0\ub3d9\uc785\ub2c8\ub2e4. \ub0ae\uc740 \uc9c0\ud130\ub294 \uc2e4\uc2dc\uac04 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

\ud328\ud0b7\uc774 \uc18c\uc2a4\uc5d0\uc11c \ubaa9\uc801\uc9c0\uae4c\uc9c0 \uc774\ub3d9\ud558\uace0 \ub2e4\uc2dc \ub3cc\uc544\uc624\ub294 \uc2dc\uac04\uc785\ub2c8\ub2e4. \uc7a5\uce58 \uac04 \ub124\ud2b8\uc6cc\ud06c \ub300\uae30 \uc2dc\uac04\uc744 \uce21\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

\ub300\uae30 \uc2dc\uac04 \ubc0f \ud328\ud0b7 \uc190\uc2e4\uacfc \uac19\uc740 \ub124\ud2b8\uc6cc\ud06c \uc131\ub2a5 \uc9c0\ud45c\ub97c \uce21\uc815\ud558\uae30 \uc704\ud55c \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. Telemetry Agent\ub294 TWAMP\ub97c \uc0ac\uc6a9\ud558\uc5ec DZD \uac04\uc758 \uc9c0\ud45c\ub97c \uc218\uc9d1\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \ub0b4\ubd80\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \ub9c1\ud06c \uc0c1\ud0dc \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. IS-IS \uc9c0\ud45c\ub294 \ub9c1\ud06c \ub4dc\ub808\uc778 \uc791\uc5c5 \uc911\uc5d0 \uc870\uc815\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_15","title":"\ube14\ub85d\uccb4\uc778 \ubc0f \ud0a4","text":""},{"location":"ko/glossary/#onchain","title":"\uc628\uccb4\uc778 (Onchain)","text":"

DoubleZero \ub9e5\ub77d\uc5d0\uc11c \uc628\uccb4\uc778\uc740 DoubleZero \ub808\uc800\uc5d0 \uae30\ub85d\ub41c \ub370\uc774\ud130\uc640 \uc791\uc5c5\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc7a5\uce58 \ubc0f \ub9c1\ud06c \uad6c\uc131\uc774 \uc911\uc559\ud654\ub41c \uad00\ub9ac \uc2dc\uc2a4\ud15c\uc5d0 \uc788\ub294 \uae30\uc874 \ub124\ud2b8\uc6cc\ud06c\uc640 \ub2ec\ub9ac DoubleZero\ub294 \uc7a5\uce58 \ub4f1\ub85d, \ub9c1\ud06c \uad6c\uc131 \ubc0f \ud154\ub808\uba54\ud2b8\ub9ac \uc81c\ucd9c\uc744 \uc628\uccb4\uc778\uc73c\ub85c \uae30\ub85d\ud558\uc5ec \ubaa8\ub4e0 \ucc38\uc5ec\uc790\uac00 \ub124\ud2b8\uc6cc\ud06c \uc0c1\ud0dc\ub97c \ud22c\uba85\ud558\uace0 \uac80\uc99d \uac00\ub2a5\ud558\uac8c \ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#service-key","title":"\uc11c\ube44\uc2a4 \ud0a4 (Service Key)","text":"

CLI \uc791\uc5c5\uc744 \uc778\uc99d\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \uc554\ud638\ud654 \ud0a4\uc30d\uc785\ub2c8\ub2e4. DoubleZero \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uacfc \uc0c1\ud638\uc791\uc6a9\ud558\uae30 \uc704\ud55c \uae30\uc5ec\uc790 \uc544\uc774\ub374\ud2f0\ud2f0\uc785\ub2c8\ub2e4. ~/.config/solana/id.json\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#metrics-publisher-key","title":"\uba54\ud2b8\ub9ad\uc2a4 \ubc1c\ud589\uc790 \ud0a4 (Metrics Publisher Key)","text":"

\ube14\ub85d\uccb4\uc778\uc5d0 \uc9c0\ud45c \uc81c\ucd9c\uc744 \uc11c\uba85\ud558\uae30 \uc704\ud574 Telemetry Agent\uac00 \uc0ac\uc6a9\ud558\ub294 \uc554\ud638\ud654 \ud0a4\uc30d\uc785\ub2c8\ub2e4. \ubcf4\uc548 \uaca9\ub9ac\ub97c \uc704\ud574 \uc11c\ube44\uc2a4 \ud0a4\uc640 \ubcc4\ub3c4\uc785\ub2c8\ub2e4. ~/.config/doublezero/metrics-publisher.json\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_16","title":"\ud558\ub4dc\uc6e8\uc5b4 \ubc0f \uc18c\ud504\ud2b8\uc6e8\uc5b4","text":""},{"location":"ko/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

DZD \uc2a4\uc704\uce58\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 Arista\uc758 \ub124\ud2b8\uc6cc\ud06c \uc6b4\uc601 \uccb4\uc81c\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub294 Config Agent \ubc0f Telemetry Agent\ub97c EOS \ud655\uc7a5\uc73c\ub85c \uc124\uce58\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#eos","title":"EOS \ud655\uc7a5","text":"

Arista EOS \uc2a4\uc704\uce58\uc5d0 \uc124\uce58\ud560 \uc218 \uc788\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ud328\ud0a4\uc9c0\uc785\ub2c8\ub2e4. DZ \uc5d0\uc774\uc804\ud2b8\ub294 .rpm \ud30c\uc77c\ub85c \ubc30\ud3ec\ub418\uba70 extension \uba85\ub839\uc744 \ud1b5\ud574 \uc124\uce58\ub429\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"ko/multicast-admin/#doublezero","title":"DoubleZero \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \uad00\ub9ac","text":"

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \uacf5\ud1b5 \uc2dd\ubcc4\uc790(\uc77c\ubc18\uc801\uc73c\ub85c \uba40\ud2f0\uce90\uc2a4\ud2b8 IP \uc8fc\uc18c)\ub97c \uacf5\uc720\ud558\uc5ec \uc5ec\ub7ec \uc218\uc2e0\uc790\uc5d0\uac8c \ub370\uc774\ud130\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uc804\uc1a1\ud558\ub294 \uc7a5\uce58 \ub610\ub294 \ub124\ud2b8\uc6cc\ud06c \ub178\ub4dc\uc758 \ub17c\ub9ac\uc801 \uc9d1\ud569\uc785\ub2c8\ub2e4. \uc720\ub2c8\uce90\uc2a4\ud2b8(1:1) \ub610\ub294 \ube0c\ub85c\ub4dc\uce90\uc2a4\ud2b8(1:\uc804\uccb4) \ud1b5\uc2e0\uacfc \ub2ec\ub9ac \uba40\ud2f0\uce90\uc2a4\ud2b8\ub294 \uc1a1\uc2e0\uc790\uac00 \ub2e8\uc77c \ub370\uc774\ud130 \uc2a4\ud2b8\ub9bc\uc744 \uc804\uc1a1\ud558\uba74 \ub124\ud2b8\uc6cc\ud06c\uac00 \uadf8\ub8f9\uc5d0 \uac00\uc785\ud55c \uc218\uc2e0\uc790\uc5d0\uac8c\ub9cc \uc774\ub97c \ubcf5\uc81c\ud558\uc5ec \uc804\ub2ec\ud569\ub2c8\ub2e4.

\uc774 \ubc29\uc2dd\uc740 \ud328\ud0b7\uc774 \ub9c1\ud06c\ub2f9 \ud55c \ubc88\ub9cc \uc804\uc1a1\ub418\uace0 \uc5ec\ub7ec \uad6c\ub3c5\uc790\uc5d0\uac8c \ub3c4\ub2ec\ud558\uae30 \uc704\ud574 \ud544\uc694\ud560 \ub54c\ub9cc \ubcf5\uc81c\ub418\ubbc0\ub85c \ub300\uc5ed\ud3ed \uc0ac\uc6a9\uc744 \ucd5c\uc801\ud654\ud558\uace0 \uc1a1\uc2e0\uc790 \ubc0f \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c\uc758 \ubd80\ud558\ub97c \uc904\uc785\ub2c8\ub2e4. \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \ub77c\uc774\ube0c \ube44\ub514\uc624 \uc2a4\ud2b8\ub9ac\ubc0d, \ud68c\uc758, \uae08\uc735 \ub370\uc774\ud130 \ubc30\ud3ec, \uc2e4\uc2dc\uac04 \uba54\uc2dc\uc9d5 \uc2dc\uc2a4\ud15c \ub4f1\uc758 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \uc77c\ubc18\uc801\uc73c\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

DoubleZero\uc5d0\uc11c \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \uac01 \uadf8\ub8f9 \ub0b4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubcf4\ub0bc \uc218 \uc788\ub294 \uc0ac\ub78c(\ubc1c\ud589\uc790)\uacfc \ubc1b\uc744 \uc218 \uc788\ub294 \uc0ac\ub78c(\uad6c\ub3c5\uc790)\uc744 \uad00\ub9ac\ud558\ub294 \uc548\uc804\ud558\uace0 \uc81c\uc5b4\ub41c \uba54\ucee4\ub2c8\uc998\uc744 \uc81c\uacf5\ud558\uc5ec \ud6a8\uc728\uc801\uc774\uace0 \uad00\ub9ac\ub418\ub294 \uc815\ubcf4 \ubc30\ud3ec\ub97c \ubcf4\uc7a5\ud569\ub2c8\ub2e4.

flowchart LR\n    subgraph Publishers\n        P1[\ubc1c\ud589\uc790 1]\n        P2[\ubc1c\ud589\uc790 2]\n        P3[\ubc1c\ud589\uc790 3]\n    end\n    subgraph Subscribers\n        S1[\uad6c\ub3c5\uc790 1]\n        S2[\uad6c\ub3c5\uc790 2]\n        S3[\uad6c\ub3c5\uc790 3]\n        S4[\uad6c\ub3c5\uc790 4]\n    end\n    P1 --> B[\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

\uc704 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc740 \uc5ec\ub7ec \uc0ac\uc6a9\uc790\uac00 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \uba54\uc2dc\uc9c0\ub97c \ubc1c\ud589\ud558\uace0 \uc5ec\ub7ec \uc0ac\uc6a9\uc790\uac00 \ud574\ub2f9 \uba54\uc2dc\uc9c0\ub97c \uc218\uc2e0\ud558\uae30 \uc704\ud574 \uad6c\ub3c5\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \ud328\ud0b7\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \ubcf5\uc81c\ud558\uc5ec \ubaa8\ub4e0 \uad6c\ub3c5\uc790\uac00 \ubd88\ud544\uc694\ud55c \uc804\uc1a1 \uc624\ubc84\ud5e4\ub4dc \uc5c6\uc774 \uba54\uc2dc\uc9c0\ub97c \ubc1b\uc744 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#1","title":"1. \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \uc0dd\uc131 \ubc0f \ubaa9\ub85d \uc870\ud68c","text":"

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 DoubleZero\uc758 \uc548\uc804\ud558\uace0 \ud6a8\uc728\uc801\uc778 \ub370\uc774\ud130 \ubc30\ud3ec\ub97c \uc704\ud55c \uae30\ubc18\uc785\ub2c8\ub2e4. \uac01 \uadf8\ub8f9\uc740 \uace0\uc720\ud558\uac8c \uc2dd\ubcc4\ub418\uba70 \ud2b9\uc815 \ub300\uc5ed\ud3ed\uacfc \uc18c\uc720\uc790\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4. \uc0c8 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 DoubleZero Foundation \uad00\ub9ac\uc790\ub9cc \uc0dd\uc131\ud560 \uc218 \uc788\uc5b4 \uc801\uc808\ud55c \uac70\ubc84\ub10c\uc2a4\uc640 \ub9ac\uc18c\uc2a4 \ud560\ub2f9\uc744 \ubcf4\uc7a5\ud569\ub2c8\ub2e4.

\uc0dd\uc131\ub41c \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \ubaa8\ub4e0 \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uadf8\ub8f9, \uadf8 \uad6c\uc131 \ubc0f \ud604\uc7ac \uc0c1\ud0dc\uc5d0 \ub300\ud55c \uac1c\uc694\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \ubaa9\ub85d \uc870\ud68c\uac00 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\ub294 \ub124\ud2b8\uc6cc\ud06c \uc6b4\uc601\uc790\uc640 \uadf8\ub8f9 \uc18c\uc720\uc790\uac00 \ub9ac\uc18c\uc2a4\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \uc561\uc138\uc2a4\ub97c \uad00\ub9ac\ud558\ub294 \ub370 \ud544\uc218\uc801\uc785\ub2c8\ub2e4.

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \uc0dd\uc131:

\uc0c8 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 DoubleZero Foundation\ub9cc \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0dd\uc131 \uba85\ub839\uc5d0\ub294 \uace0\uc720 \ucf54\ub4dc, \ucd5c\ub300 \ub300\uc5ed\ud3ed, \uc18c\uc720\uc790 \uacf5\uac1c \ud0a4(\ub610\ub294 \ud604\uc7ac \uc9c0\ubd88\uc790\uc758 \uacbd\uc6b0 'me')\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

\ubaa8\ub4e0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \ubaa9\ub85d \uc870\ud68c:

\ubaa8\ub4e0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc694\uc57d \uc815\ubcf4(\uadf8\ub8f9 \ucf54\ub4dc, \uba40\ud2f0\uce90\uc2a4\ud2b8 IP, \ub300\uc5ed\ud3ed, \ubc1c\ud589\uc790 \ubc0f \uad6c\ub3c5\uc790 \uc218, \uc0c1\ud0dc, \uc18c\uc720\uc790 \ud3ec\ud568)\ub97c \uc870\ud68c\ud558\ub824\uba74:

doublezero multicast group list\n

\uc0d8\ud50c \ucd9c\ub825:

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\uc774 \uba85\ub839\uc740 \ubaa8\ub4e0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc8fc\uc694 \uc18d\uc131\uc774 \ud3ec\ud568\ub41c \ud45c\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4: - account: \uadf8\ub8f9 \uacc4\uc815 \uc8fc\uc18c - code: \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \ucf54\ub4dc - multicast_ip: \uadf8\ub8f9\uc5d0 \ud560\ub2f9\ub41c \uba40\ud2f0\uce90\uc2a4\ud2b8 IP \uc8fc\uc18c - max_bandwidth: \uadf8\ub8f9\uc758 \ucd5c\ub300 \ud5c8\uc6a9 \ub300\uc5ed\ud3ed - publishers: \uadf8\ub8f9\uc758 \ubc1c\ud589\uc790 \uc218 - subscribers: \uadf8\ub8f9\uc758 \uad6c\ub3c5\uc790 \uc218 - status: \ud604\uc7ac \uc0c1\ud0dc (\uc608: activated) - owner: \uc18c\uc720\uc790 \uacf5\uac1c \ud0a4

\uadf8\ub8f9\uc774 \uc0dd\uc131\ub418\uba74 \uc18c\uc720\uc790\ub294 \ubc1c\ud589\uc790 \ub610\ub294 \uad6c\ub3c5\uc790\ub85c \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \uc0ac\uc6a9\uc790\ub97c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#2","title":"2. \ubc1c\ud589\uc790/\uad6c\ub3c5\uc790 \ud5c8\uc6a9 \ubaa9\ub85d \uad00\ub9ac","text":"

\ubc1c\ud589\uc790 \ubc0f \uad6c\ub3c5\uc790 \ud5c8\uc6a9 \ubaa9\ub85d\uc740 DoubleZero\uc758 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\ub97c \uc81c\uc5b4\ud558\ub294 \ub370 \ud544\uc218\uc801\uc785\ub2c8\ub2e4. \uc774 \ubaa9\ub85d\uc740 \ud2b9\uc815 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \ub0b4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubc1c\ud589(\uc804\uc1a1)\ud558\uac70\ub098 \uad6c\ub3c5(\uc218\uc2e0)\ud560 \uc218 \uc788\ub294 \uc0ac\uc6a9\uc790\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \uc815\uc758\ud569\ub2c8\ub2e4.

\uc774 \ubaa9\ub85d \uad00\ub9ac\ub294 \uadf8\ub8f9 \uc18c\uc720\uc790\uc758 \ucc45\uc784\uc774\uba70, DoubleZero CLI\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2b9\uc778\ub41c \ubc1c\ud589\uc790\uc640 \uad6c\ub3c5\uc790\ub97c \ucd94\uac00, \uc81c\uac70\ud558\uac70\ub098 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc801\uc808\ud55c \ud5c8\uc6a9 \ubaa9\ub85d \uad00\ub9ac\ub294 \uba40\ud2f0\uce90\uc2a4\ud2b8 \ud1b5\uc2e0\uc758 \ubcf4\uc548, \ubb34\uacb0\uc131 \ubc0f \ucd94\uc801 \uac00\ub2a5\uc131\uc744 \uc720\uc9c0\ud558\ub294 \ub370 \uc911\uc694\ud569\ub2c8\ub2e4.

\ucc38\uace0: \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \uad6c\ub3c5\ud558\uac70\ub098 \ubc1c\ud589\ud558\ub824\uba74 \uc0ac\uc6a9\uc790\uac00 \uba3c\uc800 \ud45c\uc900 \uc5f0\uacb0 \uc808\ucc28\ub97c \ub530\ub77c DoubleZero\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d \uc2b9\uc778\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc124\uba85\ub41c \ud5c8\uc6a9 \ubaa9\ub85d \uba85\ub839\uc740 \uc774\ubbf8 \uc2b9\uc778\ub41c DoubleZero \uc0ac\uc6a9\uc790\ub97c \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc5f0\uacb0\ud558\uae30\ub9cc \ud569\ub2c8\ub2e4. \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc758 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc0c8 IP\ub97c \ucd94\uac00\ud558\ub294 \uac83 \uc790\uccb4\ub85c\ub294 DoubleZero\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\uac00 \ubd80\uc5ec\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc0c1\ud638 \uc791\uc6a9\ud558\uae30 \uc804\uc5d0 \uc774\ubbf8 \uc77c\ubc18 \uc2b9\uc778 \ud504\ub85c\uc138\uc2a4\ub97c \uc644\ub8cc\ud588\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#_1","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \ubc1c\ud589\uc790 \ucd94\uac00","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_2","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0\uc11c \ubc1c\ud589\uc790 \uc81c\uac70","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_3","title":"\uadf8\ub8f9\uc758 \ubc1c\ud589\uc790 \ud5c8\uc6a9 \ubaa9\ub85d \uc870\ud68c","text":"

\ud2b9\uc815 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc758 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \ubc1c\ud589\uc790\ub97c \uc870\ud68c\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:

doublezero multicast group allowlist publisher list --code <CODE>\n

\uc608\uc2dc:

doublezero multicast group allowlist publisher list --code mg01\n

\uc0d8\ud50c \ucd9c\ub825:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\uc774 \uba85\ub839\uc740 \uc9c0\uc815\ub41c \uadf8\ub8f9\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \ud604\uc7ac \uc2b9\uc778\ub41c \ubaa8\ub4e0 \ubc1c\ud589\uc790(\uacc4\uc815, \uadf8\ub8f9 \ucf54\ub4dc, \ud074\ub77c\uc774\uc5b8\ud2b8 IP, \uc0ac\uc6a9\uc790 \uc9c0\ubd88\uc790 \ud3ec\ud568)\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#_4","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uad6c\ub3c5\uc790 \ucd94\uac00","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_5","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0\uc11c \uad6c\ub3c5\uc790 \uc81c\uac70","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_6","title":"\uadf8\ub8f9\uc758 \uad6c\ub3c5\uc790 \ud5c8\uc6a9 \ubaa9\ub85d \uc870\ud68c","text":"

\ud2b9\uc815 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc758 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \uad6c\ub3c5\uc790\ub97c \uc870\ud68c\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:

doublezero multicast group allowlist subscriber list --code <CODE>\n

\uc608\uc2dc:

doublezero multicast group allowlist subscriber list --code mg01\n

\uc0d8\ud50c \ucd9c\ub825:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\uc774 \uba85\ub839\uc740 \uc9c0\uc815\ub41c \uadf8\ub8f9\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \ud604\uc7ac \uc2b9\uc778\ub41c \ubaa8\ub4e0 \uad6c\ub3c5\uc790(\uacc4\uc815, \uadf8\ub8f9 \ucf54\ub4dc, \ud074\ub77c\uc774\uc5b8\ud2b8 IP, \uc0ac\uc6a9\uc790 \uc9c0\ubd88\uc790 \ud3ec\ud568)\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0 \ubc0f \uc0ac\uc6a9\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uae30\ud0c0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/paying-fees/","title":"\uac80\uc99d\uc790 \uac00\uaca9 \ubc0f \uc218\uc218\ub8cc","text":"

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.

Solana \uac80\uc99d\uc790\ub97c \uc704\ud55c \uac04\ub2e8\ud558\uace0 \ud22c\uba85\ud55c \uac00\uaca9

\uc218\uc218\ub8cc\ub294 2024\ub144 10\uc6d4 4\uc77c \ud1a0\uc694\uc77c \ub3d9\ubd80 \uc2dc\uac04 \uc624\uc804 4\uc2dc\uc5d0 \uc2dc\uc791\ub418\ub294 859 \uc5d0\ud3ec\ud06c\ubd80\ud130 \uc2dc\uc791\ub429\ub2c8\ub2e4. \ube14\ub85d \uc11c\uba85 \ubcf4\uc0c1 \ubc0f \uc6b0\uc120 \uc218\uc218\ub8cc\uc5d0 \ub300\ud574 \uade0\uc77c\ud55c 5% \uc218\uc218\ub8cc\uac00 \ubd80\uacfc\ub429\ub2c8\ub2e4.

\uc218\uc218\ub8cc\ub294 DoubleZero\ub97c \uac00\ub2a5\ud558\uac8c \ud558\ub294 \uc778\ud504\ub77c, \uc989 \ub370\uc774\ud130 \uc13c\ud130\uc758 \ubb3c\ub9ac\uc801 \uad11\uc12c\uc720 \ub77c\uc778 \ubc0f \uc7a5\ube44\uc5d0 \uc9c1\uc811 \uc790\uae08\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.

\uc218\uc218\ub8cc\uac00 \uc874\uc7ac\ud558\ub294 \uc774\uc720\uc640 \uac80\uc99d\uc790 \uac00\uaca9 \ubaa8\ub378\uc5d0 \ub300\ud55c \uc2ec\uce35\uc801\uc778 \ud0d0\uad6c\ub294 \uc5ec\uae30\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc774 \uac00\uc774\ub4dc\ub294 \uae30\uc220\uc801 \uad00\uc810\uc5d0\uc11c \uc218\uc218\ub8cc\uac00 \uc5b4\ub5bb\uac8c \ub0a9\ubd80\ub418\ub294\uc9c0\uc5d0 \ucd08\uc810\uc744 \ub9de\ucda5\ub2c8\ub2e4.

"},{"location":"ko/paying-fees/#_2","title":"\uacb0\uc81c \ubaa8\ub378","text":""},{"location":"ko/paying-fees/#_3","title":"\uc218\uc218\ub8cc \ucd94\uc815","text":"

\uacfc\uac70 \ucd94\uc815\uce58 \ubc0f \uacf5\uac1c \ud0a4\ubcc4 \ub370\uc774\ud130\ub294 \uc218\uc218\ub8cc \ucd94\uc815 \uc800\uc7a5\uc18c\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc800\uc7a5\uc18c\ub294 \uc628\uccb4\uc778 \ub370\uc774\ud130\ub97c \ub300\uccb4\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc800\uc7a5\uc18c\uc758 \uc794\uc561\uc774 \uc544\ub2cc \uc628\uccb4\uc778 \uc794\uc561\uc744 \uad00\ub9ac\ud560 \ucc45\uc784\uc774 \uc788\uc2b5\ub2c8\ub2e4.

\uc9c8\ubb38\uc774 \uc788\uc73c\uc2dc\uba74 Nihar Shah(nihar@doublezero.us)\uc5d0\uac8c \uc5f0\ub77d\ud558\uc138\uc694.

"},{"location":"ko/paying-fees/#_4","title":"\uac1c\ubc1c\uc790 \uc138\ubd80 \uc815\ubcf4","text":""},{"location":"ko/paying-fees/#_5","title":"\uba85\ub839\uc904 \uc778\ud130\ud398\uc774\uc2a4","text":"

DoubleZero CLI\ub294 \uac80\uc99d\uc790 \ubcf4\uc99d\uae08\uc744 \uad00\ub9ac\ud558\uace0 \uc794\uc561\uc744 \ubaa8\ub2c8\ud130\ub9c1\ud558\ub294 \uba85\ub839\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud558\ub294 \uacc4\uc815\uc5d0\ub294 \uac00\uc2a4 \ube44\uc6a9\uc744 \uc704\ud55c SOL\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/paying-fees/#1","title":"1\ub2e8\uacc4: \ubbf8\ub0a9 \ucc44\ubb34 \uc774\ud574","text":"

\ud2b9\uc815 \uc8fc\uc18c\uc758 \ucc44\ubb34\ub97c \ubcf4\ub824\uba74 \ub2e4\uc74c \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
\uc544\ub798\uc5d0\uc11c \uc608\uc81c \ucd9c\ub825\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
\uc0d8\ud50c \ucd9c\ub825\uc5d0\ub294 note \uc544\ub798\uc5d0 \ub450 \uac00\uc9c0 \ub2e4\ub978 \ucd9c\ub825\uc774 \uc788\uc2b5\ub2c8\ub2e4. Not funded\ub294 \uacc4\uc815\uc5d0 \uc790\uae08\uc774 \uc5c6\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\uc5d0\uc11c 0.632515639 SOL needed\ub294 \ub300\uc0c1 \uac80\uc99d\uc790 ID\uc640 \uad00\ub828\ub41c \ud604\uc7ac \ubbf8\ub0a9 \ucc44\ubb34\ub97c \ubaa8\ub450 \ub0a9\ubd80\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubbf8\ub0a9 SOL \uae08\uc561\uc785\ub2c8\ub2e4.

"},{"location":"ko/paying-fees/#2","title":"2\ub2e8\uacc4: \ubbf8\ub0a9 \ucc44\ubb34 \ub0a9\ubd80","text":"

Note

\uc774 \uba85\ub839\uc744 \uc815\uae30\uc801\uc778 \uac04\uaca9\uc73c\ub85c \uc2e4\ud589\ud558\ub3c4\ub85d \uc608\uc57d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\ubbf8\ub0a9 \ucc44\ubb34\ub97c \ub0a9\ubd80\ud558\ub824\uba74 \ub2e4\uc74c \uba85\ub839\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uba85\ub839\uc740 \uc790\ub3d9\uc73c\ub85c $HOME/.config/solana/id.json\uc758 \uae30\ubcf8 \ud0a4\uc30d\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

\uba85\ub839 \ub05d\uc5d0 -k path/to/keypair.json \uc778\uc218\ub97c \ucd94\uac00\ud558\uc5ec \ucc44\ubb34 \ub0a9\ubd80\uc5d0 \uc0ac\uc6a9\ud560 \ud0a4\uc30d\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
\uc544\ub798\uc5d0 \uc608\uc81c \ucd9c\ub825\uc774 \uc81c\uacf5\ub429\ub2c8\ub2e4.

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: \uc790\uae08\uc774 \uc9c0\uc6d0\ub41c \ubcf4\uc99d\uae08 \uacc4\uc815\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4

Funded: \uc990\uaca8\ucc3e\ub294 Solana \ud0d0\uc0c9\uae30\uc5d0\uc11c \uc870\ud68c\ud560 \uc218 \uc788\ub294 \ud2b8\ub79c\uc7ad\uc158 \ud574\uc2dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4

Node ID: \ub0a9\ubd80\ub41c \uac80\uc99d\uc790 ID\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4

Balance: \uc804\uc1a1 \uc644\ub8cc \ud6c4 \ubcf4\uc99d\uae08 \uacc4\uc815\uc758 SOL \uae08\uc561\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4

"},{"location":"ko/paying-fees2z/","title":"Paying fees2z","text":"

\ucf54\ub4dc \ub610\ub294 \uad00\ub828 \uc790\ub8cc\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \uba74\ucc45 \uc870\ud56d\uc744 \uac80\ud1a0\ud558\uc138\uc694.

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.

\uba74\ucc45 \uc870\ud56d

\uc774 \ubb38\uc11c\uc640 \uad00\ub828 \ucf54\ub4dc\ub294 \uc815\ubcf4 \ubc0f \uae30\uc220\uc801 \ubaa9\uc801\uc73c\ub85c\ub9cc \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc124\uba85\ub41c \ud1a0\ud070 \ubcc0\ud658 \uae30\ub2a5\uc740 \ube44\uc218\ud0c1\ud615\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uae30\ubcf8 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uacfc \uc9c1\uc811 \uc0c1\ud638 \uc791\uc6a9\ud558\uba70 \ud56d\uc0c1 \uc790\uc0b0\uc5d0 \ub300\ud55c \uc644\uc804\ud55c \ud1b5\uc81c\uad8c\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

\uc774 \uc2dc\uc2a4\ud15c\uc740 \uac1c\ubc1c\uc790 \ub610\ub294 \uac8c\uc2dc\uc790\uac00 \uac1c\ubc1c, \uc81c\uc5b4 \ub610\ub294 \uac80\ud1a0\ud558\uc9c0 \uc54a\uc740 \uc81c3\uc790 \ucf54\ub4dc, \ub370\uc774\ud130 \uc18c\uc2a4 \ub610\ub294 \uac00\uaca9 \ubc0f \uc218\uc218\ub8cc \uba54\ucee4\ub2c8\uc998(\uc608: \uc2a4\ub9c8\ud2b8 \uacc4\uc57d, API \ub610\ub294 \ud0c8\uc911\uc559\ud654 \uac70\ub798\uc18c)\uc5d0 \uc758\uc874\ud558\uac70\ub098 \uc0c1\ud638 \uc791\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc81c3\uc790 \uad6c\uc131 \uc694\uc18c\uc758 \uc815\ud655\uc131, \uae30\ub2a5 \ub610\ub294 \ubcf4\uc548\uc5d0 \ub300\ud55c \uc5b4\ub5a0\ud55c \ubcf4\uc99d\uc774\ub098 \ubcf4\uc7a5\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc815\ud655\uc131, \uc644\uc804\uc131 \ub610\ub294 \uc9c0\uc18d\uc801\uc778 \uac00\uc6a9\uc131\uc744 \ubcf4\uc7a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ubc0f \uad00\ub828 \uc790\ub8cc\ub294 \"\uc788\ub294 \uadf8\ub300\ub85c\" \uc81c\uacf5\ub418\uba70 \ubc84\uadf8, \uc624\ub958 \ub610\ub294 \ucde8\uc57d\uc810\uc774 \ud3ec\ud568\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc740 \uc804\uc801\uc73c\ub85c \uadc0\ud558\uc758 \ucc45\uc784\uc785\ub2c8\ub2e4. \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc774 \uacc4\uc57d\uc758 \uc0ac\uc6a9\uacfc \uad00\ub828\ud558\uc5ec \uc5b4\ub5a0\ud55c \uc218\uc218\ub8cc\ub3c4 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ub610\ub294 \uad00\ub828 \ubb38\uc11c\ub97c \uc720\uc9c0, \uc5c5\ub370\uc774\ud2b8 \ub610\ub294 \uc9c0\uc6d0\ud560 \uc758\ubb34\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774 \ubb38\uc11c\ub294 \ud1a0\ud070 \ubcc0\ud658, \uc2a4\uc651 \ub610\ub294 \uae30\ud0c0 \uac70\ub798\uc5d0 \ub9e4\ub3c4 \uc81c\uc548, \ub9e4\uc218 \uad8c\uc720 \ub610\ub294 \ucc38\uc5ec \uad8c\uc7a5\uc73c\ub85c \uad6c\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubc95\uc801, \uc7ac\uc815\uc801 \ub610\ub294 \ud22c\uc790 \uc870\uc5b8\uc740 \uc81c\uacf5\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ud65c\ub3d9\uc758 \ud569\ubc95\uc131\uc744 \uacb0\uc815\ud560 \uc804\uc801\uc778 \ucc45\uc784\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \uad00\ud560 \uc9c0\uc5ed\uc5d0\uc11c \uc801\uc6a9 \uac00\ub2a5\ud55c \ubc95\ub960\uacfc \uaddc\uc815\uc744 \uac80\ud1a0\ud558\uace0 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 \ubcc0\ud658\uc5d0 \ucc38\uc5ec\ud558\uae30 \uc804\uc5d0 \ub3c5\ub9bd\uc801\uc778 \uc5b4\ub4dc\ubc14\uc774\uc800\uc640 \uc0c1\ub2f4\ud574\uc57c \ud569\ub2c8\ub2e4. \uc81c\uc7ac \ub300\uc0c1 \ub610\ub294 \uc81c\ud55c\ub41c \uad00\ud560 \uc9c0\uc5ed\uc758 \uc0ac\ub78c \ub610\ub294 \uc8fc\uccb4\ub97c \ud3ec\ud568\ud558\uc5ec \ubd88\ubc95\uc774 \ub420 \uacbd\uc6b0 \uc0ac\uc6a9\uc774 \uae08\uc9c0\ub429\ub2c8\ub2e4.

\ubc95\ub960\uc774 \ud5c8\uc6a9\ud558\ub294 \ucd5c\ub300\ud55c\ub3c4 \ub0b4\uc5d0\uc11c \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \ucf54\ub4dc \uc0ac\uc6a9 \ub610\ub294 \ubcc0\ud658 \ucc38\uc5ec\uc640 \uad00\ub828\ud558\uc5ec \ubc1c\uc0dd\ud558\ub294 \uc190\uc2e4, \uc190\ud574 \ub610\ub294 \uccad\uad6c\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ucc45\uc784\uc744 \uba74\ucc45\ud569\ub2c8\ub2e4.

\uc774 \ubb38\uc11c \ubc0f \uad00\ub828 \ucf54\ub4dc\uc758 \uac80\ud1a0 \ubc0f \uc0ac\uc6a9\uc740 \uc6f9\uc0ac\uc774\ud2b8 \uc774\uc6a9\uc57d\uad00 \ubc0f \ud504\ub85c\ud1a0\ucf5c \uc774\uc6a9\uc57d\uad00\uc5d0 \ub530\ub985\ub2c8\ub2e4.

\uac80\uc99d\uc790\ub294 \uc628\uccb4\uc778 \uc2a4\uc651 \ud504\ub85c\uadf8\ub7a8\uc744 \ud1b5\ud574 2Z\ub85c \uc218\uc218\ub8cc\ub97c \ub0a9\ubd80\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2a4\uc651\uc740 2Z\ub97c SOL\ub85c \uad50\ud658\ud558\uc5ec \uc218\ud589\ub429\ub2c8\ub2e4. \uc608\uce58 \uacc4\uc815\uc758 SOL \uc794\uc561\uc774 \uc2a4\uc651\uc5d0 \ub530\ub77c \uc5c5\ub370\uc774\ud2b8\ub429\ub2c8\ub2e4.

\uc774 \ud504\ub85c\uc138\uc2a4\ub294 \ud56d\uc0c1 1 SOL \ub2e8\uc704\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774 \uc2a4\uc651\uc758 \uacb0\uacfc\ub294 \ud56d\uc0c1 \uc608\uce58 \uacc4\uc815\uc73c\ub85c \uc9c1\uc811 \uc785\uae08\ub429\ub2c8\ub2e4. \uc774\ub294 \uc77c\ubc29\ud1b5\ud589\uc785\ub2c8\ub2e4. \uc774 \ud2b8\ub79c\uc7ad\uc158\uc5d0\uc11c 2Z \ub610\ub294 SOL\uc744 \ud68c\uc218\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc628\uccb4\uc778 \ubc30\ubd84 \ubaa8\ub4c8\ub85c \uc804\uc1a1\ub429\ub2c8\ub2e4.

"},{"location":"ko/paying-fees2z/#1","title":"1\ub2e8\uacc4","text":"

\uba3c\uc800 \ud604\uc7ac \ud658\uc728\uc744 \ud655\uc778\ud569\ub2c8\ub2e4.

doublezero-solana revenue-distribution fetch sol-conversion\n

\ucd9c\ub825:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"ko/paying-fees2z/#2","title":"2\ub2e8\uacc4","text":"

\uc9c0\uc815\uac00 \uc8fc\ubb38\uc744 \ud569\ub2c8\ub2e4. \uc774 \uc2a4\uc651\uc740 \uadc0\ud558\uc758 \ucc45\uc784 \ud558\uc5d0 \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc704\ud5d8 \ud504\ub85c\ud544\uc5d0 \ub300\ud55c \uad8c\uc7a5 \uc0ac\ud56d\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc73c\uba70, \uc5ec\uae30\uc5d0 \uc81c\uacf5\ub41c \uc608\uc2dc\ub294 \uad50\uc721 \ubaa9\uc801\uc73c\ub85c\ub9cc \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

"},{"location":"ko/paying-fees2z/#_1","title":"\uc9c0\uc815\uac00 \uc8fc\ubb38 \uad6c\uc131 \ubc29\ubc95","text":"

\uc704\uc758 \uc608\ub97c \ubc14\ud0d5\uc73c\ub85c \uc774\uc81c \ud638\uac00 \uac00\uaca9\ubcf4\ub2e4 5% \ub192\uc740 \uc9c0\uc815\uac00 \uc8fc\ubb38\uc744 \ud569\ub2c8\ub2e4. 797.76 * 1.05 = 837.65

\uc774 \uc608\uc2dc\uc5d0\uc11c \uc608\uce58 \uacc4\uc815\uc5d0 0 SOL\uc774 \uc788\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
\uc704 \uba85\ub839\uc5d0\uc11c --fund 1\uc5d0 \uc8fc\ubaa9\ud558\uc138\uc694. \uc774\ub294 \uc608\uce58 \uacc4\uc815\uc5d0 1 SOL\uc744 \uba85\uc2dc\uc801\uc73c\ub85c \ud380\ub529\ud569\ub2c8\ub2e4.

1 \uc774\uc678\uc758 \uc22b\uc790\ub97c \uc120\ud0dd\ud558\uba74 \uc798\ubabb\ub41c \uae08\uc561\uc744 \uc54c\ub9ac\ub294 \uc624\ub958\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

\ud2b8\ub79c\uc7ad\uc158\uc744 \ud655\uc778\ud558\ub77c\ub294 \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

\ucd9c\ub825:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
\uc131\uacf5\uc801\uc778 \uc2a4\uc651 \uc2dc Balance:\uac00 1 SOL\ub85c \uc5c5\ub370\uc774\ud2b8\ub41c \uac83\uc744 \uc8fc\ubaa9\ud558\uc138\uc694.

\uac00\uaca9\uc774 \uc9c0\uc815\ub41c \ubc94\uc704\ub97c \ubc97\uc5b4\ub098\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"ko/quick-connect/","title":"\ube60\ub978 \uc5f0\uacb0","text":"

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.

\uba87 \uac00\uc9c0 \uc9c8\ubb38\uc5d0 \ub2f5\ud558\uba74 \uc124\uc815\uc5d0 \ub9de\ub294 \uc815\ud655\ud55c \ub2e8\uacc4\uc640 \uba85\ub839\uc774 \ud3ec\ud568\ub41c \ub9de\ucda4\ud615 \uc5f0\uacb0 \uac00\uc774\ub4dc\ub97c \uc0dd\uc131\ud574 \ub4dc\ub9bd\ub2c8\ub2e4.

\uac04\uc18c\ud654\ub41c \uac00\uc774\ub4dc

\uc774 \ub9c8\ubc95\uc0ac\ub294 \ucd5c\ub300\ud55c \ube60\ub974\uac8c \uc5f0\uacb0\ud560 \uc218 \uc788\ub3c4\ub85d \uc804\uccb4 \ubb38\uc11c\uc758 \ud575\uc2ec \ub0b4\uc6a9\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc804\uccb4 \uc138\ubd80 \uc815\ubcf4\ub294 \uc124\uc815 \ubc0f \ud14c\ub10c\ud2b8 \uac00\uc774\ub4dc\ub97c \ucc38\uc870\ud558\uc138\uc694.

\uc5b4\ub5a4 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud558\uace0 \uc788\ub098\uc694? Mainnet-Beta \ud65c\uc131 \uac80\uc99d\uc790 \ubc0f RPC \uc6b4\uc601\uc790\ub97c \uc704\ud55c \ud504\ub85c\ub355\uc158 \ub124\ud2b8\uc6cc\ud06c Testnet \ud14c\uc2a4\ud2b8 \ubc0f \uac1c\ubc1c \ub124\ud2b8\uc6cc\ud06c \uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589 \uc911\uc778 \uc6b4\uc601 \uccb4\uc81c\ub294 \ubb34\uc5c7\uc778\uac00\uc694? Ubuntu / Debian Ubuntu 22.04+ \ub610\ub294 Debian 11+ Rocky Linux / RHEL Rocky Linux \ub610\ub294 RHEL 8+ \uc5b4\ub5a4 \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc778\uac00\uc694? Solana Solana\uc758 \uac80\uc99d\uc790 \ubc0f RPC \uc6b4\uc601\uc790 Shelby Shelby\uc758 RPC \ubc0f \uc2a4\ud1a0\ub9ac\uc9c0 \ub178\ub4dc (\ud14c\uc2a4\ud2b8\ub137 \uc804\uc6a9) \uc0c8 \ud14c\ub10c\ud2b8 \uae30\ud0c0 \uc5d0\ucf54\uc2dc\uc2a4\ud15c \uc5b4\ub5a4 \ubc29\ud654\ubcbd \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\ub098\uc694? iptables \uc9c1\uc811 iptables \uaddc\uce59 UFW Uncomplicated Firewall \uc5b4\ub5a4 \uc720\ud615\uc758 \ub178\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\ub098\uc694? \uac80\uc99d\uc790 \uc544\uc774\ub374\ud2f0\ud2f0 \ud0a4\uc30d\uc774 \uc788\ub294 \ub9ac\ub354 \uc2a4\ucf00\uc904\ub41c Solana \uac80\uc99d\uc790 \ube44\uac80\uc99d\uc790 (RPC) RPC \ub178\ub4dc \ub610\ub294 MEV \uc778\ud504\ub77c \uc5b4\ub5a4 \uc5f0\uacb0 \ubaa8\ub4dc\uac00 \ud544\uc694\ud55c\uac00\uc694? \uc720\ub2c8\uce90\uc2a4\ud2b8 (IBRL) \ud45c\uc900 \uc9c0\uc810\uac04 \uc5f0\uacb0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc77c\ub300\ub2e4 \ud328\ud0b7 \uc804\ub2ec (\ubc1c\ud589\uc790/\uad6c\ub3c5\uc790) \ub458 \ub2e4 \uc720\ub2c8\uce90\uc2a4\ud2b8 \ubc0f \uba40\ud2f0\uce90\uc2a4\ud2b8 \ud130\ub110 \ub3d9\uc2dc \uc0ac\uc6a9 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5ed\ud560\uc740 \ubb34\uc5c7\uc778\uac00\uc694? \ubc1c\ud589\uc790 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \ub370\uc774\ud130 \uc804\uc1a1 (\uc608: \ube14\ub85d \uc0dd\uc131\uc790) \uad6c\ub3c5\uc790 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0\uc11c \ub370\uc774\ud130 \uc218\uc2e0"},{"location":"ko/setup/","title":"DoubleZero \uc124\uc815 \ubc29\ubc95","text":"

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.

\uc6a9\uc5b4

DoubleZero\uac00 \ucc98\uc74c\uc774\uc2e0\uac00\uc694? doublezerod, IBRL, DZD\uc640 \uac19\uc740 \uc6a9\uc5b4\uc758 \uc815\uc758\ub294 \uc6a9\uc5b4\uc9d1\uc744 \ucc38\uc870\ud558\uc138\uc694.

DoubleZero\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/setup/#_1","title":"\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

Warning

\uac80\uc99d\uc790\uc758 \uacbd\uc6b0: DoubleZero\ub294 \ucee8\ud14c\uc774\ub108\uac00 \uc544\ub2cc \uac80\uc99d\uc790 \ud638\uc2a4\ud2b8\uc5d0 \uc9c1\uc811 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/setup/#doublezero_1","title":"DoubleZero\uc5d0 \uc5f0\uacb0","text":"

DoubleZero \ud14c\uc2a4\ud2b8\ub137\uacfc DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0\ub294 \ubb3c\ub9ac\uc801\uc73c\ub85c \ubcc4\uac1c\uc758 \ub124\ud2b8\uc6cc\ud06c\uc785\ub2c8\ub2e4. \uc124\uce58 \uc2dc \uc801\uc808\ud55c \ub124\ud2b8\uc6cc\ud06c\ub97c \uc120\ud0dd\ud558\uc138\uc694.

DoubleZero\uc5d0 \uc628\ubcf4\ub529\ud560 \ub54c \uacf5\uac1c \ud0a4\uc778 DoubleZero ID\ub85c \ud45c\ud604\ub418\ub294 DoubleZero \uc2e0\uc6d0\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc774 \ud0a4\ub294 DoubleZero\uac00 \uae30\uacc4\ub97c \uc778\uc2dd\ud558\ub294 \ubc29\ubc95\uc758 \uc77c\ubd80\uc785\ub2c8\ub2e4.

"},{"location":"ko/setup/#1-doublezero","title":"1. DoubleZero \ud328\ud0a4\uc9c0 \uc124\uce58","text":"

\ud604\uc7ac \ubc84\uc804

\ud328\ud0a4\uc9c0 \uba54\uc778\ub137-\ubca0\ud0c0 \ud14c\uc2a4\ud2b8\ub137 doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

\uc6b4\uc601 \uccb4\uc81c\uc5d0 \ub530\ub77c \ub2e4\uc74c \ub2e8\uacc4\ub97c \ub530\ub974\uc138\uc694:

"},{"location":"ko/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

\uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

\ud14c\uc2a4\ud2b8\ub137\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"ko/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

\uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\ud14c\uc2a4\ud2b8\ub137\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\uae30\uc874 \uc0ac\uc6a9\uc790 \uc804\uc6a9: \ud14c\uc2a4\ud2b8\ub137\uc5d0\uc11c \uba54\uc778\ub137-\ubca0\ud0c0\ub85c \ub610\ub294 \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ub137\uc73c\ub85c \ud328\ud0a4\uc9c0 \ubcc0\uacbd

\uc704\uc758 \ud328\ud0a4\uc9c0 \uc800\uc7a5\uc18c \uc911 \ud558\ub098\uc5d0\uc11c \uc124\uce58\ud558\uba74 DoubleZero \ud14c\uc2a4\ud2b8\ub137 \ub610\ub294 DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \ud2b9\uc815\ub429\ub2c8\ub2e4. \uc5b4\ub290 \uc2dc\uc810\uc5d0\uc11c\ub4e0 \ub124\ud2b8\uc6cc\ud06c\ub97c \ubcc0\uacbd\ud558\ub294 \uacbd\uc6b0 \uc774\uc804\uc5d0 \uc124\uce58\ub41c \ud328\ud0a4\uc9c0 \uc800\uc7a5\uc18c\ub97c \uc81c\uac70\ud558\uace0 \ub300\uc0c1 \uc800\uc7a5\uc18c\ub85c \uc5c5\ub370\uc774\ud2b8\ud574\uc57c \ud569\ub2c8\ub2e4.

\uc774 \uc608\uc2dc\ub294 \ud14c\uc2a4\ud2b8\ub137\uc5d0\uc11c \uba54\uc778\ub137-\ubca0\ud0c0 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.

\ub3d9\uc77c\ud55c \ub2e8\uacc4\ub97c \uc644\ub8cc\ud558\uc5ec \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ub137\uc73c\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e8, 3\ub2e8\uacc4\ub97c \uc704\uc758 \ud14c\uc2a4\ud2b8\ub137 \uc124\uce58 \uba85\ub839\uc73c\ub85c \uad50\uccb4\ud558\uc138\uc694.

  1. \uc774\uc804 \uc800\uc7a5\uc18c \ud30c\uc77c \ucc3e\uae30

    \uba3c\uc800 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uae30\uc874 DoubleZero \uc800\uc7a5\uc18c \uad6c\uc131 \ud30c\uc77c\uc744 \ucc3e\uc2b5\ub2c8\ub2e4:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. \uc774\uc804 \uc800\uc7a5\uc18c \ud30c\uc77c \uc81c\uac70

    \uc774\uc804 \ub2e8\uacc4\uc5d0\uc11c \ucc3e\uc740 \uc774\uc804 \uc800\uc7a5\uc18c \ud30c\uc77c\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. \uc0c8 \uc800\uc7a5\uc18c\uc5d0\uc11c \uc124\uce58

    \uc0c8 \uba54\uc778\ub137-\ubca0\ud0c0 \uc800\uc7a5\uc18c\ub97c \ucd94\uac00\ud558\uace0 \ucd5c\uc2e0 \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud569\ub2c8\ub2e4:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"ko/setup/#doublezerod","title":"doublezerod \uc0c1\ud0dc \ud655\uc778","text":"

\ud328\ud0a4\uc9c0\uac00 \uc124\uce58\ub418\uba74 \uc0c8 systemd \uc720\ub2db\uc774 \uc124\uce58, \ud65c\uc131\ud654 \ubc0f \uc2dc\uc791\ub429\ub2c8\ub2e4. \uc0c1\ud0dc\ub97c \ud655\uc778\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc138\uc694:

sudo systemctl status doublezerod\n

"},{"location":"ko/setup/#gre-bgp","title":"GRE \ubc0f BGP\ub97c \uc704\ud55c \ubc29\ud654\ubcbd \uad6c\uc131","text":"

DoubleZero\ub294 GRE \ud130\ub110\ub9c1(IP \ud504\ub85c\ud1a0\ucf5c 47) \ubc0f BGP \ub77c\uc6b0\ud305(\ub9c1\ud06c-\ub85c\uceec \uc8fc\uc18c\uc758 tcp/179)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ubc29\ud654\ubcbd\uc774 \uc774 \ud504\ub85c\ud1a0\ucf5c\uc744 \ud5c8\uc6a9\ud558\ub294\uc9c0 \ud655\uc778\ud558\uc138\uc694:

iptables\ub97c \ud1b5\ud574 GRE \ubc0f BGP \ud5c8\uc6a9:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

\ub610\ub294 UFW\ub97c \ud1b5\ud574 GRE \ubc0f BGP \ud5c8\uc6a9:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"ko/setup/#2-doublezero","title":"2. \uc0c8 DoubleZero \uc2e0\uc6d0 \uc0dd\uc131","text":"

\ub2e4\uc74c \uba85\ub839\uc73c\ub85c \uc11c\ubc84\uc5d0 DoubleZero \uc2e0\uc6d0\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4:

doublezero keygen\n

Info

\uc0ac\uc6a9\ud558\uace0 \uc2f6\uc740 \uae30\uc874 ID\uac00 \uc788\ub294 \uacbd\uc6b0 \ub2e4\uc74c \uc120\ud0dd\uc801 \ub2e8\uacc4\ub97c \ub530\ub97c \uc218 \uc788\uc2b5\ub2c8\ub2e4.

doublezero \uad6c\uc131 \ub514\ub809\ud1a0\ub9ac \uc0dd\uc131

mkdir -p ~/.config/doublezero\n

DoubleZero\uc640 \ud568\uaed8 \uc0ac\uc6a9\ud558\ub824\ub294 id.json\uc744 doublezero \uad6c\uc131 \ub514\ub809\ud1a0\ub9ac\uc5d0 \ubcf5\uc0ac\ud558\uac70\ub098 \ub9c1\ud06c\ud569\ub2c8\ub2e4.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"ko/setup/#3-doublezero","title":"3. \uc11c\ubc84\uc758 DoubleZero \uc2e0\uc6d0 \ud655\uc778","text":"

DoubleZero \uc2e0\uc6d0\uc744 \ud655\uc778\ud569\ub2c8\ub2e4. \uc774 \uc2e0\uc6d0\uc740 \uae30\uacc4\uc640 DoubleZero \uac04\uc758 \uc5f0\uacb0\uc744 \uc0dd\uc131\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

doublezero address\n

\ucd9c\ub825:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"ko/setup/#4-doublezerod-dz","title":"4. doublezerod\uac00 DZ \uc7a5\uce58\ub97c \ubc1c\uacac\ud588\ub294\uc9c0 \ud655\uc778","text":"

\uc5f0\uacb0\ud558\uae30 \uc804\uc5d0 doublezerod\uac00 \uc0ac\uc6a9 \uac00\ub2a5\ud55c DZ \ud14c\uc2a4\ud2b8\ub137 \uc2a4\uc704\uce58\ub97c \uac01\uac01 \ubc1c\uacac\ud558\uace0 \ud551\ud588\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero latency\n

\uc0d8\ud50c \ucd9c\ub825:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

\ucd9c\ub825\uc5d0 \uc7a5\uce58\uac00 \ubc18\ud658\ub418\uc9c0 \uc54a\uc73c\uba74 10-20\ucd08 \uae30\ub2e4\ub9b0 \ud6c4 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc138\uc694.

"},{"location":"ko/setup/#5-doublezero","title":"5. DoubleZero\uc5d0\uc11c \uc5f0\uacb0 \ud574\uc81c","text":"

\ub2e4\uc74c \uc139\uc158\uc5d0\uc11c DoubleZero \ud658\uacbd\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc131\uacf5\uc801\uc778 \uc124\uc815\uc744 \uc704\ud574 \ud604\uc7ac \uc138\uc158\uc758 \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\uc138\uc694. \uc774\ub807\uac8c \ud558\uba74 \uae30\uacc4\uc5d0 \uc5f4\ub824 \uc788\ub294 \uc5ec\ub7ec \ud130\ub110\uacfc \uad00\ub828\ub41c \ubb38\uc81c\ub97c \ubc29\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\ud655\uc778

doublezero status\n

up \uc0c1\ud0dc\uc774\uba74 \ub2e4\uc74c\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:

doublezero disconnect\n
"},{"location":"ko/setup/#_2","title":"\ub2e4\uc74c \ub2e8\uacc4: \ud14c\ub10c\ud2b8","text":"

DoubleZero \uc5f0\uacb0\uc740 \uc0ac\uc6a9 \uc0ac\ub840\uc5d0 \ub530\ub77c \ub2e4\ub985\ub2c8\ub2e4. DoubleZero\uc5d0\uc11c \ud14c\ub10c\ud2b8\ub294 \uc720\uc0ac\ud55c \uc0ac\uc6a9\uc790 \ud504\ub85c\ud544\uc744 \uac00\uc9c4 \uadf8\ub8f9\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ube14\ub85d\uccb4\uc778, \ub370\uc774\ud130 \uc804\uc1a1 \ub808\uc774\uc5b4 \ub4f1\uc774 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/setup/#_3","title":"\uc5ec\uae30\uc11c \ud14c\ub10c\ud2b8\ub97c \uc120\ud0dd\ud558\uc138\uc694","text":""},{"location":"ko/setup/#prometheus","title":"\uc120\ud0dd \uc0ac\ud56d: Prometheus \uba54\ud2b8\ub9ad \ud65c\uc131\ud654","text":"

Prometheus \uba54\ud2b8\ub9ad\uc5d0 \uc775\uc219\ud55c \uc6b4\uc601\uc790\ub294 DoubleZero \ubaa8\ub2c8\ud130\ub9c1\uc744 \uc704\ud574 \ud65c\uc131\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 \uc131\ub2a5, \uc5f0\uacb0 \uc0c1\ud0dc \ubc0f \uc6b4\uc601 \uc0c1\ud0dc\uc5d0 \ub300\ud55c \uac00\uc2dc\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/setup/#_4","title":"\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba54\ud2b8\ub9ad","text":"

DoubleZero\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc8fc\uc694 \uba54\ud2b8\ub9ad\uc744 \ub178\ucd9c\ud569\ub2c8\ub2e4: - \ube4c\ub4dc \uc815\ubcf4: \ubc84\uc804, \ucee4\ubc0b \ud574\uc2dc \ubc0f \ube4c\ub4dc \ub0a0\uc9dc - \uc138\uc158 \uc0c1\ud0dc: DoubleZero \uc138\uc158\uc758 \ud65c\uc131 \uc5ec\ubd80 - \uc5f0\uacb0 \uba54\ud2b8\ub9ad: \ub300\uae30 \uc2dc\uac04 \ubc0f \uc5f0\uacb0 \uc815\ubcf4 - \uc131\ub2a5 \ub370\uc774\ud130: \ucc98\ub9ac\ub7c9 \ubc0f \uc624\ub958\uc728

"},{"location":"ko/setup/#prometheus_1","title":"Prometheus \uba54\ud2b8\ub9ad \ud65c\uc131\ud654","text":"

DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c Prometheus \uba54\ud2b8\ub9ad\uc744 \ud65c\uc131\ud654\ud558\ub824\uba74 \ub2e4\uc74c \ub2e8\uacc4\ub97c \ub530\ub974\uc138\uc694:

"},{"location":"ko/setup/#1-doublezerod-systemd","title":"1. doublezerod systemd \uc11c\ube44\uc2a4 \uc2dc\uc791 \uba85\ub839 \uc218\uc815","text":"

systemd \uc7ac\uc815\uc758 \uad6c\uc131\uc744 \uc0dd\uc131\ud558\uac70\ub098 \ud3b8\uc9d1\ud569\ub2c8\ub2e4:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

\ub2e4\uc74c \uad6c\uc131\uc73c\ub85c \uad50\uccb4\ud569\ub2c8\ub2e4:

-env \ud50c\ub798\uadf8\ub294 \ub370\uc774\ud130\ub97c \uc218\uc9d1\ud558\ub824\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ub530\ub77c testnet \ub610\ub294 mainnet-beta\ub97c \uac00\ub9ac\ucf1c\uc57c \ud569\ub2c8\ub2e4. \uc0d8\ud50c \ube14\ub85d\uc5d0\uc11c\ub294 testnet\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud544\uc694\ud55c \uacbd\uc6b0 mainnet-beta\ub85c \uad50\uccb4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"ko/setup/#2","title":"2. \uc11c\ube44\uc2a4 \ub2e4\uc2dc \ub85c\ub4dc \ubc0f \uc7ac\uc2dc\uc791","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"ko/setup/#3","title":"3. \uba54\ud2b8\ub9ad \uc0ac\uc6a9 \uac00\ub2a5 \uc5ec\ubd80 \ud655\uc778","text":"

\uba54\ud2b8\ub9ad \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uac00 \uc751\ub2f5\ud558\ub294\uc9c0 \ud14c\uc2a4\ud2b8\ud569\ub2c8\ub2e4:

curl -s localhost:2113/metrics | grep doublezero\n

\uc608\uc0c1 \ucd9c\ub825:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"ko/setup/#_5","title":"\ubb38\uc81c \ud574\uacb0","text":"

\uba54\ud2b8\ub9ad\uc774 \ud45c\uc2dc\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0:

  1. \uc11c\ube44\uc2a4 \uc0c1\ud0dc \ud655\uc778: sudo systemctl status doublezerod
  2. \uad6c\uc131 \ud655\uc778: sudo systemctl cat doublezerod
  3. \ub85c\uadf8 \ud655\uc778: sudo journalctl -u doublezerod -f
  4. \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \ud14c\uc2a4\ud2b8: curl -v localhost:2113/metrics
  5. \ud3ec\ud2b8 \ud655\uc778: netstat -tlnp | grep 2113
"},{"location":"ko/setup/#prometheus_2","title":"Prometheus \uc11c\ubc84 \uad6c\uc131","text":"

\uad6c\uc131 \ubc0f \ubcf4\uc548\uc740 \uc774 \ubb38\uc11c\uc758 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0a9\ub2c8\ub2e4. Grafana\ub294 \uc2dc\uac01\ud654\uc5d0 \ud0c1\uc6d4\ud55c \uc635\uc158\uc774\uba70 Prometheus \uba54\ud2b8\ub9ad\uc744 \uc218\uc9d1\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \ubb38\uc11c\uac00 \uc5ec\uae30\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/setup/#grafana","title":"Grafana \ub300\uc2dc\ubcf4\ub4dc (\uc120\ud0dd \uc0ac\ud56d)","text":"

\uc2dc\uac01\ud654\ub97c \uc704\ud574 DoubleZero \uba54\ud2b8\ub9ad\uc744 \uc0ac\uc6a9\ud558\ub294 Grafana \ub300\uc2dc\ubcf4\ub4dc\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc778 \ud328\ub110\uc5d0\ub294 \ub2e4\uc74c\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4: - \uc2dc\uac04 \uacbd\uacfc\uc5d0 \ub530\ub978 \uc138\uc158 \uc0c1\ud0dc - \ube4c\ub4dc \uc815\ubcf4 - \uc5f0\uacb0 \ub300\uae30 \uc2dc\uac04 \ucd94\uc138 - \uc624\ub958\uc728 \ubaa8\ub2c8\ud130\ub9c1

"},{"location":"ko/tenant/","title":"\ud14c\ub10c\ud2b8","text":"

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\uc758 \ud14c\ub10c\ud2b8\ub294 \uc720\uc0ac\ud55c \ud504\ub85c\ud544\uacfc \uc5f0\uacb0 \uc694\uad6c\uc0ac\ud56d\uc744 \uac00\uc9c4 \uc0ac\uc6a9\uc790 \uadf8\ub8f9\uc73c\ub85c, \uc77c\ubc18\uc801\uc73c\ub85c \uc11c\ub85c \ub2e4\ub978 \ube14\ub85d\uccb4\uc778 \uc5d0\ucf54\uc2dc\uc2a4\ud15c, \ub370\uc774\ud130 \uc804\uc1a1 \ub808\uc774\uc5b4 \ub610\ub294 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.

\uc544\ub798 \ud45c\ub97c \uc0b4\ud3b4\ubcf4\uace0 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc640 \uc0c1\ud638\uc791\uc6a9\ud558\ub824\ub294 \ubc29\uc2dd\uc744 \uac00\uc7a5 \uc798 \uc124\uba85\ud558\ub294 \uc0ac\uc6a9 \uc0ac\ub840\ub97c \uc120\ud0dd\ud558\uc138\uc694.

Solana

\uc0ac\uc6a9 \uc0ac\ub840 \ub2e4\uc74c \ub2e8\uacc4 \ubc31\uc5c5\uc744 \ud3ec\ud568\ud55c Solana \uba54\uc778\ub137 \uac80\uc99d\uc790 DoubleZero Mainnet-Beta \uc5f0\uacb0 \ubc31\uc5c5\uc744 \ud3ec\ud568\ud55c Solana \ud14c\uc2a4\ud2b8\ub137 \uac80\uc99d\uc790 DoubleZero Testnet \uc5f0\uacb0 \ube44\uac80\uc99d\uc790 - RPC \ubc0f \uae30\ud0c0 DoubleZero Mainnet-Beta \ubc0f Testnet \uc5f0\uacb0

Shelby

\uc0ac\uc6a9 \uc0ac\ub840 \ub2e4\uc74c \ub2e8\uacc4 Shelby \ud14c\uc2a4\ud2b8\ub137 RPC \ubc0f \uc2a4\ud1a0\ub9ac\uc9c0 \ub178\ub4dc DoubleZero Testnet \uc5f0\uacb0

\uc0c8 \ud14c\ub10c\ud2b8

\uc0ac\uc6a9 \uc0ac\ub840 \ub2e4\uc74c \ub2e8\uacc4 DoubleZero\ub97c \ud65c\uc6a9\ud560 \uc0c8 \ud504\ub85c\ud1a0\ucf5c, \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub610\ub294 \uae30\ud0c0 \uc0ac\uc6a9 \uc0ac\ub840\uac00 \uc788\uc2b5\ub2c8\ub2e4 \uc0c8 \ud14c\ub10c\ud2b8 \ucd94\uac00"},{"location":"ko/troubleshooting/","title":"\ubb38\uc81c \ud574\uacb0","text":"

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.

\uc774 \uac00\uc774\ub4dc\ub294 \ub2e4\uc591\ud55c \ubb38\uc81c\ub97c \ub2e4\ub8e8\uba70 \uacc4\uc18d \uc5c5\ub370\uc774\ud2b8\ub429\ub2c8\ub2e4. \uac00\uc774\ub4dc\ub97c \uc644\ub8cc\ud55c \ud6c4\uc5d0\ub3c4 \ucd94\uac00 \uc9c0\uc6d0\uc774 \ud544\uc694\ud558\ub2e4\uba74 DoubleZero Tech Discord\uc5d0\uc11c \ub3c4\uc6c0\uc744 \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#_2","title":"\uc77c\ubc18 \uba85\ub839 \ubc0f \ucd9c\ub825","text":"

\ub2e4\uc74c \uba85\ub839\uc758 \ucd9c\ub825\uacfc \uc815\uc0c1 \ubc30\ud3ec \uc2dc \uc608\uc0c1\ub418\ub294 \ucd9c\ub825\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ub354 \uc790\uc138\ud55c \ubb38\uc81c \ud574\uacb0\uc5d0 \ub3c4\uc6c0\uc774 \ub420 \uac83\uc785\ub2c8\ub2e4. \ud2f0\ucf13\uc744 \uc81c\ucd9c\ud558\uba74 \ucd9c\ub825\uc744 \uc694\uccad\ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#1","title":"1. \ubc84\uc804 \ud655\uc778","text":"

\uba85\ub839:

doublezero --version

\uc0d8\ud50c \ucd9c\ub825:

DoubleZero 0.6.3\n

"},{"location":"ko/troubleshooting/#2-doublezero","title":"2. DoubleZero \uc8fc\uc18c \ud655\uc778","text":"

\uba85\ub839:

doublezero address

\uc0d8\ud50c \ucd9c\ub825:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"ko/troubleshooting/#3","title":"3. \uc561\uc138\uc2a4 \ud328\uc2a4 \ud655\uc778","text":"

\uc0d8\ud50c \uacf5\uac1c \ud0a4: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u2014 \uba85\ub839 \uc2e4\ud589 \uc2dc \uc774\uac83\uc744 \ubcf8\uc778\uc758 \uacf5\uac1c \ud0a4\ub85c \uad50\uccb4\ud558\uc138\uc694.

\uba85\ub839:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

\ucd9c\ub825:

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"ko/troubleshooting/#4-doublezero","title":"4. DoubleZero \ub808\uc800 \ud06c\ub808\ub527 \ud655\uc778","text":"

\uba85\ub839:

doublezero balance

\uc0d8\ud50c \ucd9c\ub825:

0.78 Credits\n

"},{"location":"ko/troubleshooting/#5","title":"5. \uc5f0\uacb0 \uc0c1\ud0dc \ud655\uc778","text":"

\uba85\ub839:

doublezero status

\uc0d8\ud50c \ucd9c\ub825:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"ko/troubleshooting/#6","title":"6. \ub300\uae30 \uc2dc\uac04 \ud655\uc778","text":"

\uba85\ub839:

doublezero latency

\uc0d8\ud50c \ucd9c\ub825:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"ko/troubleshooting/#_3","title":"\ubb38\uc81c \ud574\uacb0 \uc608\uc81c","text":"

\uae30\ubcf8 \ucd9c\ub825\uacfc \uc815\uc0c1 \ubc30\ud3ec \uc2dc \uc608\uc0c1\ub418\ub294 \uac83\uc744 \uc0b4\ud3b4\ubd24\uc73c\ub2c8 \uc774\uc81c \uc77c\ubc18\uc801\uc778 \ubb38\uc81c \ud574\uacb0 \uc608\uc81c\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#_4","title":"\ubb38\uc81c: \u274c \uc0ac\uc6a9\uc790 \uc0dd\uc131 \uc624\ub958","text":"

\uc774 \ubb38\uc81c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uc608\uc0c1\ub418\ub294 \uacf5\uac1c \ud0a4/IP \uc30d\uacfc \uc0ac\uc6a9\uc790\uac00 DoubleZero\uc5d0 \uc811\uadfc\ud558\ub824\ub294 \uacf5\uac1c \ud0a4/IP \uc30d \uac04\uc758 \ubd88\uc77c\uce58\uc640 \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4.

\uc99d\uc0c1: - doublezero connect ibrl\ub85c \uc5f0\uacb0\ud560 \ub54c \u274c Error creating user\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \ud655\uc778

`doublezero address`\n\n\uc0d8\ud50c \ucd9c\ub825:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. \uc774 \uc8fc\uc18c\uac00 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc788\ub294\uc9c0 \ud655\uc778:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    \uc0d8\ud50c \ucd9c\ub825:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    doublezero address\uc758 \uacf5\uac1c \ud0a4\ub294 user_payer \uacf5\uac1c \ud0a4\uc640 \uc77c\uce58\ud574\uc57c \ud558\uba70, \uc5f0\uacb0\ud558\ub824\ub294 IP \uc8fc\uc18c\ub294 \uc561\uc138\uc2a4 \ud328\uc2a4\uc758 IP\uc640 \uc77c\uce58\ud574\uc57c \ud569\ub2c8\ub2e4. doublezero address\ub294 \uae30\ubcf8\uc801\uc73c\ub85c ~/.config/doublezero/\uc758 id.json \ud30c\uc77c\uc5d0\uc11c \uac00\uc838\uc635\ub2c8\ub2e4. \uc5ec\uae30 6\ub2e8\uacc4\ub97c \ucc38\uc870\ud558\uc138\uc694.

  2. \uc704 \ub0b4\uc6a9\uc774 \uc62c\ubc14\ub974\uac8c \ubcf4\uc774\uc9c0\ub9cc \uc5f0\uacb0 \uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uac70\ub098 \uc704 \ub9e4\ud551\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \uacbd\uc6b0 DoubleZero Tech\uc5d0\uc11c \uc9c0\uc6d0\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694.

"},{"location":"ko/troubleshooting/#_5","title":"\ubb38\uc81c: \u274c \uc11c\ube44\uc2a4 \ud504\ub85c\ube44\uc800\ub2dd \uc624\ub958: \ub3d9\uc2dc\uc5d0 \uc5ec\ub7ec \ud130\ub110\uc744 \ud504\ub85c\ube44\uc800\ub2dd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4","text":"

\uc774 \uc624\ub958\ub294 \uc7a5\uce58\uac00 \uc774\ubbf8 DoubleZero\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.

\uc99d\uc0c1: - \uc0ac\uc6a9\uc790\uac00 DoubleZero\uc5d0 \uc5f0\uacb0\ud558\ub824\uace0 \ud569\ub2c8\ub2e4 - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time\uc774 \ubc1c\uc0dd\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \ud655\uc778 doublezero status

\ucd9c\ub825:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up\uc740 \uc815\uc0c1\uc801\uc778 \uc5f0\uacb0\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.
  2. \uc624\ub958\ub294 \ud2b9\uc815 DoubleZero IP\ub97c \uc0ac\uc6a9\ud558\ub294 DoubleZero \ud130\ub110\uc774 \uc774\ubbf8 \uc774 \uae30\uacc4\uc5d0\uc11c \ud65c\uc131\ud654\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0 \ub098\ud0c0\ub0a9\ub2c8\ub2e4.

    \uc774 \uc624\ub958\ub294 DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5c5\uadf8\ub808\uc774\ub4dc \ud6c4 \uc790\uc8fc \ubc1c\uc0dd\ud569\ub2c8\ub2e4. DoubleZero \uc5c5\uadf8\ub808\uc774\ub4dc\ub294 doublezerod \uc11c\ube44\uc2a4\ub97c \uc790\ub3d9\uc73c\ub85c \uc7ac\uc2dc\uc791\ud558\uace0 \uc11c\ube44\uc2a4 \uc7ac\uc2dc\uc791 \uc804\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\uc5c8\ub2e4\uba74 \ub2e4\uc2dc \uc5f0\uacb0\ud569\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#doublezero-unknown-down","title":"\ubb38\uc81c: DoubleZero \uc0c1\ud0dc\uac00 unknown \ub610\ub294 down","text":"

\uc774 \ubb38\uc81c\ub294 \uc885\uc885 \uc11c\ubc84\uc640 DoubleZero \uc7a5\uce58 \uac04\uc758 GRE \ud130\ub110\uc774 \uc131\uacf5\uc801\uc73c\ub85c \ud65c\uc131\ud654\ub418\uc5c8\uc9c0\ub9cc \ubc29\ud654\ubcbd\uc774 BGP \uc138\uc158 \uc124\uc815\uc744 \ubc29\uc9c0\ud558\ub294 \uac83\uacfc \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub85c \uc778\ud574 \ub124\ud2b8\uc6cc\ud06c\ub85c\ubd80\ud130 \uacbd\ub85c\ub97c \ubc1b\uc9c0 \ubabb\ud558\uac70\ub098 DoubleZero\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc744 \uc804\uc1a1\ud558\uc9c0 \ubabb\ud569\ub2c8\ub2e4.

\uc99d\uc0c1: - doublezero connect ibrl\uc774 \uc131\uacf5\ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 doublezero status\uac00 down \ub610\ub294 unknown\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \ubc29\ud654\ubcbd \uaddc\uce59\uc744 \ud655\uc778\ud558\uc138\uc694!

DoubleZero\ub294 \uadc0\ud558\uc758 \uae30\uacc4\uc640 DoubleZero \uc7a5\uce58 \uac04\uc758 GRE \ud130\ub110 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub9c1\ud06c \ub85c\uceec \uc8fc\uc18c \uacf5\uac04\uc778 169.254.0.0/16\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. 169.254.0.0/16\uc740 \uc77c\ubc18\uc801\uc73c\ub85c \"\ub77c\uc6b0\ud305 \ubd88\uac00\ub2a5\ud55c\" \uacf5\uac04\uc73c\ub85c \uac04\uc8fc\ub418\ubbc0\ub85c \uc88b\uc740 \ubcf4\uc548 \uad00\ud589\uc740 \uc774 \uacf5\uac04\uc5d0\uc11c \uc624\uac00\ub294 \ud1b5\uc2e0\uc744 \ucc28\ub2e8\ud558\ub294 \uac83\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4. \ubc29\ud654\ubcbd\uc5d0\uc11c src 169.254.0.0/16\uc774 tcp \ud3ec\ud2b8 179\uc758 dst 169.254.0.0/16\uacfc \ud1b5\uc2e0\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\ub294 \uaddc\uce59\uc744 \ud5c8\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4. \ud574\ub2f9 \uaddc\uce59\uc740 169.254.0.0/16 \ud2b8\ub798\ud53d\uc744 \uac70\ubd80\ud558\ub294 \uaddc\uce59 \uc704\uc5d0 \ubc30\uce58\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

ufw\uc640 \uac19\uc740 \ubc29\ud654\ubcbd\uc5d0\uc11c `sudo ufw status`\ub97c \uc2e4\ud589\ud558\uc5ec \ubc29\ud654\ubcbd \uaddc\uce59\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\nSolana \uac80\uc99d\uc790\uc640 \uc720\uc0ac\ud560 \uc218 \uc788\ub294 \uc0d8\ud50c \ucd9c\ub825:\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\n\uc704 \ucd9c\ub825\uc5d0\uc11c \uc9c0\uc815\ub41c \ud3ec\ud2b8\ub97c \uc81c\uc678\ud55c 169.254.0.0/16\uc73c\ub85c\uc758 \ubaa8\ub4e0 \ud2b8\ub798\ud53d\uc774 \uac70\ubd80\ub429\ub2c8\ub2e4.\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179`\ub97c \uc0ac\uc6a9\ud558\uc5ec \\<N\\> \uc704\uce58\uc5d0 \uaddc\uce59\uc744 \uc0bd\uc785\ud558\uc138\uc694. \uc989, N = 1\uc774\uba74 \uc774 \uaddc\uce59\uc744 \uccab \ubc88\uc9f8 \uaddc\uce59\uc73c\ub85c \uc0bd\uc785\ud569\ub2c8\ub2e4.\n`sudo ufw status numbered`\ub294 \uaddc\uce59\uc758 \ubc88\ud638 \uc21c\uc11c\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n
"},{"location":"ko/troubleshooting/#doublezero","title":"\ubb38\uc81c: \uac00\uc7a5 \uac00\uae4c\uc6b4 DoubleZero \uc7a5\uce58\uac00 \ubcc0\uacbd\ub428","text":"

\uc774\uac83\uc740 \uc624\ub958\uac00 \uc544\ub2c8\ub77c \ucd5c\uc801\ud654\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\ub294 \ub54c\ub54c\ub85c \uc2e4\ud589\ud558\uac70\ub098 \uc790\ub3d9\ud654\ud560 \uc218 \uc788\ub294 \ubaa8\ubc94 \uc0ac\ub840\uc785\ub2c8\ub2e4.

\ud574\uacb0 \ubc29\ubc95:

  1. \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc7a5\uce58\uc758 \ub300\uae30 \uc2dc\uac04 \ud655\uc778

    • doublezero latency \uc2e4\ud589

      \ucd9c\ub825

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      \uc704\uc5d0\uc11c \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc7a5\uce58\ub294 dz-ny7-sw01\uc785\ub2c8\ub2e4.

      \uc774 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ud558\uace0\uc790 \ud569\ub2c8\ub2e4.

  2. \uc774\ubbf8 \ub300\uc0c1 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\ub294\uc9c0 \ud655\uc778

    • doublezero user list --env testnet | grep 111.11.11.11\uc744 \uc2e4\ud589\ud558\uc5ec 111.11.11.11\uc744 DoubleZero\uc5d0 \uc5f0\uacb0\ub41c \uc7a5\uce58\uc758 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub85c \uad50\uccb4\ud558\uc138\uc694.

      \ucd9c\ub825

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      \uc774 \uc608\uc5d0\uc11c \uc6b0\ub9ac\ub294 \uc774\ubbf8 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub354 \uc774\uc0c1\uc758 \ub2e8\uacc4\uac00 \ud544\uc694 \uc5c6\uc73c\uba70 \uc5ec\uae30\uc11c \uba48\ucd9c \uc218 \uc788\uc2b5\ub2c8\ub2e4.

  3. \uac00\uc7a5 \uac00\uae4c\uc6b4 DoubleZero \uc7a5\uce58\uc5d0 \uc5f0\uacb0

    \uc5f0\uacb0\uc744 \ub04a\uace0 DoubleZero\uc5d0 \ub2e4\uc2dc \uc5f0\uacb0\ud569\ub2c8\ub2e4.

    \uba3c\uc800 \uc2e4\ud589: - doublezero disconnect

    \uc774\uc81c \uc0c1\ud0dc\ub97c \ud655\uc778\ud558\uc5ec \uc5f0\uacb0 \ud574\uc81c\ub97c \ud655\uc778\ud569\ub2c8\ub2e4: - doublezero status

    \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ub2e4\uc2dc \uc5f0\uacb0: - doublezero connect ibrl

    \ucd9c\ub825

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    \uc704 \ucd9c\ub825\uc5d0\uc11c Connected to device: dz-ny7-sw01\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \ud655\uc778\ud558\uc138\uc694.

"},{"location":"ko/troubleshooting/#doublezero-status-na","title":"\ubb38\uc81c: doublezero status\uac00 \uc77c\ubd80 \ud544\ub4dc\uc5d0\uc11c N/A\ub97c \ubc18\ud658\ud568","text":"

\uc774 \ubb38\uc81c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud604\uc7ac \ub370\ubaac \ubc0f \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc5f0\uacb0\ub41c DZ \ud130\ub110\uc774 \uc124\uc815\ub41c \ub370\ubaac \ubc0f \ud074\ub77c\uc774\uc5b8\ud2b8 \uac04\uc758 \ubd88\uc77c\uce58\uc640 \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4.

\uc99d\uc0c1: - doublezero status\ub97c \uc2e4\ud589\ud560 \ub54c \uc77c\ubd80 \ud544\ub4dc\uc5d0\uc11c N/A\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \uc2e4\ud589 doublezero status

\uc608:\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\n\uc704 \uc608\uc81c \ucd9c\ub825\uc5d0\uc11c `Tunnel status`\uac00 `up`\uc784\uc744 \ud655\uc778\ud558\uc138\uc694. `Network`\ub294 `mainnet-beta`\uc785\ub2c8\ub2e4. \uadf8\ub7ec\ub098 `Current Device`\uc640 `Metro`\uac00 `N/A`\uc785\ub2c8\ub2e4.\n\n\uc774\uac83\uc740 \ud604\uc7ac \ud658\uacbd\uc5d0 \uc5c6\ub294 \uc5f4\ub9b0 \ud130\ub110\uc774 \uae30\uacc4\uc5d0 \uc788\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\n\uc774 \uacbd\uc6b0 `mainnet-beta`\uc5d0\uc11c `Current Device`\uac00 \uc5c6\ub294 `up` \uc0c1\ud0dc\ub294 \ud130\ub110\uc774 testnet\uc5d0 \uc788\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4!\n
  1. \ud658\uacbd\uc744 \ubcc0\uacbd\ud558\uc138\uc694.

    \ubd88\uc77c\uce58\ub97c \uc218\uc815\ud558\ub824\uba74 \ud658\uacbd\uc744 N/A\ub97c \ubc18\ud658\ud558\ub294 \ud658\uacbd\uc758 \ubc18\ub300\ub85c \ubcc0\uacbd\ud569\ub2c8\ub2e4.

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. \uc0c1\ud0dc \ud655\uc778

    \ud658\uacbd \uc804\ud658 \ud6c4 \uc2e4\ud589:

    doublezero status\n

    \uc608\uc0c1 \ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud574\uc57c \ud569\ub2c8\ub2e4:

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    \ubaa8\ub4e0 \ud544\ub4dc\uac00 \ucc44\uc6cc\uc9c0\uba74 \uc62c\ubc14\ub978 \ud658\uacbd\uc5d0 \uc788\ub294 \uac83\uc785\ub2c8\ub2e4.

"},{"location":"pt/","title":"Bem-vindo ao DoubleZero","text":"

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 \u00e9 um protocolo e rede descentralizada de alto desempenho, otimizado para sistemas distribu\u00eddos, como blockchains. Os usu\u00e1rios do DoubleZero desfrutam de um servi\u00e7o integrado para transmiss\u00e3o altamente otimizada e pr\u00e9-processamento de dados de sistemas distribu\u00eddos.

"},{"location":"pt/#para-quem-e-o-doublezero","title":"Para quem \u00e9 o DoubleZero?","text":""},{"location":"pt/#contribuidores","title":"Contribuidores","text":"

Os contribuidores do DoubleZero possuem capacidade de rede na forma de links de fibra privados subutilizados e hardware (por exemplo, switches e dispositivos FPGA). Configurar esses recursos para estender a rede DoubleZero cria um servi\u00e7o de informa\u00e7\u00e3o integrado. Usando o protocolo DZ, os contribuidores de rede unem essa capacidade em uma rede mesh global din\u00e2mica e expansiva e recebem incentivos em tokens por sua contribui\u00e7\u00e3o.

"},{"location":"pt/#usuarios","title":"Usu\u00e1rios","text":"

Os usu\u00e1rios do DoubleZero participam de sistemas distribu\u00eddos, como blockchains, que requerem conectividade de rede de alto desempenho. Ao interconectar um sistema blockchain com o DoubleZero, os usu\u00e1rios obt\u00eam um conjunto de recursos de otimiza\u00e7\u00e3o para acelerar seu I/O de rede.

Em sua implementa\u00e7\u00e3o inicial, a rede DoubleZero \u00e9 compat\u00edvel com clientes validadores de blockchain, bem como provedores de infraestrutura RPC e MEV. Esses sistemas de usu\u00e1rios passam por controle de admiss\u00e3o verificando seus endere\u00e7os de chave p\u00fablica de identifica\u00e7\u00e3o \u00fanica em seus respectivos ledgers antes de permitir acesso \u00e0 rede. \u00c0 medida que a rede evolui para incluir sistemas de usu\u00e1rios de outros ecossistemas, estrat\u00e9gias adicionais de identifica\u00e7\u00e3o e autentica\u00e7\u00e3o ser\u00e3o adicionadas, adaptadas a cada comunidade de projeto de usu\u00e1rio.

"},{"location":"pt/#beneficios","title":"Benef\u00edcios","text":"

A \u00fanica alternativa ao DoubleZero \u00e9 a internet p\u00fablica. Comparado \u00e0 internet p\u00fablica, a rede DoubleZero oferece duas melhorias para blockchains.

Primeiro, as transa\u00e7\u00f5es de entrada podem ser filtradas na borda de maneira n\u00e3o discricion\u00e1ria no n\u00edvel do hardware do contribuidor de rede (ou seja, remo\u00e7\u00e3o de spam e duplicatas) antes de serem enviadas aos usu\u00e1rios (por exemplo, n\u00f3s de blockchain) da rede DoubleZero. Isso permite que as blockchains se beneficiem de recursos de filtragem compartilhados em todo o sistema, em vez de precisar que cada validador individual provisione recursos suficientes. Como resultado, os validadores podem realocar seus recursos para atividades diretamente geradoras de receita. Este recurso ainda n\u00e3o est\u00e1 funcional.

Segundo, as mensagens de sa\u00edda s\u00e3o roteadas de forma mais direta e priorizadas para melhorar a efici\u00eancia. Isso \u00e9 poss\u00edvel porque no DoubleZero a l\u00f3gica de roteamento do movimento global de dados \u00e9 otimizada para velocidade, ao contr\u00e1rio da internet p\u00fablica. Assim, os validadores se beneficiam de redu\u00e7\u00e3o de jitter, que \u00e9 definido como a quantidade de varia\u00e7\u00e3o na lat\u00eancia entre dois endpoints de cabo de dados. Em ess\u00eancia, os n\u00f3s de blockchain podem enviar e receber blocos mais rapidamente.

Juntos, esses benef\u00edcios da rede DoubleZero podem alcan\u00e7ar n\u00edveis de desempenho que de outra forma seriam inacess\u00edveis pela internet p\u00fablica.

Para mais detalhes, consulte o whitepaper do Protocolo DoubleZero.

"},{"location":"pt/#proximos-passos","title":"Pr\u00f3ximos Passos","text":""},{"location":"pt/DZ%20Mainnet-beta%20Connection/","title":"Conex\u00e3o do Validador ao Mainnet-Beta no Modo IBRL","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#conectando-ao-mainnet-beta-no-modo-ibrl","title":"Conectando ao Mainnet-Beta no Modo IBRL","text":"

Note

O modo IBRL n\u00e3o requer reinicializa\u00e7\u00e3o dos clientes validadores, pois usa seu endere\u00e7o IP p\u00fablico existente.

Os Validadores Mainnet da Solana completar\u00e3o a conex\u00e3o ao DoubleZero Mainnet-beta, detalhada nesta p\u00e1gina.

Cada validador Solana tem seu pr\u00f3prio keypair de identidade; dele \u00e9 extra\u00edda a chave p\u00fablica conhecida como o node ID. Esta \u00e9 a impress\u00e3o digital \u00fanica do validador na rede Solana.

Com o DoubleZeroID e o node ID identificados, voc\u00ea provar\u00e1 a propriedade da sua m\u00e1quina. Isso \u00e9 feito criando uma mensagem que inclui o DoubleZeroID assinado com a chave de identidade do validador. A assinatura criptogr\u00e1fica resultante serve como prova verific\u00e1vel de que voc\u00ea controla o validador.

Por fim, voc\u00ea enviar\u00e1 uma solicita\u00e7\u00e3o de conex\u00e3o ao DoubleZero. Esta solicita\u00e7\u00e3o comunica: \"Aqui est\u00e1 minha identidade, aqui est\u00e1 a prova de propriedade e aqui est\u00e1 como pretendo me conectar.\" O DoubleZero valida essas informa\u00e7\u00f5es, aceita a prova e provisiona acesso \u00e0 rede para o validador no DoubleZero.

Este guia permite que 1 Validador Prim\u00e1rio se registre e at\u00e9 3 m\u00e1quinas de backup/failover ao mesmo tempo.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#pre-requisitos","title":"Pr\u00e9-requisitos","text":"

Info

O ID do Validador ser\u00e1 verificado contra o gossip da Solana para determinar o IP alvo. O IP alvo e o ID DoubleZero ser\u00e3o ent\u00e3o usados para abrir um t\u00fanel GRE entre sua m\u00e1quina e o Dispositivo DoubleZero alvo.

Considere: No caso em que voc\u00ea tem um ID junk e um ID Prim\u00e1rio no mesmo IP, apenas o ID Prim\u00e1rio ser\u00e1 usado no registro da m\u00e1quina. Isso ocorre porque o ID junk n\u00e3o aparecer\u00e1 no gossip e, portanto, n\u00e3o pode ser usado para verificar o IP da m\u00e1quina alvo.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao DoubleZero mainnet-beta:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Voc\u00ea deve ver a seguinte sa\u00edda: \u2705 doublezerod configured for environment mainnet-beta

Ap\u00f3s aproximadamente 30 segundos, voc\u00ea ver\u00e1 os dispositivos DoubleZero dispon\u00edveis:

doublezero latency\n
"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#2-abrir-a-porta-44880","title":"2. Abrir a porta 44880","text":"

Os usu\u00e1rios precisam abrir a porta 44880 para utilizar alguns recursos de roteamento.

Para abrir a porta 44880 voc\u00ea pode atualizar as regras do iptables da seguinte forma:

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

observe os flags -i doublezero0, -o doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

Ou UFW da seguinte forma:

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

observe os flags in on doublezero0, out on doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#3-atestar-a-propriedade-do-validador","title":"3. Atestar a Propriedade do Validador","text":"

Com seu Ambiente DoubleZero configurado, \u00e9 hora de atestar a Propriedade do seu Validador.

O ID DoubleZero que voc\u00ea criou na configura\u00e7\u00e3o do seu validador prim\u00e1rio deve ser usado em todas as m\u00e1quinas de backup.

O ID na sua m\u00e1quina prim\u00e1ria pode ser encontrado com doublezero address. O mesmo ID deve estar em ~/.config/doublezero/id.json em todas as m\u00e1quinas do cluster.

Para conseguir isso, voc\u00ea primeiro verificar\u00e1 que a m\u00e1quina da qual est\u00e1 executando os comandos \u00e9 seu Validador Prim\u00e1rio com:

doublezero-solana passport find-validator -u mainnet-beta\n

Isso verifica que o validador est\u00e1 registrado no gossip e aparece no cronograma de l\u00edderes.

Sa\u00edda esperada:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

O mesmo fluxo de trabalho \u00e9 usado para uma ou muitas m\u00e1quinas. Para registrar uma m\u00e1quina, exclua os argumentos \"--backup-validator-ids\" ou \"backup_ids=\" de qualquer comando nesta p\u00e1gina.

Agora, em todas as m\u00e1quinas de backup nas quais voc\u00ea planeja executar seu Validador Prim\u00e1rio, execute o seguinte:

doublezero-solana passport find-validator -u mainnet-beta\n

Esta sa\u00edda \u00e9 esperada. O n\u00f3 de backup n\u00e3o pode estar no cronograma de l\u00edderes no momento da cria\u00e7\u00e3o do passe.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#preparar-a-conexao","title":"Preparar a Conex\u00e3o","text":"

Execute o seguinte comando na m\u00e1quina do Validador Prim\u00e1rio. Esta \u00e9 a m\u00e1quina na qual voc\u00ea tem stake ativo, que est\u00e1 no cronograma de l\u00edderes com seu ID de validador prim\u00e1rio no gossip da Solana na m\u00e1quina da qual voc\u00ea est\u00e1 executando o comando:

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

Observe a sa\u00edda no final deste comando. \u00c9 a estrutura para o pr\u00f3ximo passo.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#4-gerar-assinatura","title":"4. Gerar Assinatura","text":"

No final do \u00faltimo passo, recebemos uma sa\u00edda pr\u00e9-formatada para solana sign-offchain-message.

Da sa\u00edda anterior executaremos este comando na m\u00e1quina do Validador Prim\u00e1rio.

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

Sa\u00edda:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#5-iniciar-uma-solicitacao-de-conexao-no-doublezero","title":"5. Iniciar uma Solicita\u00e7\u00e3o de Conex\u00e3o no DoubleZero","text":"

Use o comando request-validator-access para criar uma conta na Solana para a solicita\u00e7\u00e3o de conex\u00e3o. O agente Sentinel do DoubleZero detecta a nova conta, valida sua identidade e assinatura, e cria o passe de acesso no DoubleZero para que o servidor possa estabelecer uma conex\u00e3o.

Use o node ID, o DoubleZeroID e a assinatura.

Note

Neste exemplo usamos -k /home/user/.config/solana/id.json para encontrar a Identidade do validador. Use o local apropriado para sua implanta\u00e7\u00e3o local.

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

Sa\u00edda:

Esta sa\u00edda pode ser usada para ver a transa\u00e7\u00e3o em um explorador Solana. Certifique-se de mudar o explorador para mainnet. Esta verifica\u00e7\u00e3o \u00e9 opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Se bem-sucedido, o DoubleZero registrar\u00e1 o prim\u00e1rio com seus backups. Agora voc\u00ea pode fazer failover entre os IPs registrados no passe de acesso. O DoubleZero manter\u00e1 a conectividade automaticamente ao mudar para n\u00f3s de backup registrados desta forma.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#6-conectar-no-modo-ibrl","title":"6. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel GRE terminar de ser configurado. At\u00e9 que o t\u00fanel GRE esteja configurado, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Note

Examine esta sa\u00edda. Observe que Tunnel src e DoubleZero IP correspondem ao endere\u00e7o IPv4 p\u00fablico da sua m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#proximo-passo-publicando-shreds-via-multicast","title":"Pr\u00f3ximo Passo: Publicando Shreds via Multicast","text":"

Se voc\u00ea completou esta configura\u00e7\u00e3o e planeja publicar shreds via multicast, continue para a pr\u00f3xima p\u00e1gina.

"},{"location":"pt/DZ%20Testnet%20Connection/","title":"Conex\u00e3o do Validador ao Testnet no Modo IBRL","text":"

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.

Ao conectar ao testnet DoubleZero, concordo com os termos do Acordo de Avalia\u00e7\u00e3o estabelecido aqui (clique para expandir)

Testnet DoubleZero Acordo de Avalia\u00e7\u00e3o

Ao acessar ou usar a Solu\u00e7\u00e3o (definida abaixo), voc\u00ea concorda a partir da primeira data de tal acesso (a \"Data de Vig\u00eancia\") que este Acordo de Avalia\u00e7\u00e3o (o \"Acordo\") estabelece os termos e condi\u00e7\u00f5es sob os quais a DoubleZero Foundation (\"DZF\") fornecer\u00e1 a voc\u00ea (\"Usu\u00e1rio\" ou \"voc\u00ea\") acesso \u00e0 Solu\u00e7\u00e3o em base de avalia\u00e7\u00e3o. Em considera\u00e7\u00e3o \u00e0s promessas m\u00fatuas aqui contidas, voc\u00ea concorda com o seguinte:

1. DEFINI\u00c7\u00d5ES.

1.1 \"Informa\u00e7\u00f5es Confidenciais\" significa toda e qualquer informa\u00e7\u00e3o divulgada por qualquer das partes \u00e0 outra que seja designada como confidencial, ou que deva ser entendida como confidencial, incluindo, mas n\u00e3o se limitando a, a Solu\u00e7\u00e3o, planos de produtos, planos de neg\u00f3cios, segredos comerciais, tecnologia ou quaisquer outras informa\u00e7\u00f5es propriet\u00e1rias.

1.2 \"Solu\u00e7\u00e3o\" significa a vers\u00e3o testnet da infraestrutura de rede de alto desempenho do DoubleZero para projetos web3 (\"Testnet\") e servi\u00e7o de filtragem de borda relacionado com largura de banda integrada (\"Servi\u00e7o de Informa\u00e7\u00e3o\"), o Software DZ (definido abaixo), todos e quaisquer materiais fornecidos pela DZF relacionados ao Software DZ (\"Documenta\u00e7\u00e3o\") e outros materiais que a DZF fornece ao Usu\u00e1rio neste documento.

2. ACESSO.

2.1 Acesso \u00e0 Solu\u00e7\u00e3o. Sujeito aos termos e condi\u00e7\u00f5es deste Acordo, a DZF fornecer\u00e1 ao Usu\u00e1rio acesso \u00e0 Solu\u00e7\u00e3o pela Internet. O acesso do Usu\u00e1rio \u00e9 um uso n\u00e3o exclusivo, intransfer\u00edvel e limitado da Solu\u00e7\u00e3o para permitir que o Usu\u00e1rio avalie apenas o Servi\u00e7o de Informa\u00e7\u00e3o. Com rela\u00e7\u00e3o a qualquer software que comp\u00f5e a Solu\u00e7\u00e3o (\"Software DZ\"), a DZF concede ao Usu\u00e1rio uma licen\u00e7a limitada e revog\u00e1vel, durante o Per\u00edodo de Avalia\u00e7\u00e3o, para copiar, baixar, fazer um n\u00famero razo\u00e1vel de c\u00f3pias, executar e implantar (conforme aplic\u00e1vel) tal Software DZ exclusivamente conforme contemplado pela Documenta\u00e7\u00e3o.

2.2 Restri\u00e7\u00f5es. O Usu\u00e1rio pode usar a Solu\u00e7\u00e3o de acordo com este Acordo a partir da Data de Vig\u00eancia at\u00e9 ser encerrado pela DZF (o \"Per\u00edodo de Avalia\u00e7\u00e3o\"). O Usu\u00e1rio entende que quaisquer direitos de usar a Solu\u00e7\u00e3o al\u00e9m do Per\u00edodo de Avalia\u00e7\u00e3o estar\u00e3o sujeitos a um acordo comercial separado entre as partes com rela\u00e7\u00e3o ao mesmo, incluindo o pagamento de taxas. O Usu\u00e1rio n\u00e3o deve, e n\u00e3o deve permitir que terceiros: (i) modifiquem ou criem obras derivadas com base na Solu\u00e7\u00e3o ou qualquer parte dela; (ii) reproduzam a Solu\u00e7\u00e3o exceto conforme expressamente permitido por este Acordo; (iii) sublicenciem, distribuam, vendam, emprestem, aluguem, arrendem, transfiram ou concedam quaisquer direitos sobre toda ou qualquer parte da Solu\u00e7\u00e3o ou forne\u00e7am acesso \u00e0 Solu\u00e7\u00e3o a terceiros, em base de servi\u00e7o de bureau ou de outra forma, exceto como oferta dos Servi\u00e7os de Informa\u00e7\u00e3o por meio ou em conex\u00e3o com a plataforma ou produto do Usu\u00e1rio e n\u00e3o de forma independente; ou (iv) usem a Solu\u00e7\u00e3o de outra forma que n\u00e3o a prevista neste documento.

2.3 Propriedade. A DZF ret\u00e9m todos os direitos, t\u00edtulos e interesses, incluindo direitos de propriedade intelectual, sobre e na Solu\u00e7\u00e3o.

3 FEEDBACK. A DZF pode periodicamente solicitar que o Usu\u00e1rio forne\u00e7a, e o Usu\u00e1rio concorda em fornecer \u00e0 DZF, feedback sobre o uso, opera\u00e7\u00e3o e funcionalidade da Solu\u00e7\u00e3o (\"Feedback\"). O Usu\u00e1rio concede \u00e0 DZF um direito e licen\u00e7a n\u00e3o exclusivos, mundiais, perp\u00e9tuos, irrevog\u00e1veis, sem royalties, totalmente pagos, totalmente sublicenci\u00e1veis e transfer\u00edveis para usar e incorporar o Feedback em quaisquer produtos e servi\u00e7os, para fabricar, usar, vender, oferecer para venda, importar e de outra forma explorar tais produtos e servi\u00e7os, e de outra forma usar, copiar, distribuir e de outra forma explorar o Feedback sem restri\u00e7\u00e3o.

4. PRAZO E RESCIS\u00c3O.

4.1 Prazo. Este Acordo entrar\u00e1 em vigor na Data de Vig\u00eancia e permanecer\u00e1 em pleno vigor e efeito durante o Per\u00edodo de Avalia\u00e7\u00e3o. Qualquer das partes pode rescindir este Acordo imediatamente por conveni\u00eancia, por qualquer motivo ou sem motivo, mediante notifica\u00e7\u00e3o por escrito \u00e0 outra parte (e-mail suficiente).

4.1 Efeitos da Rescis\u00e3o. Ap\u00f3s a rescis\u00e3o deste Acordo por qualquer motivo: (i) os direitos concedidos ao Usu\u00e1rio neste documento encerrar\u00e3o imediatamente; (ii) o Usu\u00e1rio dever\u00e1 imediatamente descontinuar qualquer uso da Solu\u00e7\u00e3o e dever\u00e1 devolver ou destruir toda a Documenta\u00e7\u00e3o e qualquer Software DZ sob seu controle; (iii) cada parte dever\u00e1 prontamente devolver ou destruir todas as Informa\u00e7\u00f5es Confidenciais e propriedades da outra parte; e (iv) as Se\u00e7\u00f5es 2.2, 2.3, 3, 4.2 e 5 a 8 sobreviver\u00e3o.

5. CONFIDENCIALIDADE. Cada parte concorda que usar\u00e1 as Informa\u00e7\u00f5es Confidenciais da outra parte exclusivamente para cumprir suas obriga\u00e7\u00f5es e exercer seus direitos sob este Acordo e n\u00e3o divulgar\u00e1, nem permitir\u00e1 que sejam divulgadas, exceto conforme permitido neste documento. No entanto, qualquer das partes pode divulgar Informa\u00e7\u00f5es Confidenciais ao seu pessoal, advogados e outros representantes que tenham necessidade de saber e estejam vinculados por obriga\u00e7\u00f5es de confidencialidade n\u00e3o menos protetoras do que as estabelecidas neste Acordo; e conforme exigido por lei (caso em que a parte receptora fornecer\u00e1 \u00e0 parte divulgadora aviso pr\u00e9vio e oportunidade de contestar tal divulga\u00e7\u00e3o, e minimizar\u00e1 tal divulga\u00e7\u00e3o na medida permitida pela lei aplic\u00e1vel). As obriga\u00e7\u00f5es de confidencialidade nesta Se\u00e7\u00e3o 5 n\u00e3o se aplicar\u00e3o a informa\u00e7\u00f5es que: (a) sejam ou se tornem geralmente conhecidas ou publicamente dispon\u00edveis sem culpa da parte receptora; (b) eram adequadamente conhecidas pela parte receptora, sem restri\u00e7\u00e3o, antes da divulga\u00e7\u00e3o pela parte divulgadora; (c) foram adequadamente divulgadas \u00e0 parte receptora, sem restri\u00e7\u00e3o, por outra pessoa com autoridade legal para faz\u00ea-lo; ou (d) s\u00e3o desenvolvidas de forma independente pela parte receptora sem uso ou refer\u00eancia \u00e0s Informa\u00e7\u00f5es Confidenciais da parte divulgadora.

6. ISEN\u00c7\u00c3O DE GARANTIA; LIMITA\u00c7\u00c3O DE RESPONSABILIDADE.

6.1 ISEN\u00c7\u00c3O DE GARANTIA. A SOLU\u00c7\u00c3O \u00c9 FORNECIDA \"NO ESTADO EM QUE SE ENCONTRA\" SEM GARANTIA DE QUALQUER TIPO. A DZF N\u00c3O OFERECE GARANTIAS, SEJAM EXPRESSAS, IMPL\u00cdCITAS, ESTATUT\u00c1RIAS OU DE OUTRA FORMA, COM RELA\u00c7\u00c3O \u00c0 SOLU\u00c7\u00c3O E DOCUMENTA\u00c7\u00c3O, INCLUINDO SUA CONDI\u00c7\u00c3O, CONFORMIDADE COM QUALQUER REPRESENTA\u00c7\u00c3O OU DESCRI\u00c7\u00c3O, E A DZF ESPECIFICAMENTE SE ISENTA DE TODAS AS GARANTIAS IMPL\u00cdCITAS DE COMERCIALIZA\u00c7\u00c3O, ADEQUA\u00c7\u00c3O A UM FIM ESPEC\u00cdFICO, T\u00cdTULO E N\u00c3O VIOLA\u00c7\u00c3O.

6.2 LIMITA\u00c7\u00c3O DE RESPONSABILIDADE. EXCETO POR VIOLA\u00c7\u00c3O DAS SE\u00c7\u00d5ES 2.1, 2.2 E 5, EM NENHUM CASO QUALQUER DAS PARTES SER\u00c1 RESPONS\u00c1VEL PERANTE A OUTRA POR DANOS INDIRETOS, INCIDENTAIS, ESPECIAIS OU OUTROS DANOS CONSEQUENCIAIS, INCLUINDO SEM LIMITA\u00c7\u00c3O DANOS POR PERDA DE LUCROS OU USO OU PERDA DE DADOS, INCORRIDOS POR VOC\u00ca OU QUALQUER TERCEIRO, DECORRENTES DE OU RELACIONADOS A ESTE ACORDO, SEJA EM UMA A\u00c7\u00c3O EM CONTRATO, ATO IL\u00cdCITO OU DE OUTRA FORMA, MESMO QUE A OUTRA PARTE TENHA SIDO AVISADA DA POSSIBILIDADE DE TAIS DANOS. EM NENHUM CASO A RESPONSABILIDADE AGREGADA DA DZF DECORRENTE DE OU RELACIONADA A ESTE ACORDO EXCEDER\u00c1 CEM D\u00d3LARES ($100), SEJA EM A\u00c7\u00c3O EM CONTRATO, ATO IL\u00cdCITO OU DE OUTRA FORMA.

7. LEI APLIC\u00c1VEL. Este Acordo e todos os assuntos decorrentes de ou relacionados a este Acordo ser\u00e3o regidos, interpretados e constru\u00eddos de acordo com as leis das Ilhas Cayman.

8. DISPOSI\u00c7\u00d5ES GERAIS. Este Acordo n\u00e3o pode ser transferido ou cedido pelo Usu\u00e1rio sem o consentimento pr\u00e9vio por escrito da DZF. A DZF pode ceder livremente este Acordo. Este Acordo, juntamente com quaisquer anexos, constitui o acordo completo entre as partes e substitui todos os acordos ou representa\u00e7\u00f5es anteriores ou contempor\u00e2neos, escritos ou orais, relativos ao assunto aqui tratado.

"},{"location":"pt/DZ%20Testnet%20Connection/#conectando-ao-testnet-no-modo-ibrl","title":"Conectando ao Testnet no Modo IBRL","text":"

Note

O modo IBRL n\u00e3o requer reinicializa\u00e7\u00e3o dos clientes validadores, pois usa seu endere\u00e7o IP p\u00fablico existente.

Os Validadores Testnet da Solana completar\u00e3o a conex\u00e3o ao Testnet do DoubleZero, detalhada nesta p\u00e1gina.

Cada validador Solana tem seu pr\u00f3prio keypair de identidade; dele \u00e9 extra\u00edda a chave p\u00fablica conhecida como o node ID. Esta \u00e9 a impress\u00e3o digital \u00fanica do validador na rede Solana.

Com o DoubleZeroID e o node ID identificados, voc\u00ea provar\u00e1 a propriedade da sua m\u00e1quina. Isso \u00e9 feito criando uma mensagem que inclui o DoubleZeroID assinado com a chave de identidade do validador. A assinatura criptogr\u00e1fica resultante serve como prova verific\u00e1vel de que voc\u00ea controla o validador.

Por fim, voc\u00ea enviar\u00e1 uma solicita\u00e7\u00e3o de conex\u00e3o ao DoubleZero. Esta solicita\u00e7\u00e3o comunica: \"Aqui est\u00e1 minha identidade, aqui est\u00e1 a prova de propriedade e aqui est\u00e1 como pretendo me conectar.\" O DoubleZero valida essas informa\u00e7\u00f5es, aceita a prova e provisiona acesso \u00e0 rede para o validador no DoubleZero.

Este guia permite que 1 Validador Prim\u00e1rio se registre e at\u00e9 3 m\u00e1quinas de backup/failover ao mesmo tempo.

"},{"location":"pt/DZ%20Testnet%20Connection/#pre-requisitos","title":"Pr\u00e9-requisitos","text":"

Info

O ID do Validador ser\u00e1 verificado contra o gossip da Solana para determinar o IP alvo. O IP alvo e o ID DoubleZero ser\u00e3o ent\u00e3o usados para abrir um t\u00fanel GRE entre sua m\u00e1quina e o Dispositivo DoubleZero alvo.

Considere: No caso em que voc\u00ea tem um ID junk e um ID Prim\u00e1rio no mesmo IP, apenas o ID Prim\u00e1rio ser\u00e1 usado no registro da m\u00e1quina. Isso ocorre porque o ID junk n\u00e3o aparecer\u00e1 no gossip e, portanto, n\u00e3o pode ser usado para verificar o IP da m\u00e1quina alvo.

"},{"location":"pt/DZ%20Testnet%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao testnet DoubleZero:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Voc\u00ea deve ver a seguinte sa\u00edda:
\u2705 doublezerod configured for environment testnet\n

Ap\u00f3s aproximadamente 30 segundos, voc\u00ea ver\u00e1 os dispositivos DoubleZero dispon\u00edveis:

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

A sa\u00edda do Mainnet ser\u00e1 id\u00eantica em estrutura, mas com muito mais dispositivos dispon\u00edveis.

"},{"location":"pt/DZ%20Testnet%20Connection/#2-abrir-a-porta-44880","title":"2. Abrir a porta 44880","text":"

Os usu\u00e1rios precisam abrir a porta 44880 para utilizar alguns recursos de roteamento.

Para abrir a porta 44880, voc\u00ea pode atualizar as regras do iptables da seguinte forma:

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

observe os flags -i doublezero0, -o doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

Ou UFW da seguinte forma:

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

observe os flags in on doublezero0, out on doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

"},{"location":"pt/DZ%20Testnet%20Connection/#3-atestar-a-propriedade-do-validador","title":"3. Atestar a Propriedade do Validador","text":"

Com seu Ambiente DoubleZero configurado, \u00e9 hora de atestar a Propriedade do seu Validador.

O ID DoubleZero que voc\u00ea criou na configura\u00e7\u00e3o do seu validador prim\u00e1rio deve ser usado em todas as m\u00e1quinas de backup.

O ID na sua m\u00e1quina prim\u00e1ria pode ser encontrado com doublezero address. O mesmo ID deve estar em ~/.config/doublezero/id.json em todas as m\u00e1quinas do cluster.

Para conseguir isso, voc\u00ea primeiro verificar\u00e1 que a m\u00e1quina da qual est\u00e1 executando os comandos \u00e9 seu Validador Prim\u00e1rio com:

doublezero-solana passport find-validator -ut\n

Isso verifica que o validador est\u00e1 registrado no gossip e aparece no cronograma de l\u00edderes.

Sa\u00edda esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

O mesmo fluxo de trabalho \u00e9 usado para uma ou muitas m\u00e1quinas. Para registrar uma m\u00e1quina, exclua os argumentos \"--backup-validator-ids\" ou \"backup_ids=\" de qualquer comando nesta p\u00e1gina.

Agora, em todas as m\u00e1quinas de backup nas quais voc\u00ea planeja executar seu Validador Prim\u00e1rio, execute o seguinte:

doublezero-solana passport find-validator -ut\n

Sa\u00edda esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Esta sa\u00edda \u00e9 esperada. O n\u00f3 de backup n\u00e3o pode estar no cronograma de l\u00edderes no momento da cria\u00e7\u00e3o do passe.

Voc\u00ea agora executar\u00e1 este comando em todas as m\u00e1quinas de backup nas quais planeja usar a conta de voto e identidade do seu Validador Prim\u00e1rio.

"},{"location":"pt/DZ%20Testnet%20Connection/#preparar-a-conexao","title":"Preparar a Conex\u00e3o","text":"

Execute o seguinte comando na m\u00e1quina do Validador Prim\u00e1rio. Esta \u00e9 a m\u00e1quina na qual voc\u00ea tem stake ativo, que est\u00e1 no cronograma de l\u00edderes com seu ID de validador prim\u00e1rio no gossip da Solana na m\u00e1quina da qual voc\u00ea est\u00e1 executando o comando:

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

Exemplo de sa\u00edda:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Observe a sa\u00edda no final deste comando. \u00c9 a estrutura para o pr\u00f3ximo passo.

"},{"location":"pt/DZ%20Testnet%20Connection/#4-gerar-assinatura","title":"4. Gerar Assinatura","text":"

No final do \u00faltimo passo, recebemos uma sa\u00edda pr\u00e9-formatada para solana sign-offchain-message.

Da sa\u00edda anterior, executaremos este comando na m\u00e1quina do Validador Prim\u00e1rio.

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

Sa\u00edda:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"pt/DZ%20Testnet%20Connection/#5-iniciar-uma-solicitacao-de-conexao-no-doublezero","title":"5. Iniciar uma Solicita\u00e7\u00e3o de Conex\u00e3o no DoubleZero","text":"

Use o comando request-validator-access para criar uma conta na Solana para a solicita\u00e7\u00e3o de conex\u00e3o. O agente Sentinel do DoubleZero detecta a nova conta, valida sua identidade e assinatura, e cria o passe de acesso no DoubleZero para que o servidor possa estabelecer uma conex\u00e3o.

Use o node ID, o DoubleZeroID e a assinatura.

Note

Neste exemplo usamos -k /home/user/.config/solana/id.json para encontrar a Identidade do validador. Use o local apropriado para sua implanta\u00e7\u00e3o local.

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

Sa\u00edda:

Esta sa\u00edda pode ser usada para ver a transa\u00e7\u00e3o em um explorador Solana. Certifique-se de mudar o explorador para testnet. Esta verifica\u00e7\u00e3o \u00e9 opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Se bem-sucedido, o DoubleZero registrar\u00e1 o prim\u00e1rio com seus backups. Agora voc\u00ea pode fazer failover entre os IPs registrados no passe de acesso. O DoubleZero manter\u00e1 a conectividade automaticamente ao mudar para n\u00f3s de backup registrados desta forma.

"},{"location":"pt/DZ%20Testnet%20Connection/#6-conectar-no-modo-ibrl","title":"6. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel GRE terminar de ser configurado. At\u00e9 que o t\u00fanel GRE esteja configurado, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Note

Examine esta sa\u00edda. Observe que Tunnel src e DoubleZero IP correspondem ao endere\u00e7o IPv4 p\u00fablico da sua m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"pt/DZ%20Testnet%20Connection/#proximo-passo-publicando-shreds-via-multicast","title":"Pr\u00f3ximo Passo: Publicando Shreds via Multicast","text":"

Se voc\u00ea completou esta configura\u00e7\u00e3o e planeja publicar shreds via multicast, continue para a pr\u00f3xima p\u00e1gina.

"},{"location":"pt/New%20Tenant/","title":"Novo Tenant","text":"

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.

Se voc\u00ea gostaria que seu sistema distribu\u00eddo aproveitasse a rede DoubleZero, ficamos felizes em ajudar com qualquer d\u00favida t\u00e9cnica que voc\u00ea possa ter.

Formul\u00e1rio de Contato

"},{"location":"pt/Other%20Multicast%20Connection/","title":"Outra Conex\u00e3o Multicast","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

Caso de Uso Primeiro Passo Quando Aprovado, conecte via: Assinar o Jito Shredstream Entre em contato com o Jito para aprova\u00e7\u00e3o. doublezero connect multicast --subscribe jito-shredstream

Informa\u00e7\u00f5es detalhadas de conex\u00e3o:

"},{"location":"pt/Other%20Multicast%20Connection/#1-instalacao-do-cliente-doublezero","title":"1. Instala\u00e7\u00e3o do Cliente DoubleZero","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o para instalar e configurar o cliente DoubleZero.

"},{"location":"pt/Other%20Multicast%20Connection/#2-instrucoes-de-conexao","title":"2. Instru\u00e7\u00f5es de Conex\u00e3o","text":"

Conecte-se ao DoubleZero no Modo Multicast Como publicador:

doublezero connect multicast --publish <nome do feed>

ou como assinante:

doublezero connect multicast --subscribe <nome do feed>

ou para publicar e assinar:

doublezero connect multicast --publish <nome do feed> --subscribe <nome do feed>

Para publicar ou assinar em m\u00faltiplos feeds, voc\u00ea pode incluir m\u00faltiplos nomes de feeds separados por espa\u00e7o. Isso tamb\u00e9m pode ser usado para publicar e assinar feeds de publica\u00e7\u00e3o. Por exemplo: doublezero connect multicast --subscribe feed1 feed2 feed3

Voc\u00ea deve ver uma sa\u00edda similar \u00e0 seguinte:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <seu dz_id>\n\ud83d\udd0d  Provisioning User for IP: <seu ip p\u00fablico>\n    Creating an account for the IP: <seu ip p\u00fablico>\n    The Device has been selected: <o dispositivo doublezero ao qual voc\u00ea est\u00e1 se conectando>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"pt/Other%20Multicast%20Connection/#3-verifique-sua-conexao-multicast-ativa","title":"3. Verifique sua conex\u00e3o multicast ativa.","text":"

Aguarde 60 segundos e ent\u00e3o execute

doublezero status\n
Resultado esperado: - Sess\u00e3o BGP ativa na Rede DoubleZero correta - Se voc\u00ea \u00e9 um publicador, seu IP DoubleZero ser\u00e1 diferente do seu IP de Origem do T\u00fanel. Isso \u00e9 esperado. - Se voc\u00ea \u00e9 apenas um assinante, seu IP DoubleZero ser\u00e1 o mesmo que seu IP de Origem do T\u00fanel.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verifique os grupos aos quais voc\u00ea est\u00e1 conectado:

doublezero user list --client-ip <seu ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"pt/Permissioned%20Connection/","title":"Conex\u00e3o com Permiss\u00e3o ao DoubleZero no Modo IBRL para N\u00e3o-Validadores","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/Permissioned%20Connection/#visao-geral-do-processo-de-integracao-com-permissao","title":"Vis\u00e3o Geral do Processo de Integra\u00e7\u00e3o com Permiss\u00e3o","text":"

A integra\u00e7\u00e3o de usu\u00e1rios est\u00e1 atualmente sujeita a permiss\u00e3o para n\u00e3o-validadores e RPCs. Para iniciar o processo com permiss\u00e3o, preencha este formul\u00e1rio. Isto \u00e9 o que voc\u00ea pode esperar durante este processo:

"},{"location":"pt/Permissioned%20Connection/#conectando-ao-mainnet-beta-e-testnet-no-modo-ibrl","title":"Conectando ao Mainnet-Beta e Testnet no Modo IBRL","text":"

Note

O modo IBRL n\u00e3o requer reinicializa\u00e7\u00e3o dos clientes validadores, pois usa seu endere\u00e7o IP p\u00fablico existente.

Os Usu\u00e1rios com Permiss\u00e3o completar\u00e3o a conex\u00e3o ao DoubleZero Mainnet-beta, detalhada nesta p\u00e1gina.

"},{"location":"pt/Permissioned%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao DoubleZero mainnet-beta:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Voc\u00ea deve ver a seguinte sa\u00edda:

\u2705 doublezerod configured for environment mainnet-beta\n

Ap\u00f3s aproximadamente 30 segundos, voc\u00ea ver\u00e1 os dispositivos DoubleZero dispon\u00edveis:

doublezero latency\n
"},{"location":"pt/Permissioned%20Connection/#2-contatar-a-fundacao-doublezero","title":"2. Contatar a Funda\u00e7\u00e3o DoubleZero","text":"

A Funda\u00e7\u00e3o DoubleZero. Voc\u00ea precisar\u00e1 fornecer seu DoubleZeroID, seu ID de Validador (node ID) e o endere\u00e7o IPv4 p\u00fablico a partir do qual voc\u00ea se conectar\u00e1.

"},{"location":"pt/Permissioned%20Connection/#3-conectar-no-modo-ibrl","title":"3. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel ser conclu\u00eddo. At\u00e9 que o t\u00fanel seja conclu\u00eddo, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
Sa\u00edda:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"pt/Permissioned%20Connection/#proximo-passo-multicast","title":"Pr\u00f3ximo Passo: Multicast","text":"

Se voc\u00ea completou esta configura\u00e7\u00e3o e planeja usar o Multicast, continue para a pr\u00f3xima p\u00e1gina.

"},{"location":"pt/Shelby%20Permissioned%20Connection/","title":"Conex\u00e3o ao DoubleZero no Modo IBRL para Usu\u00e1rios do Shelby Testnet","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/Shelby%20Permissioned%20Connection/#obtenha-seu-doublezeroid","title":"Obtenha seu DoubleZeroID","text":"

Voc\u00ea precisar\u00e1 fornecer seu DoubleZeroID e o endere\u00e7o IPv4 p\u00fablico neste formul\u00e1rio

"},{"location":"pt/Shelby%20Permissioned%20Connection/#conectando-ao-testnet-no-modo-ibrl","title":"Conectando ao Testnet no Modo IBRL","text":"

Os usu\u00e1rios com permiss\u00e3o do Shelby completar\u00e3o a conex\u00e3o ao DoubleZero Testnet, detalhada nesta p\u00e1gina.

"},{"location":"pt/Shelby%20Permissioned%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) para se conectar ao tenant Shelby no DoubleZero:

doublezero config set --tenant shelby\n

Aplique regras de Firewall adicionais espec\u00edficas para o Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"pt/Shelby%20Permissioned%20Connection/#2-contatar-a-fundacao-doublezero","title":"2. Contatar a Funda\u00e7\u00e3o DoubleZero","text":"

A Funda\u00e7\u00e3o DoubleZero. Voc\u00ea precisar\u00e1 fornecer seu DoubleZeroID e o endere\u00e7o IPv4 p\u00fablico a partir do qual voc\u00ea se conectar\u00e1.

"},{"location":"pt/Shelby%20Permissioned%20Connection/#3-conectar-no-modo-ibrl","title":"3. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel ser conclu\u00eddo. At\u00e9 que o t\u00fanel seja conclu\u00eddo, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
Sa\u00edda:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"pt/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Revise o Aviso Legal antes de acessar ou usar o c\u00f3digo ou quaisquer materiais relacionados.

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.

Aviso Legal

Este documento e o c\u00f3digo associado s\u00e3o fornecidos apenas para fins informativos e t\u00e9cnicos. A funcionalidade de convers\u00e3o de tokens descrita aqui \u00e9 n\u00e3o custodial \u2014 os usu\u00e1rios interagem diretamente com os contratos inteligentes subjacentes e mant\u00eam controle total de seus ativos em todos os momentos.

O sistema pode depender de ou interagir com c\u00f3digo de terceiros, fontes de dados ou mecanismos de precifica\u00e7\u00e3o e taxas (por exemplo, contratos inteligentes, APIs ou exchanges descentralizadas) que n\u00e3o s\u00e3o desenvolvidos, controlados ou revisados pelo(s) desenvolvedor(es) ou publicador(es). Nenhuma representa\u00e7\u00e3o ou garantia \u00e9 feita quanto \u00e0 precis\u00e3o, funcionalidade ou seguran\u00e7a de qualquer componente de terceiros. O(s) desenvolvedor(es) e publicador(es) deste c\u00f3digo n\u00e3o garantem sua precis\u00e3o, integridade ou disponibilidade cont\u00ednua. O c\u00f3digo e os materiais relacionados s\u00e3o fornecidos \"no estado em que se encontram\" e podem conter bugs, erros ou vulnerabilidades. O uso \u00e9 inteiramente por sua pr\u00f3pria conta e risco. O(s) desenvolvedor(es) e publicador(es) n\u00e3o recebem quaisquer taxas em conex\u00e3o com o uso desses contratos. Eles n\u00e3o t\u00eam obriga\u00e7\u00e3o de manter, atualizar ou suportar o c\u00f3digo ou a documenta\u00e7\u00e3o relacionada.

Este documento n\u00e3o constitui uma oferta de venda, uma solicita\u00e7\u00e3o de compra ou uma recomenda\u00e7\u00e3o para participar de qualquer convers\u00e3o de token, swap ou outra transa\u00e7\u00e3o. Nenhum conselho jur\u00eddico, financeiro ou de investimento \u00e9 fornecido. Os usu\u00e1rios s\u00e3o os \u00fanicos respons\u00e1veis por determinar a legalidade de suas atividades. Eles devem revisar as leis e regulamentos aplic\u00e1veis em sua jurisdi\u00e7\u00e3o e consultar assessores independentes antes de usar o c\u00f3digo ou participar de qualquer convers\u00e3o. O uso \u00e9 proibido onde for ilegal, incluindo por pessoas ou entidades sujeitas a san\u00e7\u00f5es ou em jurisdi\u00e7\u00f5es restritas.

Na extens\u00e3o m\u00e1xima permitida por lei, o(s) desenvolvedor(es) e publicador(es) se isentam de toda responsabilidade por qualquer perda, dano ou reclama\u00e7\u00e3o decorrente ou em conex\u00e3o com o uso do c\u00f3digo ou participa\u00e7\u00e3o na convers\u00e3o.

A revis\u00e3o e o uso deste documento e do c\u00f3digo associado est\u00e3o sujeitos aos Termos e Condi\u00e7\u00f5es do Website e Termos e Condi\u00e7\u00f5es do Protocolo.

O protocolo DoubleZero coleta receita denominada em SOL de seus usu\u00e1rios validadores, mas distribui recompensas denominadas em 2Z para os contribuidores. Portanto, ele deve converter SOL em 2Z.

Para isso, participantes eleg\u00edveis podem negociar contra um contrato de swap DoubleZero, comprando SOL do contrato e vendendo 2Z. O pre\u00e7o \u00e9 baseado em feeds de pre\u00e7o Pyth com um mecanismo de desconto program\u00e1tico.

Este guia curto explica como usar o programa.

Revise o Aviso Legal no final deste documento antes de acessar ou usar o c\u00f3digo ou quaisquer materiais relacionados.

"},{"location":"pt/Swapping-sol-to-2z/#design-do-programa","title":"Design do Programa","text":"

O programa de swap \u00e9 efetivamente um pool de liquidez unilateral que vende SOL em um tamanho de lote fixo de 1 SOL por negocia\u00e7\u00e3o. Qualquer participante eleg\u00edvel pode retirar SOL do programa depositando 2Z, a um pre\u00e7o determinado por um pre\u00e7o oracle do Pyth e um desconto din\u00e2mico. Com o tempo, isso executa o objetivo do programa de transformar tokens nativos em 2Z.

Para utilizar, um trader deve fornecer dois pre\u00e7os Pyth recentes (SOL/USD e 2Z/USD) e uma quantidade de 2Z. O programa ent\u00e3o calcula o 2Z necess\u00e1rio para comprar aquele 1 SOL com base no pre\u00e7o impl\u00edcito SOL/2Z. Em seguida, executa algumas etapas adicionais:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

Neste ponto, se o trader forneceu 2Z suficiente para executar a transa\u00e7\u00e3o a esse pre\u00e7o calculado (inclusive o desconto), ela \u00e9 executada a esse pre\u00e7o calculado. Retorna ao trader a quantidade comprada de SOL e qualquer excesso de 2Z.

O contrato ent\u00e3o n\u00e3o permite mais negocia\u00e7\u00f5es para aquele slot. Isso \u00e9 para evitar que o contrato pague slippage excessivamente alto caso o pre\u00e7o Pyth esteja longe do pre\u00e7o verdadeiro em qualquer momento de maneiras que os filtros existentes n\u00e3o capturam.

"},{"location":"pt/Swapping-sol-to-2z/#execucao-atomica-sem-gas","title":"Execu\u00e7\u00e3o At\u00f4mica Sem Gas","text":"

Esta se\u00e7\u00e3o detalha como usar o comando harvest-dz. Este comando executar\u00e1 atomicamente 2 a\u00e7\u00f5es. 1. O comando solicita uma cota\u00e7\u00e3o do Jupiter versus o programa de convers\u00e3o nativo SOL <> 2Z. 2. Quando a rota do Jupiter gera mais 2Z por SOL do que o programa de convers\u00e3o nativo requer, harvest-2z executa um swap, retornando \u00e0 sua carteira 1 SOL mais a diferen\u00e7a em 2Z.

"},{"location":"pt/Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

Para executar, execute o seguinte:

doublezero-solana revenue-distribution harvest-2z\n
A sa\u00edda se parecer\u00e1 com:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
O comando tamb\u00e9m pode ser simulado com o argumento --dry-run. O dry-run produzir\u00e1 logs do programa e uma sa\u00edda semelhante a:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"pt/Swapping-sol-to-2z/#conversao-do-protocolo","title":"Convers\u00e3o do Protocolo","text":"

Esta se\u00e7\u00e3o discute como verificar as taxas de convers\u00e3o e executar a convers\u00e3o usando o CLI doublezero-solana. E no final, discutimos a interface para integra\u00e7\u00f5es personalizadas com o contrato de swap DoubleZero.

"},{"location":"pt/Swapping-sol-to-2z/#como-verificar-o-preco-de-conversao-sol2z-via-doublezero-solana","title":"Como verificar o pre\u00e7o de convers\u00e3o SOL/2Z via doublezero-solana","text":"

Para encontrar as taxas de convers\u00e3o SOL/2Z no mainnet-beta, execute o seguinte comando:

doublezero-solana revenue-distribution fetch sol-conversion\n

E a sa\u00edda que voc\u00ea veria se parecer\u00e1 com:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

O Journal Balance informa ao usu\u00e1rio quanta liquidez SOL existe no contrato inteligente de Distribui\u00e7\u00e3o de Receita. Um usu\u00e1rio pode negociar enquanto o Journal Balance exceder o tamanho fixo de negocia\u00e7\u00e3o de 1 SOL.

A primeira linha exibe o pre\u00e7o \"verdadeiro\" de convers\u00e3o SOL/2Z via oracle offchain. A segunda linha \u00e9 o pre\u00e7o de convers\u00e3o usado onchain para o swap, que simplesmente ajusta o pre\u00e7o verdadeiro para o desconto algor\u00edtmico.

"},{"location":"pt/Swapping-sol-to-2z/#como-converter-seu-2z-para-sol-via-doublezero-solana","title":"Como converter seu 2Z para SOL via doublezero-solana","text":"

Para converter seus tokens 2Z para SOL, execute o seguinte comando:

doublezero-solana revenue-distribution convert-2z\n

Por padr\u00e3o, se houver liquidez SOL suficiente e sua ATA tiver 2Z suficiente para realizar o swap, esta transa\u00e7\u00e3o ter\u00e1 sucesso. Voc\u00ea pode ajustar o swap mais precisamente especificando os seguintes argumentos:

      --limit-price <DECIMAL>                    O pre\u00e7o limite padr\u00e3o \u00e9 o pre\u00e7o oracle atual SOL/2Z\n      --source-2z-account <PUBKEY>               A conta de token deve ser de propriedade do signat\u00e1rio. Padr\u00e3o para ATA do signat\u00e1rio se n\u00e3o especificado\n      --checked-sol-amount <SOL>                 Verificar explicitamente o valor SOL. Quando especificado, este valor ser\u00e1 verificado contra a quantidade fixa de preenchimento\n

O pre\u00e7o limite especificado determina o pior caso de pre\u00e7o que voc\u00ea est\u00e1 disposto a aceitar ao realizar a convers\u00e3o SOL/2Z. Por exemplo, digamos que o pre\u00e7o 2Z com desconto para SOL seja 800, o que significa 800 tokens 2Z por 1 SOL. Se voc\u00ea especificar um pre\u00e7o limite de 790, n\u00e3o estar\u00e1 disposto a realizar o swap porque est\u00e1 exigindo trocar no m\u00e1ximo 790 tokens 2Z por 1 SOL. Mas se voc\u00ea especificar 810, o trade passar\u00e1 porque voc\u00ea estava disposto a trocar no m\u00e1ximo 810 tokens 2Z (e neste caso, voc\u00ea ter\u00e1 trocado apenas 800 tokens 2Z nesta transa\u00e7\u00e3o).

A conta de token 2Z de origem substitui a ATA padr\u00e3o usando o signat\u00e1rio como propriet\u00e1rio desta ATA 2Z. Mas se voc\u00ea tiver outra conta de token que deseja usar para realizar o swap, forne\u00e7a a pubkey para ela com este argumento.

Opcionalmente, voc\u00ea pode especificar o valor SOL verificado para o tamanho de preenchimento padr\u00e3o (definido como 1 SOL no lan\u00e7amento). Se n\u00e3o estiver alinhado com o tamanho de preenchimento do programa, o swap falhar\u00e1. Isso mitiga o risco de que o tamanho de preenchimento do programa mude e voc\u00ea n\u00e3o perceba.

"},{"location":"pt/Swapping-sol-to-2z/#interface-para-comprar-sol","title":"Interface para Comprar SOL","text":"

A interface e o CLI doublezero-solana residem em este reposit\u00f3rio. O c\u00f3digo-fonte para a interface do contrato de swap DoubleZero pode ser encontrado aqui. O ID do programa \u00e9 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Uma maneira conveniente de gerar as contas necess\u00e1rias para a instru\u00e7\u00e3o de compra de SOL \u00e9 usar o m\u00e9todo new (encontrado em instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

O fill_registry_key pode ser buscado do ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // esta chave\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternativamente, voc\u00ea pode chamar getProgramAccounts via Solana RPC com seu discriminador. Mas recomendamos armazenar em cache esta pubkey, pois ela nunca mudar\u00e1.

O user_key \u00e9 um signat\u00e1rio para a instru\u00e7\u00e3o de compra de SOL e deve ser o propriet\u00e1rio do user_token_account_key. Conforme descrito acima, isso N\u00c3O precisa ser uma ATA. Desde que sua conta de token 2Z seja de propriedade do user_key, esta instru\u00e7\u00e3o ter\u00e1 sucesso.

A struct BuySolAccounts implementa Into<Vec<AccountMeta>> para que voc\u00ea possa gerar todos os metadados de conta necess\u00e1rios para construir a instru\u00e7\u00e3o.

Os dados de instru\u00e7\u00e3o s\u00e3o

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Esses dados de instru\u00e7\u00e3o s\u00e3o serializados em Borsh e t\u00eam um seletor Anchor de 8 bytes, que todos serializar\u00e3o ao usar BorshSerialize::serialize.

Os dados de pre\u00e7o oracle podem ser obtidos deste endpoint p\u00fablico: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. Os dados s\u00e3o desserializ\u00e1veis em serde usando a struct OraclePriceData encontrada em oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Exemplo de como buscar usando o reqwest crate:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Com o ID do programa, contas e dados de instru\u00e7\u00e3o, voc\u00ea deve ser capaz de construir a instru\u00e7\u00e3o para comprar SOL do contrato de swap DoubleZero.

"},{"location":"pt/Validator%20Multicast%20Connection/","title":"Conex\u00e3o Multicast para Validadores","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

Se voc\u00ea ainda n\u00e3o est\u00e1 conectado ao DoubleZero, complete a documenta\u00e7\u00e3o de Configura\u00e7\u00e3o e conex\u00e3o de validador Mainnet-Beta.

Se voc\u00ea \u00e9 um validador j\u00e1 conectado ao DoubleZero, pode continuar com este guia.

"},{"location":"pt/Validator%20Multicast%20Connection/#jito-agave-versao-319-ou-superior","title":"Jito-Agave (vers\u00e3o 3.1.9 ou superior)","text":"
  1. No script de inicializa\u00e7\u00e3o do seu validador, adicione: --shred-receiver-address 233.84.178.1:7733

    Voc\u00ea pode enviar para o Jito e para o grupo bebop ao mesmo tempo.

    exemplo:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...O restante da sua configura\u00e7\u00e3o...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Reinicie seu validador.

  3. Conecte-se ao grupo multicast DoubleZero bebop como publicador: doublezero connect multicast --publish bebop

"},{"location":"pt/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. Em config.toml, adicione:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Reinicie seu validador.

  3. Conecte-se ao grupo multicast DoubleZero bebop como publicador: doublezero connect multicast --publish bebop

Note

Usu\u00e1rios do Frankendancer no modo de driver XDP n\u00e3o podem usar tcpdump. Atualmente n\u00e3o h\u00e1 como confirmar que voc\u00ea est\u00e1 publicando, mas uma solu\u00e7\u00e3o estar\u00e1 dispon\u00edvel em breve.

"},{"location":"pt/Validator%20Multicast%20Connection/#confirme-que-voce-esta-publicando","title":"Confirme que voc\u00ea est\u00e1 publicando","text":"

Durante seu pr\u00f3ximo slot de l\u00edder, use tcpdump para confirmar que voc\u00ea est\u00e1 publicando para o grupo multicast. Voc\u00ea deve ver um heartbeat a cada 10 segundos para verificar que est\u00e1 publicando shreds.

Execute: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Exemplo de sa\u00edda ao publicar:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"pt/architecture/","title":"Arquitetura","text":"

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.

O que comp\u00f5e os diferentes atores e componentes da rede DoubleZero?

Figura 1: Componentes da arquitetura de rede"},{"location":"pt/architecture/#contribuidores","title":"Contribuidores","text":"

A rede DoubleZero \u00e9 composta por contribui\u00e7\u00f5es de conectividade e processamento de pacotes de uma comunidade crescente de provedores de infraestrutura de rede distribu\u00edda em cidades ao redor do mundo. Os contribuidores trazem links de cabo de fibra \u00f3ptica e recursos de processamento de informa\u00e7\u00f5es ao protocolo para fornecer a rede mesh descentralizada.

"},{"location":"pt/architecture/#contribuidores-de-largura-de-banda-de-rede","title":"Contribuidores de Largura de Banda de Rede","text":"

Os contribuidores de rede devem fornecer largura de banda dedicada entre dois pontos, operar dispositivos compat\u00edveis com DoubleZero (DZDs) em cada extremidade e uma conex\u00e3o \u00e0 internet em cada extremidade. Os contribuidores de rede tamb\u00e9m devem executar o software DoubleZero em cada DZD para fornecer servi\u00e7os como multicast, pesquisa de usu\u00e1rios e servi\u00e7os de filtragem de borda.

Os links f\u00edsicos da rede DoubleZero s\u00e3o fornecidos na forma de cabos de fibra \u00f3ptica, comumente referidos como servi\u00e7os de comprimento de onda. Os contribuidores de rede comprometem links de rede subutilizados, de propriedade ou arrendados de provedores de infraestrutura, entre dois ou mais data centers. Esses links s\u00e3o terminados em ambas as extremidades por Dispositivos DoubleZero, que s\u00e3o gabinetes de switching de rede f\u00edsica executando inst\u00e2ncias do software DoubleZero Agent.

"},{"location":"pt/architecture/#doublezero-exchange-dzx-site-de-cross-connect","title":"DoubleZero Exchange (DZX / Site de Cross-connect)","text":"

Os DoubleZero Exchanges (DZXs) s\u00e3o pontos de interconex\u00e3o na rede mesh onde diferentes links de contribuidores s\u00e3o conectados. Os DZXs est\u00e3o localizados nas principais \u00e1reas metropolitanas ao redor do mundo, onde ocorrem interse\u00e7\u00f5es de rede. Os contribuidores de rede devem fazer cross-connect de seus links na rede mesh DoubleZero mais ampla nos DZXs geograficamente localizados mais pr\u00f3ximos de seus endpoints de link.

"},{"location":"pt/architecture/#contribuidores-de-recursos-computacionais","title":"Contribuidores de Recursos Computacionais","text":"

Separados dos contribuidores de rede, os contribuidores de recursos s\u00e3o um grupo descentralizado de participantes da rede que realizam v\u00e1rias tarefas de manuten\u00e7\u00e3o e monitoramento necess\u00e1rias para sustentar a integridade t\u00e9cnica e a funcionalidade cont\u00ednua da rede DoubleZero. Especificamente, eles (i) rastreiam transa\u00e7\u00f5es e pagamentos de usu\u00e1rios; (ii) calculam taxas para contribuidores de rede; (iii) registram os resultados de (i) e (ii); (iv) administram, estritamente de forma n\u00e3o discricion\u00e1ria, os contratos inteligentes que controlam a tokenomics do protocolo; (v) retransmitem atesta\u00e7\u00f5es para a blockchain aplic\u00e1vel; e (vi) publicam dados de telemetria sobre qualidade e utiliza\u00e7\u00e3o de links para fornecer m\u00e9tricas de desempenho transparentes e em tempo real para todos os contribuidores de rede.

"},{"location":"pt/architecture/#componentes","title":"Componentes","text":""},{"location":"pt/architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

O software DoubleZero Daemon \u00e9 executado em servidores que precisam se comunicar pela rede DoubleZero. O daemon interage com a pilha de rede do kernel do host para criar e gerenciar interfaces de t\u00fanel, tabelas de roteamento e rotas.

"},{"location":"pt/architecture/#activator","title":"Activator","text":"

O servi\u00e7o Activator, hospedado por um ou mais membros contribuidores de recursos computacionais da comunidade DoubleZero, monitora eventos de contrato que requerem aloca\u00e7\u00f5es de endere\u00e7os IP e mudan\u00e7as de estado e gerencia essas mudan\u00e7as em nome da rede.

"},{"location":"pt/architecture/#controller","title":"Controller","text":"

O servi\u00e7o Controller, hospedado por um ou mais contribuidores de recursos computacionais da comunidade DoubleZero, serve como interface de configura\u00e7\u00e3o para que os DoubleZero Device Agents renderizem sua configura\u00e7\u00e3o atual com base em eventos de contrato inteligente.

"},{"location":"pt/architecture/#agent","title":"Agent","text":"

O software Agent \u00e9 executado diretamente nos Dispositivos DoubleZero e aplica mudan\u00e7as de configura\u00e7\u00e3o aos dispositivos conforme interpretado pelo servi\u00e7o Controller. O software Agent consulta o Controller por mudan\u00e7as de configura\u00e7\u00e3o, computa quaisquer diferen\u00e7as entre a vers\u00e3o can\u00f4nica on-chain do estado do Dispositivo e a configura\u00e7\u00e3o ativa no dispositivo e aplica as mudan\u00e7as necess\u00e1rias para reconciliar a configura\u00e7\u00e3o ativa.

"},{"location":"pt/architecture/#device","title":"Device","text":"

O gabinete de dispositivo f\u00edsico que fornece o roteamento e a termina\u00e7\u00e3o de link para a rede DoubleZero. Os DZDs executam o software DoubleZero Agent e s\u00e3o configurados com base em dados lidos do servi\u00e7o Controller.

"},{"location":"pt/connect/","title":"Connect","text":"

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.

Se voc\u00ea n\u00e3o for redirecionado, clique aqui.

"},{"location":"pt/contribute-operations/","title":"Guia de Opera\u00e7\u00f5es para Contribuidores","text":"

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.

Este guia cobre as tarefas operacionais cont\u00ednuas para manter seus Dispositivos DoubleZero (DZDs), incluindo atualiza\u00e7\u00f5es de agentes, atualiza\u00e7\u00f5es de dispositivos/interfaces e gerenciamento de links.

Pr\u00e9-requisitos: Antes de usar este guia, certifique-se de ter:

"},{"location":"pt/contribute-operations/#atualizacoes-de-dispositivos","title":"Atualiza\u00e7\u00f5es de Dispositivos","text":"

Use doublezero device update para modificar a configura\u00e7\u00e3o do dispositivo ap\u00f3s o provisionamento inicial.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Op\u00e7\u00f5es de atualiza\u00e7\u00e3o comuns:

Op\u00e7\u00e3o Descri\u00e7\u00e3o --device-type <TYPE> Alterar o modo de opera\u00e7\u00e3o: hybrid, transit, edge (consulte Tipos de Dispositivos) --location <LOCATION> Mover o dispositivo para um local diferente --metrics-publisher <PUBKEY> Alterar a chave do editor de m\u00e9tricas"},{"location":"pt/contribute-operations/#atualizacoes-de-interfaces","title":"Atualiza\u00e7\u00f5es de Interfaces","text":"

Use doublezero device interface update para modificar interfaces existentes. Este comando aceita as mesmas op\u00e7\u00f5es que interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

Para a lista completa de op\u00e7\u00f5es de interface incluindo configura\u00e7\u00f5es CYOA/DIA, consulte Cria\u00e7\u00e3o de Interfaces.

Exemplo \u2014 Adicionar configura\u00e7\u00f5es CYOA a uma interface existente:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"pt/contribute-operations/#listar-interfaces","title":"Listar Interfaces","text":"
doublezero device interface list              # Todas as interfaces em todos os dispositivos\ndoublezero device interface list <DEVICE>     # Interfaces de um dispositivo espec\u00edfico\n
"},{"location":"pt/contribute-operations/#atualizacao-do-config-agent","title":"Atualiza\u00e7\u00e3o do Config Agent","text":"

Quando uma nova vers\u00e3o do Config Agent \u00e9 lan\u00e7ada, siga estas etapas para atualizar.

"},{"location":"pt/contribute-operations/#1-baixar-a-versao-mais-recente","title":"1. Baixar a vers\u00e3o mais recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"pt/contribute-operations/#2-desligar-o-agente","title":"2. Desligar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#3-remover-a-versao-anterior","title":"3. Remover a vers\u00e3o anterior","text":"

Primeiro, encontre o nome do arquivo da vers\u00e3o anterior:

switch# show extensions\n

Execute os seguintes comandos para remover a vers\u00e3o anterior. Substitua <OLD_VERSION> pela vers\u00e3o anterior da sa\u00edda acima:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"pt/contribute-operations/#4-instalar-a-nova-versao","title":"4. Instalar a nova vers\u00e3o","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-operations/#5-reativar-o-agente","title":"5. Reativar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#6-verificar-a-atualizacao","title":"6. Verificar a atualiza\u00e7\u00e3o","text":"

O status deve ser \"A, I, B\".

switch# show extensions\n

"},{"location":"pt/contribute-operations/#7-verificar-a-saida-do-log-do-config-agent","title":"7. Verificar a sa\u00edda do log do Config Agent","text":"
show agent doublezero-agent log\n
"},{"location":"pt/contribute-operations/#atualizacao-do-telemetry-agent","title":"Atualiza\u00e7\u00e3o do Telemetry Agent","text":"

Quando uma nova vers\u00e3o do Telemetry Agent \u00e9 lan\u00e7ada, siga estas etapas para atualizar.

"},{"location":"pt/contribute-operations/#1-baixar-a-versao-mais-recente_1","title":"1. Baixar a vers\u00e3o mais recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"pt/contribute-operations/#2-desligar-o-agente_1","title":"2. Desligar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#3-remover-a-versao-anterior_1","title":"3. Remover a vers\u00e3o anterior","text":"

Primeiro, encontre o nome do arquivo da vers\u00e3o anterior:

switch# show extensions\n

Execute os seguintes comandos para remover a vers\u00e3o anterior. Substitua <OLD_VERSION> pela vers\u00e3o anterior da sa\u00edda acima:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"pt/contribute-operations/#4-instalar-a-nova-versao_1","title":"4. Instalar a nova vers\u00e3o","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-operations/#5-reativar-o-agente_1","title":"5. Reativar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#6-verificar-a-atualizacao_1","title":"6. Verificar a atualiza\u00e7\u00e3o","text":"

O status deve ser \"A, I, B\".

switch# show extensions\n

"},{"location":"pt/contribute-operations/#7-verificar-a-saida-do-log-do-telemetry-agent","title":"7. Verificar a sa\u00edda do log do Telemetry Agent","text":"
show agent doublezero-telemetry log\n
"},{"location":"pt/contribute-operations/#monitoramento","title":"Monitoramento","text":"

\u26a0\ufe0f Importante:

  1. Para os exemplos de configura\u00e7\u00e3o abaixo, leve em considera\u00e7\u00e3o se seus agentes est\u00e3o usando um VRF de gerenciamento.
  2. O config agent e o telemetry agent usam a mesma porta de escuta (:8080) para seu endpoint de m\u00e9tricas por padr\u00e3o. Se estiver habilitando m\u00e9tricas em ambos, use o flag -metrics-addr para definir portas de escuta \u00fanicas para cada agente.
"},{"location":"pt/contribute-operations/#metricas-do-config-agent","title":"M\u00e9tricas do Config Agent","text":"

O config agent no dispositivo DoubleZero tem a capacidade de expor m\u00e9tricas compat\u00edveis com Prometheus configurando o flag -metrics-enable na configura\u00e7\u00e3o do daemon doublezero-agent. A porta de escuta padr\u00e3o \u00e9 tcp/8080, mas pode ser alterada para se adequar ao ambiente via -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

"},{"location":"pt/contribute-operations/#erros-de-alto-sinal","title":"Erros de Alto Sinal","text":""},{"location":"pt/contribute-operations/#metricas-do-telemetry-agent","title":"M\u00e9tricas do Telemetry Agent","text":"

O telemetry agent no dispositivo DoubleZero tem a capacidade de expor m\u00e9tricas compat\u00edveis com Prometheus configurando o flag -metrics-enable na configura\u00e7\u00e3o do daemon doublezero-telemetry. A porta de escuta padr\u00e3o \u00e9 tcp/8080, mas pode ser alterada para se adequar ao ambiente via -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

"},{"location":"pt/contribute-operations/#erros-de-alto-sinal_1","title":"Erros de Alto Sinal","text":""},{"location":"pt/contribute-operations/#gerenciamento-de-links","title":"Gerenciamento de Links","text":""},{"location":"pt/contribute-operations/#drenagem-de-links","title":"Drenagem de Links","text":"

A drenagem de links permite que os contribuidores retirem gradualmente um link do servi\u00e7o ativo para manuten\u00e7\u00e3o ou solu\u00e7\u00e3o de problemas. H\u00e1 dois estados de drenagem:

Estado Comportamento IS-IS Descri\u00e7\u00e3o soft-drained M\u00e9trica definida como 1.000.000 O link \u00e9 despriorizado. O tr\u00e1fego usar\u00e1 rotas alternativas se dispon\u00edveis, mas ainda usar\u00e1 este link se for a \u00fanica op\u00e7\u00e3o. hard-drained Definido como passivo O link \u00e9 completamente retirado do roteamento. Nenhum tr\u00e1fego atravessar\u00e1 este link."},{"location":"pt/contribute-operations/#transicoes-de-estado","title":"Transi\u00e7\u00f5es de Estado","text":"

As seguintes transi\u00e7\u00f5es de estado s\u00e3o permitidas:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (deve passar primeiro por soft-drained)\n

\u26a0\ufe0f Nota: Voc\u00ea n\u00e3o pode ir diretamente de hard-drained para activated. Primeiro deve fazer a transi\u00e7\u00e3o para soft-drained, depois para activated.

"},{"location":"pt/contribute-operations/#dreno-suave-de-um-link","title":"Dreno Suave de um Link","text":"

O dreno suave desprioriza um link definindo sua m\u00e9trica IS-IS como 1.000.000. O tr\u00e1fego preferir\u00e1 rotas alternativas, mas ainda pode usar este link se necess\u00e1rio.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"pt/contribute-operations/#dreno-rigido-de-um-link","title":"Dreno R\u00edgido de um Link","text":"

O dreno r\u00edgido remove o link do roteamento completamente definindo IS-IS no modo passivo. Nenhum tr\u00e1fego atravessar\u00e1 este link.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"pt/contribute-operations/#restaurar-um-link-para-ativo","title":"Restaurar um Link para Ativo","text":"

Para devolver um link drenado \u00e0 opera\u00e7\u00e3o normal:

# A partir de soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# A partir de hard-drained (deve passar primeiro por soft-drained)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"pt/contribute-operations/#substituicao-de-atraso","title":"Substitui\u00e7\u00e3o de Atraso","text":"

O recurso de substitui\u00e7\u00e3o de atraso permite que os contribuidores alterem temporariamente o atraso efetivo de um link sem modificar o valor de atraso medido real. Isso \u00e9 \u00fatil para rebaixar temporariamente um link de rota prim\u00e1ria para secund\u00e1ria.

"},{"location":"pt/contribute-operations/#definir-uma-substituicao-de-atraso","title":"Definir uma Substitui\u00e7\u00e3o de Atraso","text":"

Para substituir o atraso de um link (tornando-o menos preferido no roteamento):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

Os valores v\u00e1lidos s\u00e3o de 0,01 a 1000 milissegundos.

"},{"location":"pt/contribute-operations/#limpar-uma-substituicao-de-atraso","title":"Limpar uma Substitui\u00e7\u00e3o de Atraso","text":"

Para remover a substitui\u00e7\u00e3o e voltar a usar o atraso medido real:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Nota: Quando um link est\u00e1 em soft-drained, tanto delay_ms quanto delay_override_ms s\u00e3o substitu\u00eddos para 1000ms (1 segundo) para garantir a desprioriza\u00e7\u00e3o.

"},{"location":"pt/contribute-overview/","title":"Documenta\u00e7\u00e3o para Contribuidores","text":"

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.

Terminologia

Novo no DoubleZero? Consulte o Gloss\u00e1rio para defini\u00e7\u00f5es de termos-chave como DZD, DZX e CYOA.

Bem-vindo \u00e0 documenta\u00e7\u00e3o para contribuidores do DoubleZero. Esta se\u00e7\u00e3o cobre tudo que voc\u00ea precisa para se tornar um contribuidor de rede.

Interessado em se tornar um contribuidor de rede?

Revise a p\u00e1gina de Requisitos e Arquitetura para entender o hardware, a largura de banda e a conectividade necess\u00e1rios para contribuir com a rede DoubleZero.

"},{"location":"pt/contribute-overview/#lista-de-verificacao-de-integracao","title":"Lista de Verifica\u00e7\u00e3o de Integra\u00e7\u00e3o","text":"

Use esta lista de verifica\u00e7\u00e3o para acompanhar seu progresso. Todos os itens devem ser conclu\u00eddos antes que sua contribui\u00e7\u00e3o esteja tecnicamente operacional.

"},{"location":"pt/contribute-overview/#fase-1-pre-requisitos","title":"Fase 1: Pr\u00e9-requisitos","text":""},{"location":"pt/contribute-overview/#fase-2-configuracao-de-conta","title":"Fase 2: Configura\u00e7\u00e3o de Conta","text":""},{"location":"pt/contribute-overview/#fase-3-provisionamento-de-dispositivos","title":"Fase 3: Provisionamento de Dispositivos","text":""},{"location":"pt/contribute-overview/#fase-4-estabelecimento-de-link-e-instalacao-de-agentes","title":"Fase 4: Estabelecimento de Link e Instala\u00e7\u00e3o de Agentes","text":""},{"location":"pt/contribute-overview/#fase-5-rodagem-do-link","title":"Fase 5: Rodagem do Link","text":""},{"location":"pt/contribute-overview/#fase-6-verificacao-e-ativacao","title":"Fase 6: Verifica\u00e7\u00e3o e Ativa\u00e7\u00e3o","text":""},{"location":"pt/contribute-overview/#obter-ajuda","title":"Obter Ajuda","text":"

Como parte da integra\u00e7\u00e3o, o DZF ir\u00e1 adicion\u00e1-lo aos canais Slack de contribuidores:

Canal Prop\u00f3sito #dz-contributor-announcements Comunica\u00e7\u00f5es oficiais do DZF e Malbec Labs \u2014 atualiza\u00e7\u00f5es de CLI/agentes, mudan\u00e7as importantes, an\u00fancios de seguran\u00e7a. Monitore para atualiza\u00e7\u00f5es cr\u00edticas; fa\u00e7a perguntas nas threads. #dz-contributor-incidents Eventos n\u00e3o planejados que afetam o servi\u00e7o. Os incidentes s\u00e3o postados automaticamente via API/formul\u00e1rio web com severidade e dispositivos/links afetados. A discuss\u00e3o e resolu\u00e7\u00e3o de problemas ocorrem nas threads. #dz-contributor-maintenance Atividades de manuten\u00e7\u00e3o planejadas (atualiza\u00e7\u00f5es, reparos). Agendadas via API/formul\u00e1rio web com hor\u00e1rios de in\u00edcio/fim planejados. Discuss\u00e3o nas threads. #dz-contributor-ops Discuss\u00e3o aberta para todos os contribuidores \u2014 perguntas operacionais, ajuda com CLI, compartilhamento de runbooks e playbooks.

Voc\u00ea tamb\u00e9m receber\u00e1 um canal privado do DZ/Malbec Labs para suporte direto da sua organiza\u00e7\u00e3o.

"},{"location":"pt/contribute-overview/#regras-de-prefixo-dz","title":"Regras de Prefixo DZ","text":"

Cr\u00edtico: Uso do Pool de Prefixos DZ

O pool de prefixos DZ que voc\u00ea fornece \u00e9 gerenciado pelo protocolo DoubleZero para aloca\u00e7\u00e3o de IP.

Como os prefixos DZ s\u00e3o usados:

N\u00c3O pode usar esses endere\u00e7os para:

Requisitos:

Se voc\u00ea precisar de endere\u00e7os para seu pr\u00f3prio equipamento (IPs de interface DIA, gerenciamento, etc.), use um pool de endere\u00e7os separado.

"},{"location":"pt/contribute-overview/#referencia-rapida-termos-chave","title":"Refer\u00eancia R\u00e1pida: Termos-Chave","text":"

Novo no DoubleZero? Aqui est\u00e3o os termos essenciais (consulte o Gloss\u00e1rio completo):

Termo Defini\u00e7\u00e3o DZD Dispositivo DoubleZero \u2014 seu switch f\u00edsico Arista que executa os agentes DZ DZX DoubleZero Exchange \u2014 ponto de interconex\u00e3o metropolitana onde os contribuidores se conectam entre si CYOA Choose Your Own Adventure \u2014 m\u00e9todo de conectividade de usu\u00e1rios (GREOverDIA, GREOverFabric, etc.) DIA Acesso Direto \u00e0 Internet \u2014 conectividade \u00e0 internet requerida por todos os DZDs para o controlador e a telemetria, comumente usado como tipo CYOA para conectividade de usu\u00e1rios em dispositivos de borda/h\u00edbridos Link WAN Link entre seus pr\u00f3prios DZDs (mesmo contribuidor) Link DZX Link para o DZD de outro contribuidor (requer aceita\u00e7\u00e3o m\u00fatua) Config Agent Consulta o controlador, aplica a configura\u00e7\u00e3o ao seu DZD Telemetry Agent Coleta m\u00e9tricas de lat\u00eancia/perda TWAMP, envia ao ledger onchain Chave de Servi\u00e7o Sua chave de identidade de contribuidor para opera\u00e7\u00f5es do CLI Chave do Editor de M\u00e9tricas Chave para assinar envios de telemetria onchain"},{"location":"pt/contribute-overview/#estrutura-da-documentacao","title":"Estrutura da Documenta\u00e7\u00e3o","text":"Guia Descri\u00e7\u00e3o Requisitos e Arquitetura Especifica\u00e7\u00f5es de hardware, arquitetura de rede, op\u00e7\u00f5es de largura de banda Provisionamento de Dispositivos Passo a passo: chaves \u2192 acesso ao reposit\u00f3rio \u2192 dispositivo \u2192 links \u2192 agentes Opera\u00e7\u00f5es Atualiza\u00e7\u00f5es de agentes, gerenciamento de links, monitoramento Gloss\u00e1rio Toda a terminologia do DoubleZero definida"},{"location":"pt/contribute-overview/#conceitos-de-rede-para-nao-engenheiros-de-rede","title":"Conceitos de Rede para N\u00e3o-Engenheiros de Rede","text":"

Se voc\u00ea n\u00e3o tem experi\u00eancia em engenharia de rede, aqui est\u00e1 uma introdu\u00e7\u00e3o aos conceitos usados nesta documenta\u00e7\u00e3o:

"},{"location":"pt/contribute-overview/#enderecamento-ip","title":"Endere\u00e7amento IP","text":""},{"location":"pt/contribute-overview/#camadas-de-rede","title":"Camadas de Rede","text":""},{"location":"pt/contribute-overview/#termos-comuns","title":"Termos Comuns","text":""},{"location":"pt/contribute-overview/#especifico-do-doublezero","title":"Espec\u00edfico do DoubleZero","text":"

Pronto para come\u00e7ar? Comece com Requisitos e Arquitetura.

"},{"location":"pt/contribute-provisioning/","title":"Guia de Provisionamento de Dispositivos","text":"

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.

Este guia orienta voc\u00ea no provisionamento de um Dispositivo DoubleZero (DZD) do in\u00edcio ao fim. Cada fase corresponde \u00e0 Lista de Verifica\u00e7\u00e3o de Integra\u00e7\u00e3o.

"},{"location":"pt/contribute-provisioning/#como-tudo-se-encaixa","title":"Como Tudo Se Encaixa","text":"

Antes de mergulhar nas etapas, aqui est\u00e1 a vis\u00e3o geral do que voc\u00ea est\u00e1 construindo:

flowchart TB\n    subgraph Onchain\n        SC[Ledger DoubleZero]\n    end\n\n    subgraph Sua Infraestrutura\n        MGMT[Servidor de Gerenciamento<br/>CLI DoubleZero]\n        DZD[Seu DZD<br/>Switch Arista]\n        DZD ---|Link WAN| DZD2[Seu outro DZD]\n    end\n\n    subgraph Outro Contribuidor\n        OtherDZD[DZD deles]\n    end\n\n    subgraph Usu\u00e1rios\n        VAL[Validadores]\n        RPC[N\u00f3s RPC]\n    end\n\n    MGMT -.->|Registra dispositivos,<br/>links, interfaces| SC\n    DZD ---|Link DZX| OtherDZD\n    VAL ---|Conecta via Internet| DZD\n    RPC ---|Conecta via Internet| DZD
"},{"location":"pt/contribute-provisioning/#fase-1-pre-requisitos","title":"Fase 1: Pr\u00e9-requisitos","text":"

Antes de poder provisionar um dispositivo, voc\u00ea precisa do hardware f\u00edsico configurado e alguns endere\u00e7os IP alocados.

"},{"location":"pt/contribute-provisioning/#o-que-voce-precisa","title":"O Que Voc\u00ea Precisa","text":"Requisito Por Que \u00c9 Necess\u00e1rio Hardware DZD Switch Arista 7280CR3A (consulte especifica\u00e7\u00f5es de hardware) Espa\u00e7o em Rack 4U com fluxo de ar adequado Energia Alimenta\u00e7\u00f5es redundantes, ~4KW recomendado Acesso de Gerenciamento Acesso SSH/console para configurar o switch Conectividade \u00e0 Internet Para publica\u00e7\u00e3o de m\u00e9tricas e busca de configura\u00e7\u00e3o do controlador Bloco IPv4 P\u00fablico M\u00ednimo /29 para o pool de prefixos DZ (veja abaixo)"},{"location":"pt/contribute-provisioning/#instalar-o-cli-do-doublezero","title":"Instalar o CLI do DoubleZero","text":"

O CLI do DoubleZero (doublezero) \u00e9 usado ao longo do provisionamento para registrar dispositivos, criar links e gerenciar sua contribui\u00e7\u00e3o. Deve ser instalado em um servidor ou VM de gerenciamento \u2014 n\u00e3o no pr\u00f3prio switch DZD. O switch executa apenas o Config Agent e o Telemetry Agent (instalados na Fase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verificar se o daemon est\u00e1 em execu\u00e7\u00e3o:

sudo systemctl status doublezerod\n

"},{"location":"pt/contribute-provisioning/#entendendo-seu-prefixo-dz","title":"Entendendo seu Prefixo DZ","text":"

Seu prefixo DZ \u00e9 um bloco de endere\u00e7os IP p\u00fablicos que o protocolo DoubleZero gerencia para aloca\u00e7\u00e3o de IP.

flowchart LR\n    subgraph \"Seu Bloco /29 (8 IPs)\"\n        IP1[\"Primeiro IP<br/>Reservado para<br/>seu dispositivo\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Atribu\u00eddo a| LO[Loopback100<br/>no seu DZD]\n    IP2 -->|Alocado para| U1[Usu\u00e1rio 1]\n    IP3 -->|Alocado para| U2[Usu\u00e1rio 2]

Como os prefixos DZ s\u00e3o usados:

Regras de Prefixo DZ

Voc\u00ea N\u00c3O PODE usar esses endere\u00e7os para:

Requisitos:

Se voc\u00ea precisar de endere\u00e7os para seu pr\u00f3prio equipamento (IPs de interface DIA, gerenciamento, etc.), use um pool de endere\u00e7os separado.

"},{"location":"pt/contribute-provisioning/#fase-2-configuracao-de-conta","title":"Fase 2: Configura\u00e7\u00e3o de Conta","text":"

Nesta fase, voc\u00ea cria as chaves criptogr\u00e1ficas que identificam voc\u00ea e seus dispositivos na rede.

"},{"location":"pt/contribute-provisioning/#onde-executar-o-cli","title":"Onde Executar o CLI","text":"

N\u00c3O instale o CLI no seu switch

O CLI do DoubleZero (doublezero) deve ser instalado em um servidor ou VM de gerenciamento, n\u00e3o no seu switch Arista.

flowchart LR\n    subgraph \"Servidor/VM de Gerenciamento\"\n        CLI[CLI DoubleZero]\n        KEYS[Seus Keypairs]\n    end\n\n    subgraph \"Seu Switch DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|Cria dispositivos, links| BC[Blockchain]\n    CA -->|Busca config| CTRL[Controlador]\n    TA -->|Envia m\u00e9tricas| BC
Instalar no Servidor de Gerenciamento Instalar no Switch CLI doublezero Config Agent Seu keypair de servi\u00e7o Telemetry Agent Seu keypair do editor de m\u00e9tricas Keypair do editor de m\u00e9tricas (c\u00f3pia)"},{"location":"pt/contribute-provisioning/#o-que-sao-chaves","title":"O Que S\u00e3o Chaves?","text":"

Pense nas chaves como credenciais de login seguras:

Ambas s\u00e3o keypairs criptogr\u00e1ficos (uma chave p\u00fablica que voc\u00ea compartilha, uma chave privada que voc\u00ea mant\u00e9m em segredo).

flowchart LR\n    subgraph \"Suas Chaves\"\n        SK[Chave de Servi\u00e7o<br/>~/.config/solana/id.json]\n        MK[Chave do Editor de M\u00e9tricas<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Usada para| CLI[Comandos CLI<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Usada para| TEL[Telemetry Agent<br/>Envia m\u00e9tricas onchain]
"},{"location":"pt/contribute-provisioning/#passo-21-gerar-sua-chave-de-servico","title":"Passo 2.1: Gerar Sua Chave de Servi\u00e7o","text":"

Esta \u00e9 sua identidade principal para interagir com o DoubleZero.

doublezero keygen\n

Isso cria um keypair no local padr\u00e3o. A sa\u00edda mostra sua chave p\u00fablica \u2014 isso \u00e9 o que voc\u00ea compartilhar\u00e1 com a DZF.

"},{"location":"pt/contribute-provisioning/#passo-22-gerar-sua-chave-do-editor-de-metricas","title":"Passo 2.2: Gerar Sua Chave do Editor de M\u00e9tricas","text":"

Esta chave \u00e9 usada pelo Telemetry Agent para assinar envios de m\u00e9tricas.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"pt/contribute-provisioning/#passo-23-enviar-chaves-para-a-dzf","title":"Passo 2.3: Enviar Chaves para a DZF","text":"

Entre em contato com a DoubleZero Foundation ou Malbec Labs e forne\u00e7a:

  1. Sua chave p\u00fablica de servi\u00e7o
  2. Seu nome de usu\u00e1rio GitHub (para acesso ao reposit\u00f3rio)

Eles ir\u00e3o:

"},{"location":"pt/contribute-provisioning/#passo-24-verificar-sua-conta","title":"Passo 2.4: Verificar Sua Conta","text":"

Uma vez confirmado, verifique se sua conta de contribuidor existe:

doublezero contributor list\n

Voc\u00ea deve ver seu c\u00f3digo de contribuidor na lista.

"},{"location":"pt/contribute-provisioning/#passo-25-acessar-o-repositorio-de-contribuidores","title":"Passo 2.5: Acessar o Reposit\u00f3rio de Contribuidores","text":"

O reposit\u00f3rio malbeclabs/contributors cont\u00e9m:

Siga as instru\u00e7\u00f5es l\u00e1 para configura\u00e7\u00e3o espec\u00edfica do dispositivo.

"},{"location":"pt/contribute-provisioning/#fase-3-provisionamento-de-dispositivos","title":"Fase 3: Provisionamento de Dispositivos","text":"

Agora voc\u00ea registrar\u00e1 seu dispositivo f\u00edsico no blockchain e configurar\u00e1 suas interfaces.

"},{"location":"pt/contribute-provisioning/#entendendo-os-tipos-de-dispositivos","title":"Entendendo os Tipos de Dispositivos","text":"
flowchart TB\n    subgraph \"Dispositivo Edge\"\n        E[DZD Edge]\n        EU[Usu\u00e1rios se conectam aqui]\n        EU --> E\n        E <-->|Link DZX| ED[Outro DZD]\n    end\n\n    subgraph \"Dispositivo Transit\"\n        T[DZD Transit]\n        T <-->|Link WAN| T2[Outro DZD]\n        T <-->|Link DZX| TD[Outro DZD]\n    end\n\n    subgraph \"Dispositivo Hybrid\"\n        H[DZD Hybrid]\n        HU[Usu\u00e1rios se conectam aqui]\n        HU --> H\n        H <-->|Link WAN| H2[Outro DZD]\n        H <-->|Link DZX| HD[Outro DZD]\n    end
Tipo O Que Faz Quando Usar Edge Aceita conex\u00f5es de usu\u00e1rios apenas Localiza\u00e7\u00e3o \u00fanica, voltado apenas para usu\u00e1rios Transit Move tr\u00e1fego entre dispositivos Conectividade de backbone, sem usu\u00e1rios Hybrid Conex\u00f5es de usu\u00e1rios E backbone Mais comum \u2014 faz tudo"},{"location":"pt/contribute-provisioning/#passo-31-encontrar-sua-localizacao-e-exchange","title":"Passo 3.1: Encontrar Sua Localiza\u00e7\u00e3o e Exchange","text":"

Antes de criar seu dispositivo, consulte os c\u00f3digos para sua localiza\u00e7\u00e3o de data center e exchange mais pr\u00f3xima:

# Listar localiza\u00e7\u00f5es dispon\u00edveis (data centers)\ndoublezero location list\n\n# Listar exchanges dispon\u00edveis (pontos de interconex\u00e3o)\ndoublezero exchange list\n
"},{"location":"pt/contribute-provisioning/#passo-32-criar-seu-dispositivo-onchain","title":"Passo 3.2: Criar Seu Dispositivo Onchain","text":"

Registrar seu dispositivo no blockchain:

doublezero device create \\\n  --code <SEU_CODIGO_DE_DISPOSITIVO> \\\n  --contributor <SEU_CODIGO_DE_CONTRIBUIDOR> \\\n  --device-type hybrid \\\n  --location <CODIGO_DE_LOCALIZACAO> \\\n  --exchange <CODIGO_DE_EXCHANGE> \\\n  --public-ip <IP_PUBLICO_DO_DISPOSITIVO> \\\n  --dz-prefixes <SEU_PREFIXO_DZ>\n

Exemplo:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Sa\u00edda esperada:

Signature: 4vKz8H...truncated...7xPq2\n

Verificar se seu dispositivo foi criado:

doublezero device list | grep nyc-dz001\n

Par\u00e2metros explicados:

Par\u00e2metro O Que Significa --code Um nome \u00fanico para seu dispositivo (por exemplo, nyc-dz001) --contributor Seu c\u00f3digo de contribuidor (fornecido pela DZF) --device-type hybrid, transit ou edge --location C\u00f3digo do data center em location list --exchange C\u00f3digo da exchange mais pr\u00f3xima em exchange list --public-ip O IP p\u00fablico onde os usu\u00e1rios se conectam ao seu dispositivo via internet --dz-prefixes Seu bloco de IP alocado para usu\u00e1rios"},{"location":"pt/contribute-provisioning/#passo-33-criar-interfaces-loopback-necessarias","title":"Passo 3.3: Criar Interfaces Loopback Necess\u00e1rias","text":"

Todo dispositivo precisa de duas interfaces loopback para roteamento interno:

# Loopback VPNv4\ndoublezero device interface create <CODIGO_DO_DISPOSITIVO> Loopback255 --loopback-type vpnv4\n\n# Loopback IPv4\ndoublezero device interface create <CODIGO_DO_DISPOSITIVO> Loopback256 --loopback-type ipv4\n

Sa\u00edda esperada (para cada comando):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"pt/contribute-provisioning/#passo-34-criar-interfaces-fisicas","title":"Passo 3.4: Criar Interfaces F\u00edsicas","text":"

Registrar as portas f\u00edsicas que voc\u00ea usar\u00e1:

# Interface b\u00e1sica\ndoublezero device interface create <CODIGO_DO_DISPOSITIVO> Ethernet1/1\n

Sa\u00edda esperada:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"pt/contribute-provisioning/#passo-35-criar-interface-cyoa-para-dispositivos-edgehybrid","title":"Passo 3.5: Criar Interface CYOA (para dispositivos Edge/Hybrid)","text":"

Se seu dispositivo aceita conex\u00f5es de usu\u00e1rios, voc\u00ea precisa de uma interface CYOA (Choose Your Own Adventure). Isso informa ao sistema como os usu\u00e1rios se conectam a voc\u00ea.

Tipos CYOA Explicados:

Tipo Em Portugu\u00eas Claro Usar Quando gre-over-dia Usu\u00e1rios se conectam via internet regular Mais comum \u2014 usu\u00e1rios se conectam via DIA ao seu DZD gre-over-private-peering Usu\u00e1rios se conectam via link privado Usu\u00e1rios t\u00eam conex\u00e3o direta com sua rede gre-over-public-peering Usu\u00e1rios se conectam via IX Usu\u00e1rios fazem peering com voc\u00ea em uma internet exchange gre-over-fabric Usu\u00e1rios na mesma rede local Usu\u00e1rios no mesmo data center gre-over-cable Cabo direto ao usu\u00e1rio \u00danico usu\u00e1rio dedicado

Exemplo \u2014 Usu\u00e1rios padr\u00e3o de internet:

doublezero device interface create <CODIGO_DO_DISPOSITIVO> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Sa\u00edda esperada:

Signature: 2wLp8N...truncated...5vHt3\n

Par\u00e2metros explicados:

Par\u00e2metro O Que Significa --interface-cyoa Como os usu\u00e1rios se conectam (consulte a tabela acima) --interface-dia dia se esta \u00e9 uma porta voltada para a internet --bandwidth Velocidade da porta em Mbps (10000 = 10Gbps) --cir Taxa comprometida em Mbps (largura de banda garantida) --user-tunnel-endpoint Esta porta aceita t\u00faneis de usu\u00e1rios"},{"location":"pt/contribute-provisioning/#passo-36-verificar-seu-dispositivo","title":"Passo 3.6: Verificar Seu Dispositivo","text":"
doublezero device list\n

Exemplo de sa\u00edda:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Seu dispositivo deve aparecer com status activated.

"},{"location":"pt/contribute-provisioning/#fase-4-estabelecimento-de-link-instalacao-de-agentes","title":"Fase 4: Estabelecimento de Link & Instala\u00e7\u00e3o de Agentes","text":"

Os links conectam seu dispositivo ao restante da rede DoubleZero.

"},{"location":"pt/contribute-provisioning/#entendendo-os-links","title":"Entendendo os Links","text":"
flowchart LR\n    subgraph \"Sua Rede\"\n        D1[Seu DZD 1<br/>NYC]\n        D2[Seu DZD 2<br/>LAX]\n    end\n\n    subgraph \"Outro Contribuidor\"\n        O1[DZD deles<br/>NYC]\n    end\n\n    D1 ---|Link WAN<br/>Mesmo contribuidor| D2\n    D1 ---|Link DZX<br/>Contribuidores diferentes| O1
Tipo de Link Conecta Aceita\u00e7\u00e3o Link WAN Dois dos SEUS dispositivos Autom\u00e1tica (voc\u00ea \u00e9 dono de ambos) Link DZX Seu dispositivo com OUTRO contribuidor Requer aceita\u00e7\u00e3o deles"},{"location":"pt/contribute-provisioning/#passo-41-criar-links-wan-se-voce-tiver-multiplos-dispositivos","title":"Passo 4.1: Criar Links WAN (se voc\u00ea tiver m\u00faltiplos dispositivos)","text":"

Links WAN conectam seus pr\u00f3prios dispositivos:

doublezero link create wan \\\n  --code <CODIGO_DO_LINK> \\\n  --contributor <SEU_CONTRIBUIDOR> \\\n  --side-a <CODIGO_DISPOSITIVO_1> \\\n  --side-a-interface <INTERFACE_NO_DISPOSITIVO_1> \\\n  --side-z <CODIGO_DISPOSITIVO_2> \\\n  --side-z-interface <INTERFACE_NO_DISPOSITIVO_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Exemplo:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Sa\u00edda esperada:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"pt/contribute-provisioning/#passo-42-criar-links-dzx","title":"Passo 4.2: Criar Links DZX","text":"

Os links DZX conectam seu dispositivo diretamente ao DZD de outro contribuidor:

doublezero link create dzx \\\n  --code <CODIGO_DISPOSITIVO_A:CODIGO_DISPOSITIVO_Z> \\\n  --contributor <SEU_CONTRIBUIDOR> \\\n  --side-a <SEU_CODIGO_DE_DISPOSITIVO> \\\n  --side-a-interface <SUA_INTERFACE> \\\n  --side-z <CODIGO_DISPOSITIVO_OUTRO> \\\n  --bandwidth <LARGURA_DE_BANDA em Kbps, Mbps ou Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <ATRASO> \\\n  --jitter-ms <JITTER>\n

Sa\u00edda esperada:

Signature: 8mKp3W...truncated...2nRx7\n

Ap\u00f3s criar um link DZX, o outro contribuidor deve aceit\u00e1-lo:

# O OUTRO contribuidor executa isso\ndoublezero link accept \\\n  --code <CODIGO_DO_LINK> \\\n  --side-z-interface <INTERFACE_DELES>\n

Sa\u00edda esperada (para o contribuidor que aceita):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"pt/contribute-provisioning/#passo-43-verificar-links","title":"Passo 4.3: Verificar Links","text":"
doublezero link list\n

Exemplo de sa\u00edda:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Os links devem mostrar status activated uma vez que ambos os lados estejam configurados.

"},{"location":"pt/contribute-provisioning/#instalacao-de-agentes","title":"Instala\u00e7\u00e3o de Agentes","text":"

Dois agentes de software s\u00e3o executados no seu DZD:

flowchart TB\n    subgraph \"Seu DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[Hardware/Software do Switch]\n    end\n\n    CA -->|Busca config| CTRL[Servi\u00e7o Controlador]\n    CA -->|Aplica config| HW\n\n    HW -->|M\u00e9tricas| TA\n    TA -->|Envia onchain| BC[Ledger DoubleZero]
Agente O Que Faz Config Agent Busca configura\u00e7\u00e3o do controlador, aplica ao seu switch Telemetry Agent Mede lat\u00eancia/perda para outros dispositivos, reporta m\u00e9tricas onchain"},{"location":"pt/contribute-provisioning/#passo-44-instalar-config-agent","title":"Passo 4.4: Instalar Config Agent","text":""},{"location":"pt/contribute-provisioning/#habilitar-a-api-no-seu-switch","title":"Habilitar a API no seu switch","text":"

Adicionar \u00e0 configura\u00e7\u00e3o EOS:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Nota sobre VRF

Substitua default pelo nome do seu VRF de gerenciamento se for diferente (por exemplo, management).

"},{"location":"pt/contribute-provisioning/#baixar-e-instalar-o-agente","title":"Baixar e instalar o agente","text":"
# Entrar no bash no switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extens\u00e3o EOS\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-provisioning/#verificar-a-extensao","title":"Verificar a extens\u00e3o","text":"
switch# show extensions\n

O Status deve ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"pt/contribute-provisioning/#configurar-e-iniciar-o-agente","title":"Configurar e iniciar o agente","text":"

Adicionar \u00e0 configura\u00e7\u00e3o EOS:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <SUA_CHAVE_PUBLICA_DO_DISPOSITIVO>\n    no shut\n

Nota sobre VRF

Se seu VRF de gerenciamento n\u00e3o for default (ou seja, o namespace n\u00e3o \u00e9 ns-default), prefixe o comando exec com exec /sbin/ip netns exec ns-<VRF>. Por exemplo, se seu VRF for management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <SUA_CHAVE_PUBLICA_DO_DISPOSITIVO>\n    no shut\n

Obtenha a pubkey do seu dispositivo com doublezero device list (coluna account).

"},{"location":"pt/contribute-provisioning/#verificar-se-esta-em-execucao","title":"Verificar se est\u00e1 em execu\u00e7\u00e3o","text":"
switch# show agent doublezero-agent logs\n

Voc\u00ea deve ver \"Starting doublezero-agent\" e conex\u00f5es bem-sucedidas ao controlador.

"},{"location":"pt/contribute-provisioning/#passo-45-instalar-telemetry-agent","title":"Passo 4.5: Instalar Telemetry Agent","text":""},{"location":"pt/contribute-provisioning/#copiar-a-chave-do-editor-de-metricas-para-o-seu-dispositivo","title":"Copiar a chave do editor de m\u00e9tricas para o seu dispositivo","text":"
scp ~/.config/doublezero/metrics-publisher.json <IP_DO_SWITCH>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"pt/contribute-provisioning/#registrar-o-editor-de-metricas-onchain","title":"Registrar o editor de m\u00e9tricas onchain","text":"
doublezero device update \\\n  --pubkey <CONTA_DO_DISPOSITIVO> \\\n  --metrics-publisher <CHAVE_PUBLICA_DO_EDITOR_DE_METRICAS>\n

Obtenha a pubkey do seu arquivo metrics-publisher.json.

"},{"location":"pt/contribute-provisioning/#baixar-e-instalar-o-agente_1","title":"Baixar e instalar o agente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extens\u00e3o EOS\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-provisioning/#verificar-a-extensao_1","title":"Verificar a extens\u00e3o","text":"
switch# show extensions\n

O Status deve ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"pt/contribute-provisioning/#configurar-e-iniciar-o-agente_1","title":"Configurar e iniciar o agente","text":"

Adicionar \u00e0 configura\u00e7\u00e3o EOS:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <CONTA_DO_DISPOSITIVO> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Nota sobre VRF

Se seu VRF de gerenciamento n\u00e3o for default (ou seja, o namespace n\u00e3o \u00e9 ns-default), adicione --management-namespace ns-<VRF> ao comando exec. Por exemplo, se seu VRF for management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <CONTA_DO_DISPOSITIVO> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"pt/contribute-provisioning/#verificar-se-esta-em-execucao_1","title":"Verificar se est\u00e1 em execu\u00e7\u00e3o","text":"
switch# show agent doublezero-telemetry logs\n

Voc\u00ea deve ver \"Starting telemetry collector\" e \"Starting submission loop\".

"},{"location":"pt/contribute-provisioning/#fase-5-rodagem-do-link","title":"Fase 5: Rodagem do Link","text":"

Todos os novos links devem passar por rodagem antes de transportar tr\u00e1fego

Novos links devem ser drenados por pelo menos 24 horas antes de serem ativados para tr\u00e1fego de produ\u00e7\u00e3o. Este requisito de rodagem \u00e9 definido no RFC12: Provisionamento de Rede, que especifica ~200.000 slots do DZ Ledger (~20 horas) de m\u00e9tricas limpas antes que um link esteja pronto para servi\u00e7o.

Com os agentes instalados e em execu\u00e7\u00e3o, monitore seus links em metrics.doublezero.xyz por pelo menos 24 horas consecutivas:

Remova o dreno do link apenas depois que o per\u00edodo de rodagem mostrar um link limpo com zero perda e zero erros.

"},{"location":"pt/contribute-provisioning/#fase-6-verificacao-ativacao","title":"Fase 6: Verifica\u00e7\u00e3o & Ativa\u00e7\u00e3o","text":"

Percorra esta lista de verifica\u00e7\u00e3o para confirmar que tudo est\u00e1 funcionando.

Seu dispositivo come\u00e7a bloqueado (max_users = 0)

Quando um dispositivo \u00e9 criado, max_users \u00e9 definido como 0 por padr\u00e3o. Isso significa que nenhum usu\u00e1rio pode se conectar a ele ainda. Isso \u00e9 intencional \u2014 voc\u00ea deve verificar se tudo funciona antes de aceitar tr\u00e1fego de usu\u00e1rios.

Antes de definir max_users acima de 0, voc\u00ea deve:

  1. Confirmar que todos os links completaram sua rodagem de 24 horas com zero perda/erros em metrics.doublezero.xyz
  2. Coordenar com DZ/Malbec Labs para executar um teste de conectividade:
    • Um usu\u00e1rio de teste pode se conectar ao seu dispositivo?
    • O usu\u00e1rio recebe rotas pela rede DZ?
    • O usu\u00e1rio pode rotear tr\u00e1fego pela rede DZ de ponta a ponta?
  3. Somente ap\u00f3s o DZ/ML confirmar que os testes passaram, defina max_users como 96:
doublezero device update --pubkey <CONTA_DO_DISPOSITIVO> --max-users 96\n
"},{"location":"pt/contribute-provisioning/#verificacoes-do-dispositivo","title":"Verifica\u00e7\u00f5es do Dispositivo","text":"
# Seu dispositivo deve aparecer com status \"activated\"\ndoublezero device list | grep <SEU_CODIGO_DE_DISPOSITIVO>\n

Sa\u00edda esperada:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Suas interfaces devem estar listadas\ndoublezero device interface list | grep <SEU_CODIGO_DE_DISPOSITIVO>\n

Sa\u00edda esperada:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"pt/contribute-provisioning/#verificacoes-de-link","title":"Verifica\u00e7\u00f5es de Link","text":"
# Os links devem mostrar status \"activated\"\ndoublezero link list | grep <SEU_CODIGO_DE_DISPOSITIVO>\n

Sa\u00edda esperada:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"pt/contribute-provisioning/#verificacoes-de-agente","title":"Verifica\u00e7\u00f5es de Agente","text":"

No switch:

# O config agent deve mostrar extra\u00e7\u00f5es de configura\u00e7\u00e3o bem-sucedidas\nswitch# show agent doublezero-agent logs | tail -20\n\n# O telemetry agent deve mostrar envios bem-sucedidos\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"pt/contribute-provisioning/#diagrama-de-verificacao-final","title":"Diagrama de Verifica\u00e7\u00e3o Final","text":"
flowchart TB\n    subgraph \"Lista de Verifica\u00e7\u00e3o\"\n        D[Status do Dispositivo: activated?]\n        I[Interfaces: registradas?]\n        L[Links: activated?]\n        CA[Config Agent: buscando config?]\n        TA[Telemetry Agent: enviando m\u00e9tricas?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[Todas as Verifica\u00e7\u00f5es Passaram] --> NOTIFY[Notifique DZF/Malbec Labs<br/>Voc\u00ea est\u00e1 tecnicamente pronto!]
"},{"location":"pt/contribute-provisioning/#resolucao-de-problemas","title":"Resolu\u00e7\u00e3o de Problemas","text":""},{"location":"pt/contribute-provisioning/#criacao-de-dispositivo-falha","title":"Cria\u00e7\u00e3o de dispositivo falha","text":""},{"location":"pt/contribute-provisioning/#link-preso-em-status-requested","title":"Link preso em status \"requested\"","text":""},{"location":"pt/contribute-provisioning/#config-agent-nao-se-conecta","title":"Config Agent n\u00e3o se conecta","text":""},{"location":"pt/contribute-provisioning/#telemetry-agent-nao-envia","title":"Telemetry Agent n\u00e3o envia","text":""},{"location":"pt/contribute-provisioning/#proximas-etapas","title":"Pr\u00f3ximas Etapas","text":""},{"location":"pt/contribute/","title":"Requisitos e Arquitetura para Contribuidores","text":"

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.

"},{"location":"pt/contribute/#resumo","title":"Resumo","text":"

Qualquer pessoa que deseje monetizar seus cabos de fibra \u00f3tica e hardware de rede subutilizados pode contribuir para a rede DoubleZero. Os contribuidores de rede devem fornecer largura de banda dedicada entre dois pontos, operar dispositivos compat\u00edveis com DoubleZero (DZDs) em cada extremidade e ter conex\u00e3o com a internet p\u00fablica em cada extremidade. Os contribuidores de rede tamb\u00e9m devem executar software DoubleZero em cada DZD para fornecer servi\u00e7os como multicast, pesquisa de usu\u00e1rios e filtragem de borda.

O contrato inteligente DoubleZero \u00e9 a pedra angular para garantir que a rede mantenha links de alta qualidade que possam ser medidos e integrados \u00e0 topologia, permitindo que nossos controladores de rede desenvolvam o caminho mais eficiente de ponta a ponta entre nossos diferentes usu\u00e1rios e endpoints. Ap\u00f3s a execu\u00e7\u00e3o do contrato inteligente e a implanta\u00e7\u00e3o do equipamento de rede e da largura de banda, uma entidade \u00e9 classificada como contribuidor de rede. Consulte Economia do DoubleZero para entender melhor a economia por tr\u00e1s da participa\u00e7\u00e3o no DoubleZero como contribuidor de rede.

"},{"location":"pt/contribute/#requisitos-para-ser-um-contribuidor-de-rede-doublezero","title":"Requisitos para ser um Contribuidor de Rede DoubleZero","text":""},{"location":"pt/contribute/#guia-de-inicio-rapido","title":"Guia de In\u00edcio R\u00e1pido","text":"

Como contribuidor de rede, a maneira mais simples de come\u00e7ar no DoubleZero \u00e9 identificar capacidade em sua rede que possa ser dedicada ao DoubleZero. Uma vez identificados, os DZDs devem ser implantados, facilitando a rede overlay DoubleZero que requer apenas alcan\u00e7abilidade IPv4 e um MTU m\u00ednimo de 2048 bytes como depend\u00eancias da rede do contribuidor.

A Figura 1 destaca o modelo mais simples para contribui\u00e7\u00e3o de largura de banda e servi\u00e7os de envio e processamento de pacotes. Um DZD \u00e9 implantado em cada data center, conectando-se \u00e0 rede interna do contribuidor de rede para fornecer conectividade WAN DoubleZero. Isso \u00e9 complementado pela internet local, tipicamente uma solu\u00e7\u00e3o de Acesso Direto \u00e0 Internet (DIA), que \u00e9 usada como pontos de entrada para usu\u00e1rios DoubleZero. Embora se espere que o DIA seja a op\u00e7\u00e3o preferida para facilitar o acesso aos usu\u00e1rios do DoubleZero, v\u00e1rios modelos de conectividade s\u00e3o poss\u00edveis, como cabeamento f\u00edsico para servidores, extens\u00e3o de fabric de rede, etc. Nos referimos a essas op\u00e7\u00f5es como Choose Your Own Adventure (CYOA), fornecendo ao contribuidor flexibilidade para conectar usu\u00e1rios locais ou remotos de uma forma que melhor se adapte \u00e0s suas pol\u00edticas de rede internas.

Como em qualquer rede, a alcan\u00e7abilidade \u00e9 uma parte fundamental da arquitetura, pois os contribuidores de rede n\u00e3o podem viver isolados. Como tal, o DZD deve ter um link para uma DoubleZero Exchange (DZX) para criar uma rede cont\u00edgua entre os participantes.

Figura 1: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 2 Data Centers - Contribuidor \u00danico"},{"location":"pt/contribute/#exemplos-de-contribuicoes","title":"Exemplos de Contribui\u00e7\u00f5es","text":"

As formas pelas quais um contribuidor de rede pode expandir suas contribui\u00e7\u00f5es DoubleZero s\u00e3o muitas, incluindo:

"},{"location":"pt/contribute/#exemplo-1-contribuidor-unico-3-data-centers-dois-links","title":"Exemplo 1: Contribuidor \u00danico, 3 Data Centers, Dois Links","text":"Figura 2: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 3 Data Centers - Contribuidor \u00danico

Um \u00fanico DZD pode suportar m\u00faltiplos links contribu\u00eddos ao DoubleZero. A Figura 2 ilustra uma topologia potencial se um \u00fanico data center, denominado 1, terminar largura de banda para dois data centers remotos diferentes 2 e 3. Neste cen\u00e1rio, cada data center cont\u00e9m apenas 1 DZD. Todos os DZDs est\u00e3o usando DIA para pontos de entrada de usu\u00e1rios como sua interface CYOA.

"},{"location":"pt/contribute/#exemplo-2-contribuidor-unico-3-data-centers-tres-links","title":"Exemplo 2: Contribuidor \u00danico, 3 Data Centers, Tr\u00eas Links","text":"

A Figura 3 descreve a topologia DoubleZero quando um \u00fanico contribuidor implanta tr\u00eas links em uma topologia triangular entre 3 data centers. Em um cen\u00e1rio semelhante ao exemplo 1, um \u00fanico DZD \u00e9 implantado nos data centers 1, 2 e 3, cada um suportando 2 links de rede independentes. A topologia resultante \u00e9 um tri\u00e2ngulo ou anel entre os data centers.

Figura 3: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 3 Data Centers - Contribuidor \u00danico"},{"location":"pt/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

A cria\u00e7\u00e3o de uma rede cont\u00edgua \u00e9 um bloco fundamental da arquitetura DoubleZero. Os contribuidores se conectam via uma DoubleZero Exchange (DZX) dentro de uma \u00e1rea metropolitana, que \u00e9 uma cidade como Nova York (NYC), Londres (LON) ou T\u00f3quio (TYO). Uma DZX \u00e9 um fabric de rede semelhante a uma Internet Exchange, permitindo peering e troca de rotas.

Na Figura 4, o contribuidor de rede 1 opera nos data centers 1, 2 e 3, enquanto o contribuidor de rede 2 opera nos data centers 2, 4 e 5. Ao interconectar no data center 2, o alcance da rede DoubleZero aumenta para 5 data centers cont\u00edguos.

Figura 4: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 2 Contribuidores de Largura de Banda de Rede"},{"location":"pt/contribute/#opcoes-de-contribuicao-de-largura-de-banda","title":"Op\u00e7\u00f5es de Contribui\u00e7\u00e3o de Largura de Banda","text":"

O DoubleZero requer que um contribuidor de rede ofere\u00e7a conectividade integrada via um perfil garantido de largura de banda, lat\u00eancia e jitter entre DZDs em dois data centers terminadores, expresso via contrato inteligente. O DoubleZero n\u00e3o determina como um contribuidor de rede implementa sua contribui\u00e7\u00e3o; no entanto, nas se\u00e7\u00f5es a seguir, fornecemos op\u00e7\u00f5es indicativas para uso a seu exclusivo crit\u00e9rio.

\u00c1reas importantes a considerar para um contribuidor de rede podem ser:

"},{"location":"pt/contribute/#largura-de-banda-camada-1","title":"Largura de Banda Camada 1","text":"Figura 5: Servi\u00e7os \u00d3pticos de Camada 1

A largura de banda de Camada 1, mais formalmente descrita como servi\u00e7os de comprimento de onda, pode ver capacidade dedicada provisionada em uma infraestrutura \u00f3ptica existente, como DWDM, CWDM ou via multiplexadores \u00f3pticos (MUX). Na Figura 5, os DZDs usam uma \u00f3ptica colorida que \u00e9 cabeada para um MUX L1, que intercala o comprimento de onda do DZD em uma fibra escura existente.

Esta solu\u00e7\u00e3o tem in\u00fameros benef\u00edcios para contribuidores de rede que j\u00e1 operam uma rede principal existente. As mudan\u00e7as operacionais iterativas, bem como os requisitos adicionais de CAPEX e OPEX, s\u00e3o modestos. Esta op\u00e7\u00e3o \u00e9 particularmente robusta em oferecer segrega\u00e7\u00e3o dos servi\u00e7os de rede do contribuidor.

"},{"location":"pt/contribute/#largura-de-banda-em-redes-comutadas-por-pacotes","title":"Largura de Banda em Redes Comutadas por Pacotes","text":"

As redes comutadas por pacotes podem ser consideradas uma rede empresarial t\u00edpica, executando protocolos padr\u00e3o de roteamento e comuta\u00e7\u00e3o que suportam aplica\u00e7\u00f5es de neg\u00f3cios. Existem in\u00fameras tecnologias de rede que alcan\u00e7am conectividade, por exemplo, extens\u00f5es de camada 2 (L2) usando tags VLAN.

"},{"location":"pt/contribute/#extensao-l2","title":"Extens\u00e3o L2","text":"Figura 6: Redes Comutadas por Pacotes - Extens\u00e3o L2

Uma extens\u00e3o L2 como mostrado na Figura 6 pode ser facilitada atrav\u00e9s de marca\u00e7\u00e3o VLAN. A porta de um DZD pode ser cabeada para um switch de rede interna do contribuidor, com a porta do switch sendo configurada como porta de acesso em, por exemplo, VLAN 10. Atrav\u00e9s de marca\u00e7\u00e3o 802.1q, esta VLAN pode ser transportada por m\u00faltiplos saltos de switch na rede do contribuidor, terminando no switch que se conecta ao DZD remoto.

Esta solu\u00e7\u00e3o se beneficia de ser amplamente suportada e relativamente f\u00e1cil de implementar, ao mesmo tempo em que cria segmenta\u00e7\u00e3o entre o DoubleZero e os servi\u00e7os de camada 3 internos. A largura de banda pode ser controlada com base na velocidade de interface do switch ou roteador interno do contribuidor. Considera\u00e7\u00e3o cuidadosa deve ser dada ao desempenho na rede L2 interna compartilhada por meio de tecnologias como Qualidade de Servi\u00e7o (QoS) ou outras pol\u00edticas de gerenciamento de tr\u00e1fego. No entanto, investimentos adicionais em CAPEX e OPEX devem ser modestos se houver capacidade existente dispon\u00edvel na rede principal do contribuidor.

"},{"location":"pt/contribute/#largura-de-banda-dedicada-de-terceiros","title":"Largura de Banda Dedicada de Terceiros","text":"Figura 7: Largura de Banda Dedicada de Terceiros

Embora a reutiliza\u00e7\u00e3o de capacidade dispon\u00edvel seja atraente para muitos contribuidores de rede, tamb\u00e9m \u00e9 poss\u00edvel dedicar largura de banda rec\u00e9m-adquirida ao DoubleZero. Nesse cen\u00e1rio, o DZD se conectaria diretamente \u00e0 operadora terceirizada sem quaisquer dispositivos internos do contribuidor em linha (Figura 7).

Esta op\u00e7\u00e3o \u00e9 atraente pois garante largura de banda dedicada para o DoubleZero, \u00e9 simples operacionalmente e garante segmenta\u00e7\u00e3o completa de quaisquer outros servi\u00e7os de rede. Esta op\u00e7\u00e3o provavelmente ter\u00e1 o maior aumento de OPEX e requer novos contratos de servi\u00e7o com operadoras terceirizadas.

"},{"location":"pt/contribute/#requisitos-de-hardware","title":"Requisitos de Hardware","text":""},{"location":"pt/contribute/#contribuicao-de-largura-de-banda-de-100gbps","title":"Contribui\u00e7\u00e3o de Largura de Banda de 100Gbps","text":"

Observe que as quantidades abaixo refletem o equipamento necess\u00e1rio em dois data centers, ou seja, o total de hardware necess\u00e1rio para implantar 1 cabo de fibra \u00f3tica para contribui\u00e7\u00e3o de largura de banda.

*Todos os FPGAs est\u00e3o sujeitos a testes finais. Contribui\u00e7\u00f5es de 10G podem ser suportadas usando switches Arista 7130LBR com FPGAs Virtex\u00ae UltraScale+\u2122 duplos embutidos (se voc\u00ea tiver alguma d\u00favida, a DoubleZero Foundation / Malbec Labs ter\u00e1 prazer em fornecer mais informa\u00e7\u00f5es)."},{"location":"pt/contribute/#requisitos-de-funcao-e-porta","title":"Requisitos de Fun\u00e7\u00e3o e Porta","text":"Fun\u00e7\u00e3o Velocidade da Porta Requisito DZ QTD Nota Largura de Banda Privada 100G Sim 1 Acesso Direto \u00e0 Internet (DIA) 10G Sim 2 DoubleZero eXchange (DZX) 100G Sim* 1 Deve ser suportado quando mais de 3 provedores operam na mesma \u00e1rea metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar outros provedores. Gerenciamento N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor. Console N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor."},{"location":"pt/contribute/#hardware-de-rede-dzd","title":"Hardware de Rede DZD","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota AMD* V80* 24540474 Sim 4 Arista 7280CR3A DCS-7280CR3A-32S Sim 2 Alternativas podem ser poss\u00edveis se os prazos de entrega forem desafiadores."},{"location":"pt/contribute/#optica-100g","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 100GBASE-LR QSFP-100G-LR N\u00e3o 16 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. 100G necess\u00e1rio para conectar FPGAs."},{"location":"pt/contribute/#optica-10g","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 10GBASE-LR SFP-10G-LR N\u00e3o 2 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA N\u00e3o 2 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor."},{"location":"pt/contribute/#enderecamento-ip","title":"Endere\u00e7amento IP","text":"Endere\u00e7amento IP Tamanho M\u00ednimo de Sub-rede Requisito DZ Nota IPv4 P\u00fablico /29 Sim (para DZDs edge/hybrid) Deve ser rote\u00e1vel via DIA. Podemos eliminar a necessidade disso ao longo do tempo.

Certifique-se de que o pool completo /29 esteja dispon\u00edvel para o protocolo DZ. Quaisquer requisitos para endere\u00e7amento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados via um pool de endere\u00e7os diferente.

"},{"location":"pt/contribute/#contribuicao-de-largura-de-banda-de-10gbps","title":"Contribui\u00e7\u00e3o de Largura de Banda de 10Gbps","text":"

Observe que as quantidades refletem o equipamento de dois data centers, ou seja, o total de hardware necess\u00e1rio para implantar 1 contribui\u00e7\u00e3o de largura de banda.

"},{"location":"pt/contribute/#requisitos-de-funcao-e-porta_1","title":"Requisitos de Fun\u00e7\u00e3o e Porta","text":"Fun\u00e7\u00e3o Velocidade da Porta Requisito DZ QTD Nota Largura de Banda Privada 10G Sim 1 Acesso Direto \u00e0 Internet (DIA) 10G Sim 2 DoubleZero eXchange (DZX) 100G Sim* 1 Deve ser suportado quando mais de 3 provedores operam na mesma \u00e1rea metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar outros provedores. Gerenciamento N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor. Console N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor."},{"location":"pt/contribute/#hardware","title":"Hardware","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota AMD* V80* 24540474* Sim 4 Arista 7280CR3A DCS-7280CR3A-32S Sim 2 Alternativas podem ser poss\u00edveis se os prazos de entrega forem desafiadores."},{"location":"pt/contribute/#optica-100g_1","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 100GBASE-LR QSFP-100G-LR N\u00e3o 14 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. 100G necess\u00e1rio para conectar FPGAs."},{"location":"pt/contribute/#optica-10g_1","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 10GBASE-LR SFP-10G-LR N\u00e3o 4 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA N\u00e3o 4 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. ---"},{"location":"pt/contribute/#enderecamento-ip_1","title":"Endere\u00e7amento IP","text":"Endere\u00e7amento IP Tamanho M\u00ednimo de Sub-rede Requisito DZ Nota IPv4 P\u00fablico /29 Sim (para DZDs edge/hybrid) Deve ser rote\u00e1vel via DIA. Podemos eliminar a necessidade disso ao longo do tempo.

Certifique-se de que o pool completo /29 esteja dispon\u00edvel para o protocolo DZ. Quaisquer requisitos para endere\u00e7amento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados via um pool de endere\u00e7os diferente.

"},{"location":"pt/contribute/#requisitos-de-data-center","title":"Requisitos de Data Center","text":""},{"location":"pt/contribute/#requisitos-de-rack-e-energia","title":"Requisitos de Rack e Energia","text":"Requisito Especifica\u00e7\u00e3o Espa\u00e7o em Rack 4U Energia 4KW (recomendado)"},{"location":"pt/contribute/#proximas-etapas","title":"Pr\u00f3ximas Etapas","text":"

Pronto para provisionar seu primeiro DZD? Continue para o Guia de Provisionamento de Dispositivos.

"},{"location":"pt/glossary/","title":"Gloss\u00e1rio","text":"

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.

Esta p\u00e1gina define a terminologia espec\u00edfica do DoubleZero usada em toda a documenta\u00e7\u00e3o.

"},{"location":"pt/glossary/#infraestrutura-de-rede","title":"Infraestrutura de Rede","text":""},{"location":"pt/glossary/#dzd-dispositivo-doublezero","title":"DZD (Dispositivo DoubleZero)","text":"

O hardware de switching de rede f\u00edsico que termina links DoubleZero e executa o software DoubleZero Agent. Os DZDs s\u00e3o implantados em data centers e fornecem servi\u00e7os de roteamento, processamento de pacotes e conectividade de usu\u00e1rios. Cada DZD requer especifica\u00e7\u00f5es de hardware espec\u00edficas e executa tanto o Config Agent quanto o Telemetry Agent.

"},{"location":"pt/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Pontos de interconex\u00e3o na rede mesh onde diferentes links de contribuidores s\u00e3o conectados. Os DZXs est\u00e3o localizados nas principais \u00e1reas metropolitanas (por exemplo, NYC, LON, TYO) onde ocorrem interse\u00e7\u00f5es de rede. Os contribuidores de rede devem fazer cross-connect de seus links na mesh DoubleZero mais ampla no DZX mais pr\u00f3ximo. Semelhante em conceito a um Internet Exchange (IX).

"},{"location":"pt/glossary/#link-wan","title":"Link WAN","text":"

Um link de Wide Area Network entre dois DZDs operados pelo mesmo contribuidor. Os links WAN fornecem conectividade de backbone dentro da infraestrutura de um \u00fanico contribuidor.

"},{"location":"pt/glossary/#link-dzx","title":"Link DZX","text":"

Um link entre DZDs operados por diferentes contribuidores, estabelecido em um DZX. Os links DZX requerem aceita\u00e7\u00e3o expl\u00edcita de ambas as partes.

"},{"location":"pt/glossary/#prefixo-dz","title":"Prefixo DZ","text":"

Aloca\u00e7\u00f5es de endere\u00e7os IP em formato CIDR atribu\u00eddas a um DZD para endere\u00e7amento de rede overlay. Especificado durante a cria\u00e7\u00e3o de dispositivos usando o par\u00e2metro --dz-prefixes.

"},{"location":"pt/glossary/#tipos-de-dispositivos","title":"Tipos de Dispositivos","text":""},{"location":"pt/glossary/#dispositivo-de-borda","title":"Dispositivo de Borda","text":"

Um DZD que fornece conectividade de usu\u00e1rios \u00e0 rede DoubleZero. Os dispositivos de borda utilizam interfaces CYOA para terminar usu\u00e1rios (validadores, operadores de RPC) e conect\u00e1-los \u00e0 rede.

"},{"location":"pt/glossary/#dispositivo-de-transito","title":"Dispositivo de Tr\u00e2nsito","text":"

Um DZD que fornece conectividade de backbone dentro da rede DoubleZero. Os dispositivos de tr\u00e2nsito movem tr\u00e1fego entre DZDs, mas n\u00e3o terminam conex\u00f5es de usu\u00e1rios diretamente.

"},{"location":"pt/glossary/#dispositivo-hibrido","title":"Dispositivo H\u00edbrido","text":"

Um DZD que combina funcionalidade de borda e tr\u00e2nsito, fornecendo tanto conectividade de usu\u00e1rios quanto roteamento de backbone.

"},{"location":"pt/glossary/#conectividade","title":"Conectividade","text":""},{"location":"pt/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Tipos de interface que permitem aos contribuidores registrar op\u00e7\u00f5es de conectividade para que os usu\u00e1rios se conectem \u00e0 rede DoubleZero. As interfaces CYOA incluem v\u00e1rios m\u00e9todos como DIA, t\u00faneis GRE e peering privado. Consulte Criando Interfaces CYOA para detalhes de configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#dia-acesso-direto-a-internet","title":"DIA (Acesso Direto \u00e0 Internet)","text":"

Um termo de rede padr\u00e3o para conectividade fornecida pela internet p\u00fablica. No DoubleZero, DIA \u00e9 um tipo de interface CYOA onde os usu\u00e1rios (validadores, operadores de RPC) se conectam a um DZD pela sua conex\u00e3o de internet existente.

"},{"location":"pt/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

Um modo de conex\u00e3o que permite que validadores e n\u00f3s RPC se conectem ao DoubleZero sem reiniciar seus clientes blockchain. O IBRL usa o endere\u00e7o IP p\u00fablico existente e estabelece um t\u00fanel overlay para o DZD mais pr\u00f3ximo. Consulte Conex\u00e3o Mainnet-Beta para instru\u00e7\u00f5es de configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#multicast","title":"Multicast","text":"

Um m\u00e9todo de entrega de pacotes um-para-muitos suportado pelo DoubleZero. O modo multicast tem dois pap\u00e9is: publicador (envia pacotes pela rede) e assinante (recebe pacotes do publicador). Usado por equipes de desenvolvimento para distribui\u00e7\u00e3o eficiente de dados. Consulte Outra Conex\u00e3o Multicast para detalhes de conex\u00e3o.

"},{"location":"pt/glossary/#componentes-de-software","title":"Componentes de Software","text":""},{"location":"pt/glossary/#doublezerod","title":"doublezerod","text":"

O servi\u00e7o daemon do DoubleZero que \u00e9 executado em servidores de usu\u00e1rios (validadores, n\u00f3s RPC). Ele gerencia a conex\u00e3o com a rede DoubleZero, lida com o estabelecimento de t\u00faneis e mant\u00e9m a conectividade com os DZDs. Configurado via systemd e controlado pelo CLI doublezero.

"},{"location":"pt/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

A interface de linha de comando para interagir com a rede DoubleZero. Usada para conectar, gerenciar identidades, verificar status e opera\u00e7\u00f5es administrativas. Comunica-se com o daemon doublezerod.

"},{"location":"pt/glossary/#config-agent","title":"Config Agent","text":"

Agente de software executado nos DZDs que gerencia a configura\u00e7\u00e3o do dispositivo. L\u00ea a configura\u00e7\u00e3o do servi\u00e7o Controller e aplica mudan\u00e7as ao dispositivo. Consulte Instala\u00e7\u00e3o do Config Agent para configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Agente de software executado nos DZDs que coleta m\u00e9tricas de desempenho (lat\u00eancia, jitter, perda de pacotes) e as envia ao ledger DoubleZero. Consulte Instala\u00e7\u00e3o do Telemetry Agent para configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#controller","title":"Controller","text":"

Um servi\u00e7o que fornece configura\u00e7\u00e3o para agentes DZD. O Controller deriva as configura\u00e7\u00f5es do dispositivo a partir do estado onchain no ledger DoubleZero.

"},{"location":"pt/glossary/#estados-de-link","title":"Estados de Link","text":""},{"location":"pt/glossary/#ativado","title":"Ativado","text":"

O estado operacional normal de um link. O tr\u00e1fego flui pelo link e ele participa das decis\u00f5es de roteamento.

"},{"location":"pt/glossary/#drenagem-suave","title":"Drenagem Suave","text":"

Um estado de manuten\u00e7\u00e3o onde o tr\u00e1fego ser\u00e1 desencorajado em um link espec\u00edfico. Usado para janelas de manuten\u00e7\u00e3o gradual. Pode transitar para ativado ou drenagem r\u00edgida.

"},{"location":"pt/glossary/#drenagem-rigida","title":"Drenagem R\u00edgida","text":"

Um estado de manuten\u00e7\u00e3o onde o link \u00e9 completamente removido do servi\u00e7o. Nenhum tr\u00e1fego flui pelo link. Deve transitar para drenagem suave antes de retornar para ativado.

"},{"location":"pt/glossary/#organizacoes-e-tokens","title":"Organiza\u00e7\u00f5es e Tokens","text":""},{"location":"pt/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

A DoubleZero Foundation \u00e9 uma empresa de funda\u00e7\u00e3o sem membros nas Ilhas Cayman, sem fins lucrativos, formada para apoiar o desenvolvimento, descentraliza\u00e7\u00e3o, seguran\u00e7a e ado\u00e7\u00e3o da rede DoubleZero.

"},{"location":"pt/glossary/#token-2z","title":"Token 2Z","text":"

O token nativo da rede DoubleZero. Usado para pagar taxas de validadores e distribu\u00eddo como recompensas aos contribuidores. Os validadores podem pagar taxas em 2Z via um programa de swap onchain. Consulte Pagando Taxas com 2Z e Trocando SOL por 2Z.

"},{"location":"pt/glossary/#contribuidor","title":"Contribuidor","text":"

Um provedor de infraestrutura de rede que contribui com largura de banda e hardware para a rede DoubleZero. Os contribuidores operam DZDs, fornecem links WAN e DZX e recebem incentivos em tokens 2Z por sua contribui\u00e7\u00e3o. Consulte a Documenta\u00e7\u00e3o para Contribuidores para come\u00e7ar.

"},{"location":"pt/glossary/#conceitos-de-rede","title":"Conceitos de Rede","text":""},{"location":"pt/glossary/#mtu-unidade-maxima-de-transmissao","title":"MTU (Unidade M\u00e1xima de Transmiss\u00e3o)","text":"

O maior tamanho de pacote (em bytes) que pode ser transmitido por um link de rede. Os links WAN do DoubleZero normalmente usam MTU 9000 (jumbo frames) para efici\u00eancia.

"},{"location":"pt/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

Uma tecnologia que permite que m\u00faltiplas tabelas de roteamento isoladas existam no mesmo roteador f\u00edsico. Os contribuidores frequentemente usam um VRF de gerenciamento separado para isolar o tr\u00e1fego de gerenciamento do switch do tr\u00e1fego de produ\u00e7\u00e3o.

"},{"location":"pt/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

Um protocolo de tunelamento que encapsula pacotes de rede dentro de pacotes IP. Usado por conex\u00f5es IBRL e CYOA para criar t\u00faneis overlay entre usu\u00e1rios e DZDs.

"},{"location":"pt/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

O protocolo de roteamento usado para trocar informa\u00e7\u00f5es de roteamento entre redes na internet. O DoubleZero usa BGP internamente com ASN 65342.

"},{"location":"pt/glossary/#asn-numero-de-sistema-autonomo","title":"ASN (N\u00famero de Sistema Aut\u00f4nomo)","text":"

Um identificador \u00fanico atribu\u00eddo a uma rede para roteamento BGP. Todos os dispositivos DoubleZero usam ASN 65342 para o processo BGP interno.

"},{"location":"pt/glossary/#interface-loopback","title":"Interface Loopback","text":"

Uma interface de rede virtual em um roteador/switch usada para fins de gerenciamento e roteamento. Os DZDs usam Loopback255 (VPNv4) e Loopback256 (IPv4) para roteamento interno.

"},{"location":"pt/glossary/#cidr-roteamento-inter-dominio-sem-classe","title":"CIDR (Roteamento Inter-Dom\u00ednio sem Classe)","text":"

Uma nota\u00e7\u00e3o para especificar intervalos de endere\u00e7os IP. O formato \u00e9 IP/comprimento-prefixo onde o comprimento do prefixo indica o tamanho da rede (por exemplo, /29 = 8 endere\u00e7os, /24 = 256 endere\u00e7os).

"},{"location":"pt/glossary/#jitter","title":"Jitter","text":"

Varia\u00e7\u00e3o na lat\u00eancia de pacotes ao longo do tempo. Baixo jitter \u00e9 cr\u00edtico para aplica\u00e7\u00f5es em tempo real.

"},{"location":"pt/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

O tempo para um pacote viajar da origem ao destino e de volta. Usado para medir a lat\u00eancia de rede entre dispositivos.

"},{"location":"pt/glossary/#twamp-protocolo-de-medicao-ativa-bidirecional","title":"TWAMP (Protocolo de Medi\u00e7\u00e3o Ativa Bidirecional)","text":"

Um protocolo para medir m\u00e9tricas de desempenho de rede como lat\u00eancia e perda de pacotes. O Telemetry Agent usa TWAMP para coletar m\u00e9tricas entre DZDs.

"},{"location":"pt/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

Um protocolo de roteamento de estado de link usado internamente pela rede DoubleZero. As m\u00e9tricas IS-IS s\u00e3o ajustadas durante opera\u00e7\u00f5es de drenagem de link.

"},{"location":"pt/glossary/#blockchain-e-chaves","title":"Blockchain e Chaves","text":""},{"location":"pt/glossary/#onchain","title":"Onchain","text":"

No contexto do DoubleZero, onchain refere-se a dados e opera\u00e7\u00f5es registrados no ledger DoubleZero. Ao contr\u00e1rio das redes tradicionais onde as configura\u00e7\u00f5es de dispositivos e links vivem em sistemas de gerenciamento centralizados, o DoubleZero registra registros de dispositivos, configura\u00e7\u00f5es de links e envios de telemetria onchain \u2014 tornando o estado da rede transparente e verific\u00e1vel por todos os participantes.

"},{"location":"pt/glossary/#chave-de-servico","title":"Chave de Servi\u00e7o","text":"

Um keypair criptogr\u00e1fico usado para autenticar opera\u00e7\u00f5es do CLI. Esta \u00e9 a sua identidade de contribuidor para interagir com o contrato inteligente do DoubleZero. Armazenada em ~/.config/solana/id.json.

"},{"location":"pt/glossary/#chave-do-editor-de-metricas","title":"Chave do Editor de M\u00e9tricas","text":"

Um keypair criptogr\u00e1fico usado pelo Telemetry Agent para assinar envios de m\u00e9tricas \u00e0 blockchain. Separada da chave de servi\u00e7o para isolamento de seguran\u00e7a. Armazenada em ~/.config/doublezero/metrics-publisher.json.

"},{"location":"pt/glossary/#hardware-e-software","title":"Hardware e Software","text":""},{"location":"pt/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

O sistema operacional de rede da Arista que \u00e9 executado nos switches DZD. Os contribuidores instalam o Config Agent e o Telemetry Agent como extens\u00f5es EOS.

"},{"location":"pt/glossary/#extensao-eos","title":"Extens\u00e3o EOS","text":"

Um pacote de software que pode ser instalado em switches Arista EOS. Os agentes DZ s\u00e3o distribu\u00eddos como arquivos .rpm e instalados via o comando extension.

"},{"location":"pt/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"pt/multicast-admin/#gerenciamento-de-grupos-multicast-no-doublezero","title":"Gerenciamento de Grupos Multicast no DoubleZero","text":"

Um grupo multicast \u00e9 uma cole\u00e7\u00e3o l\u00f3gica de dispositivos ou n\u00f3s de rede que compartilham um identificador comum (tipicamente um endere\u00e7o IP multicast) para transmitir dados eficientemente para m\u00faltiplos destinat\u00e1rios. Ao contr\u00e1rio da comunica\u00e7\u00e3o unicast (um para um) ou broadcast (um para todos), o multicast permite que um remetente transmita um \u00fanico fluxo de dados que \u00e9 replicado pela rede apenas para os receptores que ingressaram no grupo.

Esta abordagem otimiza o uso de largura de banda e reduz a carga tanto no remetente quanto na infraestrutura de rede, pois os pacotes s\u00e3o transmitidos apenas uma vez por link e duplicados somente quando necess\u00e1rio para alcan\u00e7ar m\u00faltiplos assinantes. Os grupos multicast s\u00e3o comumente usados em cen\u00e1rios como transmiss\u00e3o de v\u00eddeo ao vivo, confer\u00eancias, distribui\u00e7\u00e3o de dados financeiros e sistemas de mensagens em tempo real.

No DoubleZero, os grupos multicast fornecem um mecanismo seguro e controlado para gerenciar quem pode enviar (publicadores) e receber (assinantes) dados dentro de cada grupo, garantindo uma distribui\u00e7\u00e3o de informa\u00e7\u00f5es eficiente e governada.

flowchart LR\n    subgraph Publishers\n        P1[Publicador 1]\n        P2[Publicador 2]\n        P3[Publicador 3]\n    end\n    subgraph Subscribers\n        S1[Assinante 1]\n        S2[Assinante 2]\n        S3[Assinante 3]\n        S4[Assinante 4]\n    end\n    P1 --> B[Grupo Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

O diagrama acima mostra como m\u00faltiplos usu\u00e1rios podem publicar mensagens em um grupo multicast, e m\u00faltiplos usu\u00e1rios podem assinar para receber essas mensagens. A rede DoubleZero replica eficientemente os pacotes, garantindo que todos os assinantes recebam as mensagens sem sobrecarga de transmiss\u00e3o desnecess\u00e1ria.

"},{"location":"pt/multicast-admin/#1-criacao-e-listagem-de-grupos-multicast","title":"1. Cria\u00e7\u00e3o e Listagem de Grupos Multicast","text":"

Os grupos multicast s\u00e3o a base para a distribui\u00e7\u00e3o segura e eficiente de dados no DoubleZero. Cada grupo \u00e9 identificado de forma \u00fanica e configurado com uma largura de banda e propriet\u00e1rio espec\u00edficos. Apenas os administradores da Funda\u00e7\u00e3o DoubleZero podem criar novos grupos multicast, garantindo uma governan\u00e7a adequada e aloca\u00e7\u00e3o de recursos.

Uma vez criados, os grupos multicast podem ser listados para fornecer uma vis\u00e3o geral de todos os grupos dispon\u00edveis, sua configura\u00e7\u00e3o e seu status atual. Isso \u00e9 essencial para que os operadores de rede e propriet\u00e1rios de grupos monitorem recursos e gerenciem o acesso.

Criando um grupo multicast:

Apenas a Funda\u00e7\u00e3o DoubleZero pode criar novos grupos multicast. O comando de cria\u00e7\u00e3o requer um c\u00f3digo \u00fanico, a largura de banda m\u00e1xima e a chave p\u00fablica do propriet\u00e1rio (ou 'me' para o pagador atual).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Listando todos os grupos multicast:

Para listar todos os grupos multicast e ver informa\u00e7\u00f5es resumidas (incluindo o c\u00f3digo do grupo, IP multicast, largura de banda, n\u00famero de publicadores e assinantes, status e propriet\u00e1rio):

doublezero multicast group list\n

Este comando exibe uma tabela com todos os grupos multicast e suas principais propriedades.

Uma vez criado um grupo, o propriet\u00e1rio pode gerenciar quais usu\u00e1rios podem se conectar como publicadores ou assinantes.

"},{"location":"pt/multicast-admin/#2-gerenciamento-de-listas-de-permissao-de-publicadoresassinantes","title":"2. Gerenciamento de Listas de Permiss\u00e3o de Publicadores/Assinantes","text":"

As listas de permiss\u00e3o de publicadores e assinantes s\u00e3o essenciais para controlar o acesso aos grupos multicast no DoubleZero. Essas listas definem explicitamente quais usu\u00e1rios podem publicar (enviar dados) ou assinar (receber dados) dentro de um grupo multicast espec\u00edfico.

Gerenciar essas listas \u00e9 responsabilidade do propriet\u00e1rio do grupo, que pode adicionar, remover ou visualizar publicadores e assinantes autorizados usando o CLI do DoubleZero.

Nota: Para assinar ou publicar em um grupo multicast, um usu\u00e1rio deve primeiro estar autorizado a se conectar ao DoubleZero seguindo os procedimentos de conex\u00e3o padr\u00e3o. Os comandos de lista de permiss\u00e3o descritos aqui apenas associam um usu\u00e1rio DoubleZero j\u00e1 autorizado com um grupo multicast. Adicionar um novo IP \u00e0 lista de permiss\u00e3o de um grupo multicast n\u00e3o concede por si s\u00f3 acesso ao DoubleZero; o usu\u00e1rio deve ter conclu\u00eddo o processo de autoriza\u00e7\u00e3o geral antes de interagir com grupos multicast.

"},{"location":"pt/multicast-admin/#adicionar-um-publicador-a-lista-de-permissao","title":"Adicionar um publicador \u00e0 lista de permiss\u00e3o","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#remover-um-publicador-da-lista-de-permissao","title":"Remover um publicador da lista de permiss\u00e3o","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#listar-a-lista-de-permissao-de-publicadores-de-um-grupo","title":"Listar a lista de permiss\u00e3o de publicadores de um grupo","text":"

Para listar todos os publicadores na lista de permiss\u00e3o de um grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist publisher list --code <CODE>\n

Este comando exibe todos os publicadores atualmente autorizados a se conectar ao grupo especificado, incluindo sua conta, c\u00f3digo do grupo, IP do cliente e pagador do usu\u00e1rio.

"},{"location":"pt/multicast-admin/#adicionar-um-assinante-a-lista-de-permissao","title":"Adicionar um assinante \u00e0 lista de permiss\u00e3o","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#remover-um-assinante-da-lista-de-permissao","title":"Remover um assinante da lista de permiss\u00e3o","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#listar-a-lista-de-permissao-de-assinantes-de-um-grupo","title":"Listar a lista de permiss\u00e3o de assinantes de um grupo","text":"

Para listar todos os assinantes na lista de permiss\u00e3o de um grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Este comando exibe todos os assinantes atualmente autorizados a se conectar ao grupo especificado.

Para mais informa\u00e7\u00f5es sobre conex\u00e3o e uso de multicast, consulte Outras Conex\u00f5es Multicast.

"},{"location":"pt/paying-fees/","title":"Pre\u00e7os e Taxas para Validadores","text":"

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.

Pre\u00e7os simples e alinhados para validadores Solana

As taxas come\u00e7ar\u00e3o na epoch 859, que come\u00e7a no s\u00e1bado, 4 de outubro, \u00e0s 4h ET. Uma taxa plana de 5% \u00e9 cobrada sobre as recompensas de assinatura de bloco e taxas de prioridade.

As taxas financiam diretamente a infraestrutura que torna o DoubleZero poss\u00edvel, incluindo linhas de fibra f\u00edsica e equipamentos em data centers.

Uma explora\u00e7\u00e3o aprofundada de por que as taxas existem e o modelo de pre\u00e7os para validadores pode ser encontrada aqui.

Este guia foca em como as taxas s\u00e3o pagas de uma perspectiva t\u00e9cnica.

"},{"location":"pt/paying-fees/#modelo-de-liquidacao","title":"Modelo de Liquida\u00e7\u00e3o","text":""},{"location":"pt/paying-fees/#estimando-taxas","title":"Estimando Taxas","text":"

Estimativas hist\u00f3ricas e dados por pubkey est\u00e3o dispon\u00edveis no Reposit\u00f3rio de Estimativas de Taxas. O reposit\u00f3rio n\u00e3o substitui os dados on-chain. Voc\u00ea \u00e9 respons\u00e1vel pelo saldo on-chain, n\u00e3o pelo saldo neste reposit\u00f3rio.

D\u00favidas? Entre em contato com Nihar Shah em nihar@doublezero.us

"},{"location":"pt/paying-fees/#detalhes-para-desenvolvedores","title":"Detalhes para Desenvolvedores","text":""},{"location":"pt/paying-fees/#interface-de-linha-de-comando","title":"Interface de Linha de Comando","text":"

O CLI do DoubleZero fornece comandos para gerenciar dep\u00f3sitos de validadores e monitorar saldos. Voc\u00ea precisar\u00e1 de SOL na conta de onde executa esses comandos para pagar o gas.

"},{"location":"pt/paying-fees/#passo-1-entendendo-a-divida-devida","title":"Passo 1: Entendendo a D\u00edvida Devida","text":"

Para visualizar a d\u00edvida em um endere\u00e7o espec\u00edfico voc\u00ea pode usar este formato:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Examinaremos um exemplo de sa\u00edda abaixo:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
Na sa\u00edda de exemplo h\u00e1 duas sa\u00eddas poss\u00edveis diferentes em note. Not funded significa que a conta n\u00e3o foi financiada. No exemplo, 0.632515639 SOL needed \u00e9 o valor pendente de SOL necess\u00e1rio para pagar todas as d\u00edvidas atualmente devidas associadas ao ID do Validador alvo.

"},{"location":"pt/paying-fees/#passo-2-pagando-a-divida-devida","title":"Passo 2: Pagando a D\u00edvida Devida","text":"

Note

Voc\u00ea pode agendar este comando para ser executado em intervalos regulares.

Para pagar a d\u00edvida devida voc\u00ea pode usar o seguinte comando. Isso usar\u00e1 automaticamente o keypair padr\u00e3o em $HOME/.config/solana/id.json

Voc\u00ea pode especificar o keypair com o qual deseja pagar sua d\u00edvida adicionando o argumento -k path/to/keypair.json ao final do comando.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
Um exemplo de sa\u00edda \u00e9 fornecido abaixo

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: retorna a conta de dep\u00f3sito que foi financiada

Funded: retorna o hash da transa\u00e7\u00e3o, que voc\u00ea pode consultar no seu explorador Solana favorito

Node ID: retorna o ID do Validador pelo qual foi pago

Balance: retorna a quantidade de SOL que est\u00e1 na conta de dep\u00f3sito, ap\u00f3s a conclus\u00e3o da transfer\u00eancia

"},{"location":"pt/paying-fees2z/","title":"Paying fees2z","text":"

Revise o Aviso Legal antes de acessar ou usar o c\u00f3digo ou quaisquer materiais relacionados.

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.

Aviso Legal

Este documento e o c\u00f3digo associado s\u00e3o fornecidos apenas para fins informativos e t\u00e9cnicos. A funcionalidade de convers\u00e3o de tokens descrita aqui \u00e9 n\u00e3o custodial \u2014 os usu\u00e1rios interagem diretamente com os contratos inteligentes subjacentes e mant\u00eam controle total de seus ativos em todos os momentos.

O sistema pode depender de ou interagir com c\u00f3digo de terceiros, fontes de dados ou mecanismos de precifica\u00e7\u00e3o e taxas (por exemplo, contratos inteligentes, APIs ou exchanges descentralizadas) que n\u00e3o s\u00e3o desenvolvidos, controlados ou revisados pelo(s) desenvolvedor(es) ou publicador(es). Nenhuma representa\u00e7\u00e3o ou garantia \u00e9 feita quanto \u00e0 precis\u00e3o, funcionalidade ou seguran\u00e7a de qualquer componente de terceiros. O(s) desenvolvedor(es) e publicador(es) deste c\u00f3digo n\u00e3o garantem sua precis\u00e3o, integridade ou disponibilidade cont\u00ednua. O c\u00f3digo e os materiais relacionados s\u00e3o fornecidos \"no estado em que se encontram\" e podem conter bugs, erros ou vulnerabilidades. O uso \u00e9 inteiramente por sua pr\u00f3pria conta e risco. O(s) desenvolvedor(es) e publicador(es) n\u00e3o recebem quaisquer taxas em conex\u00e3o com o uso desses contratos. Eles n\u00e3o t\u00eam obriga\u00e7\u00e3o de manter, atualizar ou suportar o c\u00f3digo ou a documenta\u00e7\u00e3o relacionada.

Este documento n\u00e3o constitui uma oferta de venda, uma solicita\u00e7\u00e3o de compra ou uma recomenda\u00e7\u00e3o para participar de qualquer convers\u00e3o de token, swap ou outra transa\u00e7\u00e3o. Nenhum conselho jur\u00eddico, financeiro ou de investimento \u00e9 fornecido. Os usu\u00e1rios s\u00e3o os \u00fanicos respons\u00e1veis por determinar a legalidade de suas atividades. Eles devem revisar as leis e regulamentos aplic\u00e1veis em sua jurisdi\u00e7\u00e3o e consultar assessores independentes antes de usar o c\u00f3digo ou participar de qualquer convers\u00e3o. O uso \u00e9 proibido onde for ilegal, incluindo por pessoas ou entidades sujeitas a san\u00e7\u00f5es ou em jurisdi\u00e7\u00f5es restritas.

Na extens\u00e3o m\u00e1xima permitida por lei, o(s) desenvolvedor(es) e publicador(es) se isentam de toda responsabilidade por qualquer perda, dano ou reclama\u00e7\u00e3o decorrente ou em conex\u00e3o com o uso do c\u00f3digo ou participa\u00e7\u00e3o na convers\u00e3o.

A revis\u00e3o e o uso deste documento e do c\u00f3digo associado est\u00e3o sujeitos aos Termos e Condi\u00e7\u00f5es do Website e Termos e Condi\u00e7\u00f5es do Protocolo.

Os validadores podem pagar suas taxas em 2Z via um programa de swap onchain. O swap \u00e9 realizado trocando 2Z por SOL. O saldo de SOL em sua conta de dep\u00f3sito ser\u00e1 atualizado de acordo com o swap.

Este processo sempre usar\u00e1 incrementos de 1 SOL. O resultado deste swap sempre ser\u00e1 depositado diretamente em sua conta de dep\u00f3sito. Esta \u00e9 uma via de m\u00e3o \u00fanica \u2014 voc\u00ea n\u00e3o pode recuperar o 2Z ou SOL desta transa\u00e7\u00e3o. Ele ser\u00e1 enviado para um m\u00f3dulo de distribui\u00e7\u00e3o onchain.

"},{"location":"pt/paying-fees2z/#passo-1","title":"Passo 1","text":"

Primeiro determine qual \u00e9 a taxa de convers\u00e3o atual

doublezero-solana revenue-distribution fetch sol-conversion\n

sa\u00edda:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"pt/paying-fees2z/#passo-2","title":"Passo 2","text":"

Fa\u00e7a uma ordem limitada. Voc\u00ea executar\u00e1 este swap por sua pr\u00f3pria conta e risco. N\u00e3o fazemos recomenda\u00e7\u00f5es sobre perfil de risco, e os exemplos fornecidos aqui s\u00e3o apenas para fins educacionais.

"},{"location":"pt/paying-fees2z/#como-estruturar-uma-ordem-limitada","title":"Como estruturar uma ordem limitada","text":"

Com base no exemplo acima, vamos agora fazer uma ordem limitada 5% acima do pre\u00e7o cotado. 797.76 * 1.05 = 837.65

Neste exemplo, vamos assumir que a conta de dep\u00f3sito tem 0 SOL nela.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Observe no comando acima --fund 1 \u2014 isso est\u00e1 explicitamente financiando 1 SOL na conta de dep\u00f3sito.

Se voc\u00ea escolher qualquer n\u00famero diferente de 1, acionar\u00e1 um erro informando o valor incorreto:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Voc\u00ea ser\u00e1 solicitado a confirmar a transa\u00e7\u00e3o:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

sa\u00edda:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Observe que, em um swap bem-sucedido, o Balance: foi atualizado para 1 SOL.

Se um pre\u00e7o estiver fora do seu intervalo especificado, voc\u00ea encontrar\u00e1 um erro como:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"pt/quick-connect/","title":"Conex\u00e3o R\u00e1pida","text":"

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.

Responda algumas perguntas e geraremos um guia de conex\u00e3o personalizado com as etapas e comandos exatos para sua configura\u00e7\u00e3o.

Guia Simplificado

Este assistente fornece trechos principais da documenta\u00e7\u00e3o completa para conect\u00e1-lo o mais r\u00e1pido poss\u00edvel. Para detalhes completos, consulte os guias de Configura\u00e7\u00e3o e Tenant.

A qual rede voc\u00ea est\u00e1 se conectando? Mainnet-Beta Rede de produ\u00e7\u00e3o para validadores ativos e operadores de RPC Testnet Rede de teste e desenvolvimento Qual sistema operacional seu servidor est\u00e1 executando? Ubuntu / Debian Ubuntu 22.04+ ou Debian 11+ Rocky Linux / RHEL Rocky Linux ou RHEL 8+ Qual ecossistema? Solana Validadores e operadores de RPC na Solana Shelby RPCs e N\u00f3s de Armazenamento no Shelby (apenas Testnet) Novo Tenant Outros ecossistemas Qual ferramenta de firewall voc\u00ea usa? iptables Regras diretas de iptables UFW Uncomplicated Firewall Que tipo de n\u00f3 voc\u00ea est\u00e1 executando? Validador Validador Solana com agendamento de l\u00edder e keypair de identidade N\u00e3o-validador (RPC) N\u00f3 RPC ou infraestrutura MEV Qual modo de conex\u00e3o voc\u00ea precisa? Unicast (IBRL) Conex\u00e3o ponto a ponto padr\u00e3o Multicast Entrega de pacotes um-para-muitos (publicador/assinante) Ambos T\u00faneis unicast e multicast simult\u00e2neos Qual \u00e9 o seu papel no multicast? Publicador Enviar dados para um grupo multicast (por exemplo, produtor de bloco) Assinante Receber dados de um grupo multicast"},{"location":"pt/setup/","title":"Como configurar o DoubleZero","text":"

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.

Terminologia

Novo no DoubleZero? Consulte o Gloss\u00e1rio para defini\u00e7\u00f5es de termos como doublezerod, IBRL e DZD.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/setup/#pre-requisitos","title":"Pr\u00e9-requisitos","text":"

Warning

Para validadores: o DoubleZero precisa ser instalado diretamente no host do validador, n\u00e3o em um cont\u00eainer.

"},{"location":"pt/setup/#conectando-ao-doublezero","title":"Conectando ao DoubleZero","text":"

O Testnet do DoubleZero e o Mainnet-Beta do DoubleZero s\u00e3o redes fisicamente distintas. Por favor, escolha a rede apropriada durante a instala\u00e7\u00e3o.

Ao integrar ao DoubleZero, voc\u00ea estabelecer\u00e1 uma identidade DoubleZero, representada por uma chave p\u00fablica chamada DoubleZero ID. Essa chave faz parte de como o DoubleZero reconhece sua m\u00e1quina.

"},{"location":"pt/setup/#1-instalar-os-pacotes-do-doublezero","title":"1. Instalar os Pacotes do DoubleZero","text":"

Vers\u00f5es Atuais

Pacote Mainnet-Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Siga estas etapas dependendo do seu sistema operacional:

"},{"location":"pt/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

A implanta\u00e7\u00e3o recomendada atual para Mainnet-Beta \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

A implanta\u00e7\u00e3o recomendada atual para Testnet \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"pt/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

A implanta\u00e7\u00e3o recomendada atual para Mainnet-Beta \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

A implanta\u00e7\u00e3o recomendada atual para Testnet \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Apenas Usu\u00e1rios Existentes: Mudar um pacote de Testnet para Mainnet-Beta, ou de Mainnet-Beta para Testnet

Quando voc\u00ea instala a partir de um dos reposit\u00f3rios de pacotes acima, ele \u00e9 espec\u00edfico para o Testnet do DoubleZero ou o DoubleZero Mainnet Beta. Se voc\u00ea trocar de rede em algum momento, precisar\u00e1 remover os reposit\u00f3rios de pacotes instalados anteriormente e atualizar para o reposit\u00f3rio de destino.

Este exemplo mostrar\u00e1 a migra\u00e7\u00e3o do Testnet para o Mainnet-Beta.

As mesmas etapas podem ser conclu\u00eddas para mover do Mainnet-Beta para o Testnet, substituindo o passo 3 pelo comando de instala\u00e7\u00e3o do Testnet acima.

  1. Encontrar Arquivos de Reposit\u00f3rio Antigos

    Primeiro, localize quaisquer arquivos de configura\u00e7\u00e3o de reposit\u00f3rio do DoubleZero existentes em seu sistema:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Remover Arquivos de Reposit\u00f3rio Antigos

    Remova os arquivos de reposit\u00f3rio antigos encontrados na etapa anterior, por exemplo:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Instalar a partir do Novo Reposit\u00f3rio

    Adicione o novo reposit\u00f3rio Mainnet-Beta e instale o pacote mais recente:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<versao_recomendada_atual_acima>\n
"},{"location":"pt/setup/#verificar-o-status-do-doublezerod","title":"Verificar o status do doublezerod","text":"

Ap\u00f3s a instala\u00e7\u00e3o do pacote, uma nova unidade systemd \u00e9 instalada, ativada e iniciada. Para ver o status, execute:

sudo systemctl status doublezerod\n

"},{"location":"pt/setup/#configurar-firewall-para-gre-e-bgp","title":"Configurar Firewall para GRE e BGP","text":"

O DoubleZero usa tunelamento GRE (protocolo IP 47) e roteamento BGP (tcp/179 em endere\u00e7os link-local). Certifique-se de que seu firewall permita esses protocolos:

Permitir GRE e BGP via iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

Ou permitir GRE e BGP via UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"pt/setup/#2-criar-nova-identidade-doublezero","title":"2. Criar Nova Identidade DoubleZero","text":"

Crie uma Identidade DoubleZero em seu servidor com o seguinte comando:

doublezero keygen\n

Info

Se voc\u00ea tiver um ID existente que gostaria de usar, pode seguir estas etapas opcionais.

Criar o diret\u00f3rio de configura\u00e7\u00e3o do doublezero

mkdir -p ~/.config/doublezero\n

Copie ou vincule o id.json que deseja usar com o DoubleZero no diret\u00f3rio de configura\u00e7\u00e3o do doublezero.

sudo cp </caminho/para/id.json> ~/.config/doublezero/\n
"},{"location":"pt/setup/#3-recuperar-a-identidade-doublezero-do-servidor","title":"3. Recuperar a identidade DoubleZero do servidor","text":"

Revise sua Identidade DoubleZero. Esta identidade ser\u00e1 usada para criar a conex\u00e3o entre sua m\u00e1quina e o DoubleZero.

doublezero address\n

Sa\u00edda:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"pt/setup/#4-verificar-se-o-doublezerod-descobriu-os-dispositivos-dz","title":"4. Verificar se o doublezerod descobriu os dispositivos DZ","text":"

Antes de conectar, certifique-se de que o doublezerod tenha descoberto e feito ping em cada um dos switches DZ testnet dispon\u00edveis:

doublezero latency\n

Exemplo de sa\u00edda:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Se nenhum dispositivo for retornado na sa\u00edda, aguarde 10-20 segundos e tente novamente.

"},{"location":"pt/setup/#5-desconectar-do-doublezero","title":"5. Desconectar do DoubleZero","text":"

Nas pr\u00f3ximas se\u00e7\u00f5es, voc\u00ea definir\u00e1 seu Ambiente DoubleZero. Para garantir o sucesso, desconecte a sess\u00e3o atual. Isso evitar\u00e1 problemas relacionados a m\u00faltiplos t\u00faneis abertos em sua m\u00e1quina.

Verifique

doublezero status\n

se estiver up, execute:

doublezero disconnect\n
"},{"location":"pt/setup/#proxima-etapa-tenant","title":"Pr\u00f3xima Etapa: Tenant","text":"

A conex\u00e3o ao DoubleZero ser\u00e1 diferente com base no seu caso de uso. No DoubleZero, Tenants s\u00e3o grupos que t\u00eam perfis de usu\u00e1rio semelhantes. Exemplos incluem Blockchains, Camadas de Transfer\u00eancia de Dados, etc.

"},{"location":"pt/setup/#prossiga-para-escolher-seu-tenant-aqui","title":"Prossiga para escolher seu tenant aqui","text":""},{"location":"pt/setup/#opcional-habilitar-metricas-prometheus","title":"Opcional: Habilitar M\u00e9tricas Prometheus","text":"

Operadores familiarizados com m\u00e9tricas Prometheus podem querer habilit\u00e1-las para monitoramento do DoubleZero. Isso fornece visibilidade sobre o desempenho do cliente DoubleZero, status de conex\u00e3o e sa\u00fade operacional.

"},{"location":"pt/setup/#quais-metricas-estao-disponiveis","title":"Quais M\u00e9tricas Est\u00e3o Dispon\u00edveis","text":"

O DoubleZero exp\u00f5e v\u00e1rias m\u00e9tricas principais: - Informa\u00e7\u00f5es de Build: Vers\u00e3o, hash de commit e data de build - Status da Sess\u00e3o: Se a sess\u00e3o DoubleZero est\u00e1 ativa - M\u00e9tricas de Conex\u00e3o: Informa\u00e7\u00f5es de lat\u00eancia e conectividade - Dados de Desempenho: Throughput e taxas de erro

"},{"location":"pt/setup/#habilitar-metricas-prometheus","title":"Habilitar M\u00e9tricas Prometheus","text":"

Para habilitar m\u00e9tricas Prometheus no cliente DoubleZero, siga estas etapas:

"},{"location":"pt/setup/#1-modificar-o-comando-de-inicializacao-do-servico-systemd-doublezerod","title":"1. Modificar o comando de inicializa\u00e7\u00e3o do servi\u00e7o systemd doublezerod","text":"

Crie ou edite a configura\u00e7\u00e3o de substitui\u00e7\u00e3o do systemd:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Substitua por esta configura\u00e7\u00e3o:

Note que o flag -env precisa apontar para testnet ou mainnet-beta dependendo de qual rede voc\u00ea gostaria de coletar dados. No bloco de exemplo, testnet \u00e9 usado. Voc\u00ea pode substitu\u00ed-lo por mainnet-beta se necess\u00e1rio.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"pt/setup/#2-recarregar-e-reiniciar-o-servico","title":"2. Recarregar e reiniciar o servi\u00e7o","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"pt/setup/#3-verificar-se-as-metricas-estao-disponiveis","title":"3. Verificar se as m\u00e9tricas est\u00e3o dispon\u00edveis","text":"

Teste se o endpoint de m\u00e9tricas est\u00e1 respondendo:

curl -s localhost:2113/metrics | grep doublezero\n

Sa\u00edda esperada:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"pt/setup/#resolucao-de-problemas","title":"Resolu\u00e7\u00e3o de Problemas","text":"

Se as m\u00e9tricas n\u00e3o aparecerem:

  1. Verificar status do servi\u00e7o: sudo systemctl status doublezerod
  2. Verificar configura\u00e7\u00e3o: sudo systemctl cat doublezerod
  3. Verificar logs: sudo journalctl -u doublezerod -f
  4. Testar endpoint: curl -v localhost:2113/metrics
  5. Verificar porta: netstat -tlnp | grep 2113
"},{"location":"pt/setup/#configurar-servidor-prometheus","title":"Configurar Servidor Prometheus","text":"

Configura\u00e7\u00e3o e seguran\u00e7a est\u00e3o al\u00e9m do escopo desta documenta\u00e7\u00e3o. O Grafana \u00e9 uma excelente op\u00e7\u00e3o para visualiza\u00e7\u00e3o e possui documenta\u00e7\u00e3o dispon\u00edvel aqui detalhando como coletar m\u00e9tricas Prometheus.

"},{"location":"pt/setup/#dashboard-grafana-opcional","title":"Dashboard Grafana (Opcional)","text":"

Para visualiza\u00e7\u00e3o, voc\u00ea pode criar um dashboard Grafana usando as m\u00e9tricas do DoubleZero. Pain\u00e9is comuns incluem: - Status da sess\u00e3o ao longo do tempo - Informa\u00e7\u00f5es de build - Tend\u00eancias de lat\u00eancia de conex\u00e3o - Monitoramento de taxa de erros

"},{"location":"pt/tenant/","title":"Tenants","text":"

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.

Os Tenants no DoubleZero s\u00e3o grupos de usu\u00e1rios com perfis e requisitos de conex\u00e3o semelhantes, geralmente representando diferentes ecossistemas de blockchain, camadas de transfer\u00eancia de dados ou sistemas distribu\u00eddos.

Examine a tabela abaixo e escolha o caso de uso que melhor descreve como voc\u00ea planeja interagir com a Rede DoubleZero.

Solana

Caso de Uso Pr\u00f3ximo Passo Validador Mainnet Solana, incluindo backups Conex\u00e3o DoubleZero Mainnet-Beta Validador Testnet Solana, incluindo backups Conex\u00e3o DoubleZero Testnet N\u00e3o-Validadores - RPCs e outros. Conex\u00e3o DoubleZero Mainnet-Beta e Testnet

Shelby

Caso de Uso Pr\u00f3ximo Passo RPCs e N\u00f3s de Armazenamento Shelby Testnet Conex\u00e3o DoubleZero Testnet

Novo Tenant

Caso de Uso Pr\u00f3ximo Passo Voc\u00ea tem um novo protocolo, aplica\u00e7\u00e3o ou outro caso de uso para aproveitar o DoubleZero Adicionar um Novo Tenant"},{"location":"pt/troubleshooting/","title":"Solu\u00e7\u00e3o de Problemas","text":"

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.

Este guia cobrir\u00e1 uma variedade de problemas, e est\u00e1 em andamento. Se voc\u00ea completar o guia, pode buscar suporte adicional no Discord DoubleZero Tech.

"},{"location":"pt/troubleshooting/#comandos-comuns-e-saidas","title":"Comandos Comuns e Sa\u00eddas","text":"

Para come\u00e7ar, examine a sa\u00edda dos seguintes comandos e sua sa\u00edda esperada. Eles ir\u00e3o auxili\u00e1-lo em uma solu\u00e7\u00e3o de problemas mais detalhada. Se voc\u00ea abrir um ticket, pode ser solicitado que voc\u00ea forne\u00e7a a sa\u00edda deles.

"},{"location":"pt/troubleshooting/#1-verificar-versao","title":"1. Verificar Vers\u00e3o","text":"

Comando:

doublezero --version

Exemplo de Sa\u00edda:

DoubleZero 0.6.3\n

"},{"location":"pt/troubleshooting/#2-verificar-endereco-doublezero","title":"2. Verificar Endere\u00e7o DoubleZero","text":"

Comando:

doublezero address

Exemplo de Sa\u00edda:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"pt/troubleshooting/#3-verificar-seu-passe-de-acesso","title":"3. Verificar seu Passe de Acesso","text":"

Pubkey de exemplo: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u2014 substitua pela sua pubkey ao executar o comando.

Comando:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Sa\u00edda:

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"pt/troubleshooting/#4-verificar-creditos-do-ledger-doublezero","title":"4. Verificar Cr\u00e9ditos do Ledger DoubleZero","text":"

Comando:

doublezero balance

Exemplo de Sa\u00edda:

0.78 Credits\n

"},{"location":"pt/troubleshooting/#5-verificar-status-da-conexao","title":"5. Verificar Status da Conex\u00e3o","text":"

Comando:

doublezero status

Exemplo de Sa\u00edda:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"pt/troubleshooting/#6-verificar-latencia","title":"6. Verificar Lat\u00eancia","text":"

Comando:

doublezero latency

Exemplo de Sa\u00edda:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"pt/troubleshooting/#exemplos-de-solucao-de-problemas","title":"Exemplos de Solu\u00e7\u00e3o de Problemas","text":"

Agora que examinamos as sa\u00eddas b\u00e1sicas e o que \u00e9 esperado em uma implanta\u00e7\u00e3o saud\u00e1vel, podemos examinar alguns exemplos comuns de solu\u00e7\u00e3o de problemas.

"},{"location":"pt/troubleshooting/#problema-error-creating-user","title":"Problema: \u274c Error creating user","text":"

Este problema geralmente est\u00e1 relacionado a uma incompatibilidade entre o par pubkey/IP esperado e o par pubkey/IP que o usu\u00e1rio est\u00e1 tentando usar para acessar o DoubleZero.

Sintomas: - Ao conectar com doublezero connect ibrl, o usu\u00e1rio encontra \u274c Error creating user

Solu\u00e7\u00f5es: 1. Verifique

`doublezero address`\n\nExemplo de Sa\u00edda:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. Verifique se este endere\u00e7o est\u00e1 na lista de permitidos:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Exemplo de Sa\u00edda:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    A pubkey de doublezero address deve corresponder \u00e0 pubkey do user_payer e o endere\u00e7o IP do qual voc\u00ea est\u00e1 tentando se conectar deve corresponder ao IP no Passe de Acesso. doublezero address \u00e9 obtido do arquivo id.json em ~/.config/doublezero/ por padr\u00e3o. Consulte o passo 6 aqui

  2. Se o acima parece correto e voc\u00ea est\u00e1 recebendo um erro ao conectar ou se o mapeamento acima estiver incorreto, entre em contato com o suporte em DoubleZero Tech

"},{"location":"pt/troubleshooting/#problema-error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Problema: \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

Este erro indica que um dispositivo j\u00e1 est\u00e1 conectado ao DoubleZero.

Sintomas: - O usu\u00e1rio tenta se conectar ao DoubleZero - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time \u00e9 encontrado.

Solu\u00e7\u00f5es: 1. Verifique doublezero status

Sa\u00edda:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up indica uma conex\u00e3o saud\u00e1vel.
  2. O erro aparece porque um t\u00fanel para o DoubleZero com o IP DoubleZero espec\u00edfico j\u00e1 est\u00e1 ativo nesta m\u00e1quina.

    Este erro \u00e9 frequentemente encontrado ap\u00f3s uma atualiza\u00e7\u00e3o do cliente DoubleZero. As atualiza\u00e7\u00f5es do DoubleZero reiniciam automaticamente o servi\u00e7o doublezerod e reconectar\u00e3o voc\u00ea se voc\u00ea estivesse conectado antes da reinicializa\u00e7\u00e3o do servi\u00e7o.

"},{"location":"pt/troubleshooting/#problema-status-do-doublezero-esta-unknown-ou-down","title":"Problema: Status do DoubleZero est\u00e1 unknown ou down","text":"

Este problema est\u00e1 frequentemente relacionado ao t\u00fanel GRE sendo ativado com sucesso entre o servidor e o Dispositivo DoubleZero, mas um firewall impedindo o estabelecimento da sess\u00e3o BGP. Por causa disso, voc\u00ea n\u00e3o est\u00e1 recebendo rotas da rede nem enviando tr\u00e1fego pelo DoubleZero.

Sintomas: - doublezero connect ibrl foi bem-sucedido. No entanto, doublezero status retorna down ou unknown

Solu\u00e7\u00f5es: 1. Verifique suas regras de firewall!

O DoubleZero usa o espa\u00e7o de endere\u00e7os link local: 169.254.0.0/16 para as interfaces de t\u00fanel GRE entre sua m\u00e1quina e o Dispositivo DoubleZero. 169.254.0.0/16 \u00e9 tipicamente espa\u00e7o \"n\u00e3o rote\u00e1vel\" e, portanto, as boas pr\u00e1ticas de seguran\u00e7a recomendam bloquear as comunica\u00e7\u00f5es para/deste espa\u00e7o. Voc\u00ea precisar\u00e1 permitir uma regra em seu firewall que habilite src 169.254.0.0/16 para se comunicar com dst 169.254.0.0/16 na porta tcp 179. Essa regra precisar\u00e1 ser colocada acima de quaisquer regras que Neguem tr\u00e1fego para 169.254.0.0/16.

Em um firewall como ufw voc\u00ea pode executar `sudo ufw status` para visualizar as regras do firewall.\n\nExecute `sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` para inserir a regra na posi\u00e7\u00e3o <N>. ou seja, se N = 1, ent\u00e3o voc\u00ea inserir\u00e1 esta regra como a primeira regra.\n`sudo ufw status numbered` mostrar\u00e1 a ordena\u00e7\u00e3o num\u00e9rica das regras.\n
"},{"location":"pt/troubleshooting/#problema-o-dispositivo-doublezero-mais-proximo-mudou","title":"Problema: O dispositivo DoubleZero mais pr\u00f3ximo mudou","text":"

Isso n\u00e3o \u00e9 um erro, mas pode ser uma otimiza\u00e7\u00e3o. Abaixo est\u00e1 uma pr\u00e1tica recomendada que pode ser executada de tempos em tempos, ou automatizada.

Solu\u00e7\u00f5es:

  1. Verifique a lat\u00eancia para o dispositivo mais pr\u00f3ximo

    • Execute doublezero latency
  2. Determine se voc\u00ea j\u00e1 est\u00e1 conectado ao dispositivo alvo

    • Execute doublezero user list --env testnet | grep 111.11.11.11 substituindo 111.11.11.11 pelo endere\u00e7o IPv4 p\u00fablico do seu dispositivo conectado ao DoubleZero.
  3. Opcional: examine a rede para dispositivos dispon\u00edveis

    • Execute doublezero device list para uma lista completa de dispositivos.
  4. Determine se o dispositivo alvo tem uma conex\u00e3o dispon\u00edvel

    • Execute doublezero device list | grep dz-ny7-sw01 substituindo dz-ny7-sw01 pelo seu dispositivo alvo.
  5. Conecte-se ao Dispositivo DoubleZero mais pr\u00f3ximo

    Desconecte e reconecte ao DoubleZero: - doublezero disconnect - doublezero status (confirme a desconex\u00e3o) - doublezero connect ibrl

"},{"location":"pt/troubleshooting/#problema-doublezero-status-retorna-alguns-campos-com-na","title":"Problema: doublezero status retorna alguns campos com N/A","text":"

Este problema est\u00e1 geralmente relacionado a uma incompatibilidade entre o daemon e cliente atuais versus o daemon e cliente em que o t\u00fanel DZ conectado foi estabelecido.

Sintomas: - Ao executar doublezero status, o usu\u00e1rio encontra N/A em alguns campos

Solu\u00e7\u00f5es: 1. Execute doublezero status e examine a sa\u00edda.

Se `Current Device` e `Metro` s\u00e3o `N/A`, mas o status do t\u00fanel est\u00e1 `up`, isso indica que seu t\u00fanel aberto est\u00e1 em um ambiente diferente do configurado atualmente.\n
  1. Mude seu ambiente para o oposto do ambiente que retorna N/A:

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Verifique seu status ap\u00f3s mudar os ambientes:

    doublezero status\n

    Com todos os campos preenchidos, voc\u00ea est\u00e1 agora no ambiente correto.

"},{"location":"es/","title":"Bienvenido a DoubleZero","text":"

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 es un protocolo y red descentralizada de alto rendimiento, optimizado para sistemas distribuidos como las blockchains. Los usuarios de DoubleZero disfrutan de un servicio integrado para la transmisi\u00f3n y preprocesamiento altamente optimizados de datos de sistemas distribuidos.

"},{"location":"es/#para-quien-es-doublezero","title":"\u00bfPara qui\u00e9n es DoubleZero?","text":""},{"location":"es/#contribuidores","title":"Contribuidores","text":"

Los contribuidores de DoubleZero disponen de capacidad de red en forma de enlaces de fibra privada y hardware subutilizados (por ejemplo, switches y dispositivos FPGA). Configurar estos recursos para extender la red DoubleZero crea un servicio de informaci\u00f3n integrado. Usando el protocolo DZ, los contribuidores de red unen esta capacidad en una malla global din\u00e1mica y expansiva, y reciben incentivos en tokens por su contribuci\u00f3n.

"},{"location":"es/#usuarios","title":"Usuarios","text":"

Los usuarios de DoubleZero participan en sistemas distribuidos, como blockchains, que requieren conectividad de red de alto rendimiento. Al interconectar un sistema blockchain con DoubleZero, los usuarios obtienen un conjunto de funciones de optimizaci\u00f3n para acelerar su E/S de red.

En su implementaci\u00f3n inicial, la red DoubleZero es compatible con clientes validadores de blockchain, as\u00ed como con proveedores de infraestructura RPC y MEV. Estos sistemas de usuario pasan por un control de admisi\u00f3n que verifica sus direcciones de clave p\u00fablica \u00fanicas en sus respectivos ledgers antes de permitirles el acceso a la red. A medida que la red evolucione para incluir sistemas de usuario de otros ecosistemas, se a\u00f1adir\u00e1n estrategias adicionales de identificaci\u00f3n y autenticaci\u00f3n adaptadas a cada comunidad de proyecto.

"},{"location":"es/#beneficios","title":"Beneficios","text":"

La \u00fanica alternativa a DoubleZero es la internet p\u00fablica. En comparaci\u00f3n con la internet p\u00fablica, la red DoubleZero ofrece dos mejoras para las blockchains.

Primero, las transacciones entrantes pueden ser filtradas en el borde de forma no discrecional a nivel del hardware del contribuidor de red (es decir, eliminaci\u00f3n de spam y duplicados) antes de enviarse a los usuarios (por ejemplo, nodos blockchain) de la red DoubleZero. Esto permite que las blockchains se beneficien de recursos de filtrado compartidos a nivel del sistema, en lugar de que cada validador individual tenga que aprovisionar recursos suficientes. Como resultado, los validadores pueden reasignar sus recursos hacia actividades que generen ingresos directamente. Esta funci\u00f3n a\u00fan no est\u00e1 disponible.

Segundo, los mensajes salientes se enrutan de forma m\u00e1s directa y se priorizan para mejorar la eficiencia. Esto es posible ya que en DoubleZero la l\u00f3gica de enrutamiento del movimiento global de datos est\u00e1 optimizada para la velocidad, a diferencia de la internet p\u00fablica. As\u00ed, los validadores se benefician de un menor jitter, definido como la cantidad de variaci\u00f3n en la latencia entre dos extremos de un cable de datos. En esencia, los nodos blockchain pueden enviar y recibir bloques m\u00e1s r\u00e1pidamente.

En conjunto, estos beneficios de la red DoubleZero pueden alcanzar niveles de rendimiento que de otro modo ser\u00edan inalcanzables a trav\u00e9s de la internet p\u00fablica.

Para m\u00e1s detalles, consulte el whitepaper del Protocolo DoubleZero.

"},{"location":"es/#proximos-pasos","title":"Pr\u00f3ximos Pasos","text":""},{"location":"es/DZ%20Mainnet-beta%20Connection/","title":"Conexi\u00f3n de Validador a Mainnet-Beta en modo IBRL","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#conectando-a-mainnet-beta-en-modo-ibrl","title":"Conectando a Mainnet-Beta en modo IBRL","text":"

Note

El modo IBRL no requiere reiniciar los clientes de validadores, ya que usa su direcci\u00f3n IP p\u00fablica existente.

Los Validadores Mainnet de Solana completar\u00e1n la conexi\u00f3n a DoubleZero Mainnet-beta, que se detalla en esta p\u00e1gina.

Cada validador Solana tiene su propio keypair de identidad; de \u00e9l se extrae la clave p\u00fablica conocida como el node ID. Esta es la huella digital \u00fanica del validador en la red Solana.

Con el DoubleZeroID y el node ID identificados, demostrar\u00e1 la propiedad de su m\u00e1quina. Esto se hace creando un mensaje que incluye el DoubleZeroID firmado con la clave de identidad del validador. La firma criptogr\u00e1fica resultante sirve como prueba verificable de que controla el validador.

Finalmente, enviar\u00e1 una solicitud de conexi\u00f3n a DoubleZero. Esta solicitud comunica: \"Aqu\u00ed est\u00e1 mi identidad, aqu\u00ed est\u00e1 la prueba de propiedad y aqu\u00ed est\u00e1 c\u00f3mo pretendo conectarme.\" DoubleZero valida esta informaci\u00f3n, acepta la prueba y provisiona acceso a la red para el validador en DoubleZero.

Esta gu\u00eda permite que 1 Validador Primario se registre a s\u00ed mismo, y hasta 3 m\u00e1quinas de respaldo/failover al mismo tiempo.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#requisitos-previos","title":"Requisitos Previos","text":"

Info

El ID del Validador se verificar\u00e1 contra el gossip de Solana para determinar la IP objetivo. La IP objetivo y el ID DoubleZero se utilizar\u00e1n luego para abrir un t\u00fanel GRE entre su m\u00e1quina y el Dispositivo DoubleZero objetivo.

Considere: En el caso en que tenga un ID junk y un ID Primario en la misma IP, solo el ID Primario se usar\u00e1 en el registro de la m\u00e1quina. Esto se debe a que el ID junk no aparecer\u00e1 en el gossip y, por lo tanto, no puede usarse para verificar la IP de la m\u00e1quina objetivo.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero mainnet-beta:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Deber\u00eda ver la siguiente salida: \u2705 doublezerod configured for environment mainnet-beta

Despu\u00e9s de aproximadamente 30 segundos ver\u00e1 los dispositivos DoubleZero disponibles:

doublezero latency\n
"},{"location":"es/DZ%20Mainnet-beta%20Connection/#2-abrir-el-puerto-44880","title":"2. Abrir el puerto 44880","text":"

Los usuarios necesitan abrir el puerto 44880 para utilizar algunas funciones de enrutamiento.

Para abrir el puerto 44880 puede actualizar IP tables de la siguiente manera:

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

note los flags -i doublezero0, -o doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

O UFW de la siguiente manera:

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

note los flags in on doublezero0, out on doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#3-atestar-la-propiedad-del-validador","title":"3. Atestar la Propiedad del Validador","text":"

Con su Entorno DoubleZero configurado, es hora de atestar la Propiedad de su Validador.

El ID DoubleZero que cre\u00f3 en la configuraci\u00f3n de su validador primario debe usarse en todas las m\u00e1quinas de respaldo.

El ID en su m\u00e1quina primaria se puede encontrar con doublezero address. El mismo ID debe estar en ~/.config/doublezero/id.json en todas las m\u00e1quinas del cl\u00faster.

Para lograr esto, primero verificar\u00e1 que la m\u00e1quina desde la que ejecuta los comandos sea su Validador Primario con:

doublezero-solana passport find-validator -u mainnet-beta\n

Esto verifica que el validador est\u00e9 registrado en el gossip y aparezca en el cronograma de l\u00edderes.

Salida esperada:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

El mismo flujo de trabajo se usa para una o muchas m\u00e1quinas. Para registrar una m\u00e1quina, excluya los argumentos \"--backup-validator-ids\" o \"backup_ids=\" de cualquier comando en esta p\u00e1gina.

Ahora, en todas las m\u00e1quinas de respaldo en las que planea ejecutar su Validador Primario, ejecute lo siguiente:

doublezero-solana passport find-validator -u mainnet-beta\n

Esta salida es esperada. El nodo de respaldo no puede estar en el cronograma de l\u00edderes en el momento de la creaci\u00f3n del pase.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#preparar-la-conexion","title":"Preparar la Conexi\u00f3n","text":"

Ejecute el siguiente comando en la m\u00e1quina del Validador Primario. Esta es la m\u00e1quina en la que tiene stake activo, que est\u00e1 en el cronograma de l\u00edderes con su ID de validador primario en el gossip de Solana en la m\u00e1quina desde la que ejecuta el comando:

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

Note la salida al final de este comando. Es la estructura para el siguiente paso.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#4-generar-firma","title":"4. Generar Firma","text":"

Al final del \u00faltimo paso, recibimos una salida preformateada para solana sign-offchain-message.

Desde la salida anterior ejecutaremos este comando en la m\u00e1quina del Validador Primario.

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

Salida:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"es/DZ%20Mainnet-beta%20Connection/#5-iniciar-una-solicitud-de-conexion-en-doublezero","title":"5. Iniciar una Solicitud de Conexi\u00f3n en DoubleZero","text":"

Use el comando request-validator-access para crear una cuenta en Solana para la solicitud de conexi\u00f3n. El agente Sentinel de DoubleZero detecta la nueva cuenta, valida su identidad y firma, y crea el pase de acceso en DoubleZero para que el servidor pueda establecer una conexi\u00f3n.

Use el node ID, el DoubleZeroID y la firma.

Note

En este ejemplo usamos -k /home/user/.config/solana/id.json para encontrar la Identidad del validador. Use la ubicaci\u00f3n apropiada para su despliegue local.

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

Salida:

Esta salida puede usarse para ver la transacci\u00f3n en un explorador Solana. Aseg\u00farese de cambiar el explorador a mainnet. Esta verificaci\u00f3n es opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Si tiene \u00e9xito, DoubleZero registrar\u00e1 el primario con sus respaldos. Ahora puede hacer failover entre las IPs registradas en el pase de acceso. DoubleZero mantendr\u00e1 la conectividad autom\u00e1ticamente al cambiar a nodos de respaldo registrados de esta manera.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#6-conectarse-en-modo-ibrl","title":"6. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel GRE termine de configurarse. Hasta que el t\u00fanel GRE est\u00e9 configurado, su salida de estado puede devolver \"down\" o \"Unknown\".

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Note

Examine esta salida. Note que Tunnel src y DoubleZero IP coinciden con la direcci\u00f3n IPv4 p\u00fablica de su m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
"},{"location":"es/DZ%20Mainnet-beta%20Connection/#siguiente-paso-publicar-shreds-mediante-multicast","title":"Siguiente Paso: Publicar Shreds mediante Multicast","text":"

Si ha completado esta configuraci\u00f3n y planea publicar shreds mediante multicast, contin\u00fae a la siguiente p\u00e1gina.

"},{"location":"es/DZ%20Testnet%20Connection/","title":"Conexi\u00f3n de Validador a Testnet en modo IBRL","text":"

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.

Al conectarme a DoubleZero testnet acepto los t\u00e9rminos del Acuerdo de Evaluaci\u00f3n establecido aqu\u00ed (haga clic para expandir)

DoubleZero Testnet Acuerdo de Evaluaci\u00f3n

Al acceder o usar la Soluci\u00f3n (definida a continuaci\u00f3n), usted acepta a partir de la primera fecha de dicho acceso (la \"Fecha de Vigencia\") que este Acuerdo de Evaluaci\u00f3n (el \"Acuerdo\") establece los t\u00e9rminos y condiciones bajo los cuales la Fundaci\u00f3n DoubleZero (\"DZF\") le proporcionar\u00e1 acceso a la Soluci\u00f3n en base de evaluaci\u00f3n. En consideraci\u00f3n de las promesas mutuas aqu\u00ed contenidas, usted acepta lo siguiente:

1. DEFINICIONES.

1.1 \"Informaci\u00f3n Confidencial\" significa cualquier y toda la informaci\u00f3n divulgada por cualquiera de las partes a la otra que est\u00e9 designada como confidencial, o que de otra manera deba entenderse como confidencial, incluyendo pero no limitado a, la Soluci\u00f3n, planes de productos, planes de negocios, secretos comerciales, tecnolog\u00eda, u otra informaci\u00f3n propietaria.

1.2 \"Soluci\u00f3n\" significa la versi\u00f3n testnet de la infraestructura de red de alto rendimiento de DoubleZero para proyectos web3 (\"Testnet\") y el servicio de filtrado de borde integrado con ancho de banda (\"Servicio de Informaci\u00f3n\") el Software DZ (definido a continuaci\u00f3n), todos y cada uno de los materiales proporcionados por DZF en relaci\u00f3n con el Software DZ (\"Documentaci\u00f3n\"), y otros materiales que DZF proporciona al Usuario en virtud del presente.

2. ACCESO.

2.1 Acceso a la Soluci\u00f3n. Sujeto a los t\u00e9rminos y condiciones de este Acuerdo, DZF proporcionar\u00e1 al Usuario acceso a la Soluci\u00f3n a trav\u00e9s de Internet. El acceso del Usuario es un uso no exclusivo, no transferible y limitado de la Soluci\u00f3n para permitir al Usuario evaluar el Servicio de Informaci\u00f3n \u00fanicamente. Con respecto a cualquier software que comprenda la Soluci\u00f3n (\"Software DZ\"), DZF otorga al Usuario una licencia limitada y revocable, durante el Per\u00edodo de Evaluaci\u00f3n, para copiar, descargar, hacer un n\u00famero razonable de copias, ejecutar y desplegar (seg\u00fan corresponda) dicho Software DZ \u00fanicamente seg\u00fan lo contemplado en la Documentaci\u00f3n.

2.2 Restricciones. El Usuario puede usar la Soluci\u00f3n de acuerdo con este Acuerdo desde la Fecha de Vigencia hasta que DZF lo termine (el \"Per\u00edodo de Evaluaci\u00f3n\"). El Usuario entiende que cualquier derecho a usar la Soluci\u00f3n m\u00e1s all\u00e1 del Per\u00edodo de Evaluaci\u00f3n estar\u00e1 sujeto a un acuerdo comercial separado entre las partes al respecto, incluyendo el pago de tarifas. El Usuario no deber\u00e1, y no permitir\u00e1 que ning\u00fan tercero: (i) modifique o cree obras derivadas basadas en la Soluci\u00f3n o cualquier parte de ella; (ii) reproduzca la Soluci\u00f3n excepto seg\u00fan lo permitido expresamente por este Acuerdo; (iii) sublicencie, distribuya, venda, preste, arriende, transfiera o conceda cualquier derecho sobre toda o cualquier parte de la Soluci\u00f3n o proporcione acceso a la Soluci\u00f3n a terceros, ya sea mediante servicios o de otra manera, excepto como oferta de los Servicios de Informaci\u00f3n a trav\u00e9s de o en conexi\u00f3n con la plataforma o producto del Usuario y no de forma independiente; o (iv) use la Soluci\u00f3n de otra forma que no sea la prevista en el presente.

2.3 Propiedad. DZF conserva todos los derechos, t\u00edtulos e intereses, incluidos los derechos de propiedad intelectual, sobre la Soluci\u00f3n.

3 COMENTARIOS. DZF puede solicitar peri\u00f3dicamente que el Usuario proporcione, y el Usuario acepta proporcionar a DZF, comentarios sobre el uso, operaci\u00f3n y funcionalidad de la Soluci\u00f3n (\"Comentarios\"). El Usuario otorga a DZF un derecho y licencia no exclusivos, mundiales, perpetuos, irrevocables, libres de regal\u00edas, totalmente pagados, completamente sublicenciables y transferibles para usar e incorporar los Comentarios en cualquier producto y servicio, para fabricar, usar, vender, ofrecer en venta, importar y explotar de otra manera dichos productos y servicios, y para usar, copiar, distribuir y explotar de otra manera los Comentarios sin restricci\u00f3n.

4. PLAZO Y RESCISI\u00d3N.

4.1 Plazo. Este Acuerdo comenzar\u00e1 a partir de la Fecha de Vigencia y permanecer\u00e1 en pleno vigor y efecto durante el Per\u00edodo de Evaluaci\u00f3n. Cualquiera de las partes puede rescindir este Acuerdo de inmediato por conveniencia, por cualquier raz\u00f3n o sin raz\u00f3n alguna, mediante notificaci\u00f3n escrita a la otra parte (el correo electr\u00f3nico ser\u00e1 suficiente).

4.1 Efectos de la Rescisi\u00f3n. Al momento de la rescisi\u00f3n de este Acuerdo por cualquier raz\u00f3n: (i) los derechos otorgados al Usuario en el presente terminar\u00e1n de inmediato; (ii) el Usuario deber\u00e1 cesar de inmediato cualquier uso de la Soluci\u00f3n y deber\u00e1 devolver o destruir toda la Documentaci\u00f3n y cualquier Software DZ bajo su control; (iii) cada parte devolver\u00e1 o destruir\u00e1 de inmediato toda la Informaci\u00f3n Confidencial y propiedad de la otra parte; y (iv) las Secciones 2.2, 2.3, 3, 4.2 y 5 a 8 sobrevivir\u00e1n.

5. CONFIDENCIALIDAD. Cada parte acepta que usar\u00e1 la Informaci\u00f3n Confidencial de la otra parte \u00fanicamente para cumplir con sus obligaciones y ejercer sus derechos bajo este Acuerdo y no divulgar\u00e1, ni permitir\u00e1 que se divulgue, la misma, excepto seg\u00fan se permita de otra manera en el presente. Sin embargo, cualquiera de las partes puede divulgar Informaci\u00f3n Confidencial a su personal, abogados y otros representantes que tengan necesidad de conocerla y est\u00e9n sujetos a obligaciones de confidencialidad no menos protectoras que las establecidas en este Acuerdo; y seg\u00fan lo requiera la ley (en cuyo caso la parte receptora proporcionar\u00e1 a la parte divulgadora notificaci\u00f3n previa al respecto y oportunidad de impugnar dicha divulgaci\u00f3n, y minimizar\u00e1 dicha divulgaci\u00f3n en la medida permitida por la ley aplicable). Las obligaciones de confidencialidad en esta Secci\u00f3n 5 no se aplicar\u00e1n a la informaci\u00f3n que: (a) sea o se vuelva generalmente conocida o est\u00e9 disponible p\u00fablicamente sin culpa de la parte receptora; (b) era conocida apropiadamente por la parte receptora, sin restricci\u00f3n, antes de la divulgaci\u00f3n por la parte divulgadora; (c) fue apropiadamente divulgada a la parte receptora, sin restricci\u00f3n, por otra persona con la autoridad legal para hacerlo; o (d) es desarrollada de forma independiente por la parte receptora sin uso de ni referencia a la Informaci\u00f3n Confidencial de la parte divulgadora.

6. DESCARGO DE GARANT\u00cdAS; LIMITACI\u00d3N DE RESPONSABILIDAD.

6.1 DESCARGO DE GARANT\u00cdAS. LA SOLUCI\u00d3N SE PROPORCIONA \"TAL CUAL\" SIN GARANT\u00cdA DE NING\u00daN TIPO. DZF NO OFRECE GARANT\u00cdAS, YA SEAN EXPRESAS, IMPL\u00cdCITAS, ESTATUTARIAS O DE OTRO TIPO CON RESPECTO A LA SOLUCI\u00d3N Y LA DOCUMENTACI\u00d3N, INCLUYENDO SU CONDICI\u00d3N, CONFORMIDAD CON CUALQUIER REPRESENTACI\u00d3N O DESCRIPCI\u00d3N, Y DZF RECHAZA ESPEC\u00cdFICAMENTE TODAS LAS GARANT\u00cdAS IMPL\u00cdCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROP\u00d3SITO PARTICULAR, T\u00cdTULO Y NO INFRACCI\u00d3N.

6.2 LIMITACI\u00d3N DE RESPONSABILIDAD. EXCEPTO POR UNA VIOLACI\u00d3N DE LAS SECCIONES 2.1, 2.2 Y 5, EN NING\u00daN CASO NINGUNA DE LAS PARTES SER\u00c1 RESPONSABLE ANTE LA OTRA POR DA\u00d1OS INDIRECTOS, INCIDENTALES, ESPECIALES U OTROS DA\u00d1OS CONSECUENTES, INCLUYENDO SIN LIMITACI\u00d3N DA\u00d1OS POR P\u00c9RDIDA DE GANANCIAS O USO O P\u00c9RDIDA DE DATOS, INCURRIDOS POR USTED O CUALQUIER TERCERO, QUE SURJAN DE O EST\u00c9N RELACIONADOS CON ESTE ACUERDO, YA SEA EN UNA ACCI\u00d3N CONTRACTUAL, POR AGRAVIO O DE OTRO MODO, INCLUSO SI LA OTRA PARTE HA SIDO ADVERTIDA DE LA POSIBILIDAD DE DICHOS DA\u00d1OS. EN NING\u00daN CASO LA RESPONSABILIDAD AGREGADA DE DZF QUE SURJA DE O EST\u00c9 RELACIONADA CON ESTE ACUERDO EXCEDER\u00c1 CIEN D\u00d3LARES ($100), YA SEA EN UNA ACCI\u00d3N CONTRACTUAL, POR AGRAVIO O DE OTRO MODO.

7. LEY APLICABLE. Este Acuerdo y todos los asuntos que surjan de o est\u00e9n relacionados con este Acuerdo se regir\u00e1n, interpretar\u00e1n y construir\u00e1n de acuerdo con las leyes de las Islas Caim\u00e1n.

8. DISPOSICIONES GENERALES. Este Acuerdo no puede ser transferido o cedido por el Usuario sin el consentimiento previo por escrito de DZF. DZF puede ceder libremente este Acuerdo. Todos los avisos que deban enviarse en virtud del presente se enviar\u00e1n por correo electr\u00f3nico (a DZF: legal@doublezero.xyz) y se considerar\u00e1n recibidos el d\u00eda siguiente al env\u00edo (con confirmaci\u00f3n de transmisi\u00f3n).

"},{"location":"es/DZ%20Testnet%20Connection/#conexion-a-testnet-en-modo-ibrl","title":"Conexi\u00f3n a Testnet en modo IBRL","text":"

Note

El modo IBRL no requiere reiniciar los clientes de validadores, ya que usa su direcci\u00f3n IP p\u00fablica existente.

Los Validadores de Testnet de Solana completar\u00e1n la conexi\u00f3n a DoubleZero Testnet, que se detalla en esta p\u00e1gina.

Cada validador Solana tiene su propio keypair de identidad; de \u00e9l se extrae la clave p\u00fablica conocida como el node ID. Esta es la huella digital \u00fanica del validador en la red Solana.

Con el DoubleZeroID y el node ID identificados, demostrar\u00e1 la propiedad de su m\u00e1quina. Esto se hace creando un mensaje que incluye el DoubleZeroID firmado con la clave de identidad del validador. La firma criptogr\u00e1fica resultante sirve como prueba verificable de que controla el validador.

Finalmente, enviar\u00e1 una solicitud de conexi\u00f3n a DoubleZero. Esta solicitud comunica: \"Aqu\u00ed est\u00e1 mi identidad, aqu\u00ed est\u00e1 la prueba de propiedad y aqu\u00ed est\u00e1 c\u00f3mo pretendo conectarme.\" DoubleZero valida esta informaci\u00f3n, acepta la prueba y provisiona acceso a la red para el validador en DoubleZero.

Esta gu\u00eda permite que 1 Validador Primario se registre a s\u00ed mismo, y hasta 3 m\u00e1quinas de respaldo/failover al mismo tiempo.

"},{"location":"es/DZ%20Testnet%20Connection/#requisitos-previos","title":"Requisitos Previos","text":"

Info

El ID del Validador se verificar\u00e1 contra el gossip de Solana para determinar la IP objetivo. La IP objetivo y el ID DoubleZero se utilizar\u00e1n luego para abrir un t\u00fanel GRE entre su m\u00e1quina y el Dispositivo DoubleZero objetivo.

Considere: En el caso en que tenga un ID junk y un ID Primario en la misma IP, solo el ID Primario se usar\u00e1 en el registro de la m\u00e1quina. Esto se debe a que el ID junk no aparecer\u00e1 en el gossip y, por lo tanto, no puede usarse para verificar la IP de la m\u00e1quina objetivo.

"},{"location":"es/DZ%20Testnet%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Deber\u00eda ver la siguiente salida:
\u2705 doublezerod configured for environment testnet\n

Despu\u00e9s de aproximadamente 30 segundos ver\u00e1 los dispositivos DoubleZero disponibles:

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

La salida de mainnet tendr\u00e1 la misma estructura, pero con muchos m\u00e1s dispositivos disponibles.

"},{"location":"es/DZ%20Testnet%20Connection/#2-abrir-el-puerto-44880","title":"2. Abrir el puerto 44880","text":"

Los usuarios necesitan abrir el puerto 44880 para utilizar algunas funciones de enrutamiento.

Para abrir el puerto 44880 puede actualizar IP tables de la siguiente manera:

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

note los flags -i doublezero0, -o doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

O UFW de la siguiente manera:

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

note los flags in on doublezero0, out on doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

"},{"location":"es/DZ%20Testnet%20Connection/#3-atestar-la-propiedad-del-validador","title":"3. Atestar la Propiedad del Validador","text":"

Con su Entorno DoubleZero configurado, es hora de atestar la Propiedad de su Validador.

El ID DoubleZero que cre\u00f3 en la configuraci\u00f3n de su validador primario debe usarse en todas las m\u00e1quinas de respaldo.

El ID en su m\u00e1quina primaria se puede encontrar con doublezero address. El mismo ID debe estar en ~/.config/doublezero/id.json en todas las m\u00e1quinas del cl\u00faster.

Para lograr esto, primero verificar\u00e1 que la m\u00e1quina desde la que ejecuta los comandos sea su Validador Primario con:

doublezero-solana passport find-validator -ut\n

Esto verifica que el validador est\u00e9 registrado en el gossip y aparezca en el cronograma de l\u00edderes.

Salida esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

El mismo flujo de trabajo se usa para una o muchas m\u00e1quinas. Para registrar una m\u00e1quina, excluya los argumentos \"--backup-validator-ids\" o \"backup_ids=\" de cualquier comando en esta p\u00e1gina.

Ahora, en todas las m\u00e1quinas de respaldo en las que planea ejecutar su Validador Primario, ejecute lo siguiente:

doublezero-solana passport find-validator -ut\n

Salida esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Esta salida es esperada. El nodo de respaldo no puede estar en el cronograma de l\u00edderes en el momento de la creaci\u00f3n del pase.

Ahora ejecutar\u00e1 este comando en todas las m\u00e1quinas de respaldo que planea usar con la cuenta de votaci\u00f3n e identidad de su Validador Primario.

"},{"location":"es/DZ%20Testnet%20Connection/#preparar-la-conexion","title":"Preparar la Conexi\u00f3n","text":"

Ejecute el siguiente comando en la m\u00e1quina del Validador Primario. Esta es la m\u00e1quina en la que tiene stake activo, que est\u00e1 en el cronograma de l\u00edderes con su ID de validador primario en el gossip de Solana en la m\u00e1quina desde la que ejecuta el comando:

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

Ejemplo de salida:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Note la salida al final de este comando. Es la estructura para el siguiente paso.

"},{"location":"es/DZ%20Testnet%20Connection/#4-generar-firma","title":"4. Generar Firma","text":"

Al final del \u00faltimo paso, recibimos una salida preformateada para solana sign-offchain-message.

Desde la salida anterior ejecutaremos este comando en la m\u00e1quina del Validador Primario.

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

Salida:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"es/DZ%20Testnet%20Connection/#5-iniciar-una-solicitud-de-conexion-en-doublezero","title":"5. Iniciar una Solicitud de Conexi\u00f3n en DoubleZero","text":"

Use el comando request-validator-access para crear una cuenta en Solana para la solicitud de conexi\u00f3n. El agente Sentinel de DoubleZero detecta la nueva cuenta, valida su identidad y firma, y crea el pase de acceso en DoubleZero para que el servidor pueda establecer una conexi\u00f3n.

Use el node ID, el DoubleZeroID y la firma.

Note

En este ejemplo usamos -k /home/user/.config/solana/id.json para encontrar la Identidad del validador. Use la ubicaci\u00f3n apropiada para su despliegue local.

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

Salida:

Esta salida puede usarse para ver la transacci\u00f3n en un explorador Solana. Aseg\u00farese de cambiar el explorador a testnet. Esta verificaci\u00f3n es opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Si tiene \u00e9xito, DoubleZero registrar\u00e1 el primario con sus respaldos. Ahora puede hacer failover entre las IPs registradas en el pase de acceso. DoubleZero mantendr\u00e1 la conectividad autom\u00e1ticamente al cambiar a nodos de respaldo registrados de esta manera.

"},{"location":"es/DZ%20Testnet%20Connection/#6-conectarse-en-modo-ibrl","title":"6. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel GRE termine de configurarse. Hasta que el t\u00fanel GRE est\u00e9 configurado, su salida de estado puede devolver \"down\" o \"Unknown\".

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Note

Examine esta salida. Note que Tunnel src y DoubleZero IP coinciden con la direcci\u00f3n IPv4 p\u00fablica de su m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"es/DZ%20Testnet%20Connection/#siguiente-paso-publicar-shreds-mediante-multicast","title":"Siguiente Paso: Publicar Shreds mediante Multicast","text":"

Si ha completado esta configuraci\u00f3n y planea publicar shreds mediante multicast, contin\u00fae a la siguiente p\u00e1gina.

"},{"location":"es/New%20Tenant/","title":"Nuevo Inquilino","text":"

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.

Si desea que su sistema distribuido aproveche la red DoubleZero, con gusto le ayudaremos con cualquier pregunta t\u00e9cnica que tenga.

Formulario de Contacto

"},{"location":"es/Other%20Multicast%20Connection/","title":"Otras Conexiones Multicast","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

Caso de Uso Primer Paso Cuando se apruebe, con\u00e9ctese mediante: Suscribirse a Jito Shredstream Contacte a Jito para obtener aprobaci\u00f3n. doublezero connect multicast --subscribe jito-shredstream

Informaci\u00f3n de conexi\u00f3n detallada:

"},{"location":"es/Other%20Multicast%20Connection/#1-instalacion-del-cliente-doublezero","title":"1. Instalaci\u00f3n del Cliente DoubleZero","text":"

Siga las instrucciones de configuraci\u00f3n para instalar y configurar el cliente DoubleZero.

"},{"location":"es/Other%20Multicast%20Connection/#2-instrucciones-de-conexion","title":"2. Instrucciones de Conexi\u00f3n","text":"

Con\u00e9ctese a DoubleZero en modo Multicast

Como publicador:

doublezero connect multicast --publish <nombre del feed>

o como suscriptor:

doublezero connect multicast --subscribe <nombre del feed>

o para publicar y suscribirse:

doublezero connect multicast --publish <nombre del feed> --subscribe <nombre del feed>

Para publicar o suscribirse a m\u00faltiples feeds puede incluir m\u00faltiples nombres de feed separados por espacios. Esto tambi\u00e9n se puede usar para publicar y suscribirse a feeds de publicaci\u00f3n. Por ejemplo: doublezero connect multicast --subscribe feed1 feed2 feed3

Deber\u00eda ver una salida similar a la siguiente:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"es/Other%20Multicast%20Connection/#3-verifique-su-conexion-multicast-activa","title":"3. Verifique su conexi\u00f3n multicast activa.","text":"

Espere 60 segundos y luego ejecute:

doublezero status\n
Resultado esperado: - Sesi\u00f3n BGP activa en la red DoubleZero correcta - Si es publicador, su IP DoubleZero ser\u00e1 diferente a su IP Tunnel Src. Esto es esperado. - Si solo es suscriptor, su IP DoubleZero ser\u00e1 igual a su IP Tunnel Src.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verifique los grupos a los que est\u00e1 conectado:

doublezero user list --client-ip <su ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"es/Permissioned%20Connection/","title":"Conexi\u00f3n con Permisos a DoubleZero en modo IBRL para no validadores","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/Permissioned%20Connection/#descripcion-general-del-proceso-de-incorporacion-con-permisos","title":"Descripci\u00f3n General del Proceso de Incorporaci\u00f3n con Permisos","text":"

La incorporaci\u00f3n de usuarios est\u00e1 actualmente sujeta a permisos para no validadores y RPCs. Para iniciar el proceso con permisos, complete este formulario. Esto es lo que puede esperar durante este proceso:

"},{"location":"es/Permissioned%20Connection/#conexion-a-mainnet-beta-y-testnet-en-modo-ibrl","title":"Conexi\u00f3n a Mainnet-Beta y Testnet en modo IBRL","text":"

Note

El modo IBRL no requiere reiniciar los clientes de validadores, ya que usa su direcci\u00f3n IP p\u00fablica existente.

Los Usuarios con Permisos completar\u00e1n la conexi\u00f3n a DoubleZero Mainnet-beta, que se detalla en esta p\u00e1gina.

"},{"location":"es/Permissioned%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero mainnet-beta:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Deber\u00eda ver la siguiente salida:

\u2705 doublezerod configured for environment mainnet-beta\n

Despu\u00e9s de aproximadamente 30 segundos ver\u00e1 los dispositivos DoubleZero disponibles:

doublezero latency\n
"},{"location":"es/Permissioned%20Connection/#2-contactar-a-la-fundacion-doublezero","title":"2. Contactar a la Fundaci\u00f3n DoubleZero","text":"

La Fundaci\u00f3n DoubleZero. Deber\u00e1 proporcionar su DoubleZeroID, su ID de Validador (node ID) y la direcci\u00f3n IPv4 p\u00fablica desde la que se conectar\u00e1.

"},{"location":"es/Permissioned%20Connection/#3-conectarse-en-modo-ibrl","title":"3. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel se complete. Hasta que el t\u00fanel est\u00e9 completado, su salida de estado puede devolver \"down\" o \"Unknown\"

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
Salida:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"es/Permissioned%20Connection/#siguiente-paso-multicast","title":"Siguiente Paso: Multicast","text":"

Si ha completado esta configuraci\u00f3n y planea usar Multicast, contin\u00fae a la siguiente p\u00e1gina.

"},{"location":"es/Shelby%20Permissioned%20Connection/","title":"Conexi\u00f3n a DoubleZero en modo IBRL para usuarios de Shelby Testnet","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/Shelby%20Permissioned%20Connection/#obtenga-su-doublezeroid","title":"Obtenga su DoubleZeroID","text":"

Deber\u00e1 proporcionar su DoubleZeroID y la direcci\u00f3n IPv4 p\u00fablica en este formulario

"},{"location":"es/Shelby%20Permissioned%20Connection/#conexion-a-testnet-en-modo-ibrl","title":"Conexi\u00f3n a Testnet en modo IBRL","text":"

Los usuarios con permisos de Shelby completar\u00e1n la conexi\u00f3n a DoubleZero Testnet, que se detalla en esta p\u00e1gina.

"},{"location":"es/Shelby%20Permissioned%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) para conectarse al inquilino Shelby en DoubleZero:

doublezero config set --tenant shelby\n

Aplique reglas de firewall adicionales espec\u00edficas de Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"es/Shelby%20Permissioned%20Connection/#2-contactar-a-la-fundacion-doublezero","title":"2. Contactar a la Fundaci\u00f3n DoubleZero","text":"

La Fundaci\u00f3n DoubleZero. Deber\u00e1 proporcionar su DoubleZeroID y la direcci\u00f3n IPv4 p\u00fablica desde la que se conectar\u00e1.

"},{"location":"es/Shelby%20Permissioned%20Connection/#3-conectarse-en-modo-ibrl","title":"3. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel se complete. Hasta que el t\u00fanel est\u00e9 completado, su salida de estado puede devolver \"down\" o \"Unknown\"

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
Salida:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"es/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Revise el Descargo de Responsabilidad antes de acceder o usar el c\u00f3digo o cualquier material relacionado.

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.

Descargo de Responsabilidad

Este documento y el c\u00f3digo asociado se proporcionan \u00fanicamente con fines informativos y t\u00e9cnicos. La funcionalidad de conversi\u00f3n de tokens descrita aqu\u00ed es sin custodia: los usuarios interact\u00faan directamente con los contratos inteligentes subyacentes y retienen el control total de sus activos en todo momento.

El sistema puede depender de o interactuar con c\u00f3digo, fuentes de datos o mecanismos de precios y tarifas de terceros (por ejemplo, contratos inteligentes, APIs o exchanges descentralizados) que no son desarrollados, controlados ni revisados por los desarrolladores o publicadores. No se hace ninguna declaraci\u00f3n o garant\u00eda sobre la precisi\u00f3n, funcionalidad o seguridad de ning\u00fan componente de terceros. Los desarrolladores y publicadores de este c\u00f3digo no garantizan su exactitud, integridad o disponibilidad continua. El c\u00f3digo y los materiales relacionados se proporcionan \"tal cual\" y pueden contener errores, bugs o vulnerabilidades. El uso es completamente bajo su propio riesgo. Los desarrolladores y publicadores no reciben ninguna tarifa en conexi\u00f3n con el uso de estos contratos. No tienen ninguna obligaci\u00f3n de mantener, actualizar o apoyar el c\u00f3digo o la documentaci\u00f3n relacionada.

Este documento no constituye una oferta de venta, una solicitud de compra ni una recomendaci\u00f3n para participar en ninguna conversi\u00f3n de tokens, swap u otra transacci\u00f3n. No se proporciona asesoramiento legal, financiero ni de inversi\u00f3n. Los usuarios son los \u00fanicos responsables de determinar la legalidad de sus actividades. Deben revisar las leyes y regulaciones aplicables en su jurisdicci\u00f3n y consultar asesores independientes antes de usar el c\u00f3digo o participar en cualquier conversi\u00f3n. El uso est\u00e1 prohibido donde sea ilegal, incluso por personas o entidades sujetas a sanciones o en jurisdicciones restringidas.

En la medida m\u00e1xima permitida por la ley, los desarrolladores y publicadores rechazan toda responsabilidad por cualquier p\u00e9rdida, da\u00f1o o reclamaci\u00f3n que surja de o en relaci\u00f3n con el uso del c\u00f3digo o la participaci\u00f3n en la conversi\u00f3n.

La revisi\u00f3n y el uso de este documento y el c\u00f3digo asociado est\u00e1n sujetos a los T\u00e9rminos y Condiciones del Sitio Web y los T\u00e9rminos y Condiciones del Protocolo.

El protocolo DoubleZero recauda ingresos denominados en SOL de sus validadores usuarios, pero distribuye recompensas denominadas en 2Z a los contribuidores. Por lo tanto, debe convertir SOL en 2Z.

Para hacerlo, los participantes elegibles pueden operar contra un contrato de swap de DoubleZero, comprando SOL del contrato y vendi\u00e9ndolo a 2Z. Los precios se basan en feeds de precios de Pyth con un mecanismo de descuento program\u00e1tico.

Esta breve gu\u00eda explica c\u00f3mo usar el programa.

Revise el Descargo de Responsabilidad al final de este documento antes de acceder o usar el c\u00f3digo o cualquier material relacionado.

"},{"location":"es/Swapping-sol-to-2z/#diseno-del-programa","title":"Dise\u00f1o del Programa","text":"

El programa de swap es efectivamente un pool de liquidez unilateral que vende SOL en un tama\u00f1o de lote fijo de 1 SOL por operaci\u00f3n. Cualquier participante elegible puede retirar SOL del programa depositando 2Z, a un precio determinado por un precio de or\u00e1culo de Pyth y un descuento din\u00e1mico. Con el tiempo, esto ejecuta el objetivo del programa de convertir tokens nativos en 2Z.

Para utilizarlo, un trader debe proporcionar dos precios recientes de Pyth (SOL/USD y 2Z/USD) y una cantidad de 2Z. Luego el programa calcula el 2Z necesario para comprar ese 1 SOL bas\u00e1ndose en el precio impl\u00edcito SOL/2Z. Luego realiza algunos pasos adicionales:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

En este punto, si el trader ha proporcionado suficiente 2Z para ejecutar la transacci\u00f3n a este precio calculado (incluyendo el descuento), se ejecuta a este precio calculado. Devuelve al trader la cantidad de SOL comprada y cualquier 2Z excedente.

Luego el contrato no permite m\u00e1s operaciones para ese slot. Esto es para evitar que el contrato pague un slippage excesivamente alto si el precio de Pyth est\u00e1 muy lejos del precio real en un momento dado de maneras que los filtros existentes no detectan.

"},{"location":"es/Swapping-sol-to-2z/#ejecucion-atomica-sin-gas","title":"Ejecuci\u00f3n At\u00f3mica Sin Gas","text":"

Esta secci\u00f3n detallar\u00e1 c\u00f3mo usar el comando harvest-dz. Este comando realizar\u00e1 at\u00f3micamente 2 acciones. 1. El comando solicita una cotizaci\u00f3n de Jupiter frente al programa de conversi\u00f3n nativo SOL <> 2Z. 2. Cuando la ruta de Jupiter produce m\u00e1s 2Z por SOL de lo que requiere el programa de conversi\u00f3n nativo, harvest-2z ejecuta un swap, devolviendo a su billetera 1 SOL m\u00e1s la diferencia en 2Z.

"},{"location":"es/Swapping-sol-to-2z/#cosechar-2z","title":"Cosechar 2Z","text":"

Para ejecutar, ejecute lo siguiente:

doublezero-solana revenue-distribution harvest-2z\n
La salida se parecer\u00e1 a:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
El comando tambi\u00e9n puede simularse con el argumento --dry-run. La ejecuci\u00f3n en seco producir\u00e1 logs del programa y una salida que se asemejar\u00e1 a:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"es/Swapping-sol-to-2z/#conversion-de-protocolo","title":"Conversi\u00f3n de Protocolo","text":"

Esta secci\u00f3n analiza la verificaci\u00f3n de las tasas de conversi\u00f3n y la ejecuci\u00f3n de la conversi\u00f3n usando el CLI doublezero-solana. Y al final, analizamos la interfaz para integraciones personalizadas con el contrato de swap de DoubleZero.

"},{"location":"es/Swapping-sol-to-2z/#como-verificar-el-precio-de-conversion-sol2z-a-traves-de-doublezero-solana","title":"C\u00f3mo verificar el precio de conversi\u00f3n SOL/2Z a trav\u00e9s de doublezero-solana","text":"

Para encontrar las tasas de conversi\u00f3n SOL/2Z en mainnet-beta, ejecute el siguiente comando:

doublezero-solana revenue-distribution fetch sol-conversion\n

Y la salida que ver\u00eda se parecer\u00e1 a:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

El Saldo del Diario informa al usuario cu\u00e1nta liquidez SOL hay en el contrato inteligente de Distribuci\u00f3n de Ingresos. Un usuario puede operar siempre que el Saldo del Diario supere el tama\u00f1o de operaci\u00f3n fijo de 1 SOL.

La primera fila muestra el precio de conversi\u00f3n SOL/2Z \"verdadero\" a trav\u00e9s de un or\u00e1culo offchain. La segunda fila es el precio de conversi\u00f3n utilizado en cadena para el swap, que simplemente ajusta el precio verdadero por el descuento algor\u00edtmico.

"},{"location":"es/Swapping-sol-to-2z/#como-convertir-su-2z-a-sol-a-traves-de-doublezero-solana","title":"C\u00f3mo convertir su 2Z a SOL a trav\u00e9s de doublezero-solana","text":"

Para convertir sus tokens 2Z a SOL, ejecute el siguiente comando:

doublezero-solana revenue-distribution convert-2z\n

Por defecto, si hay suficiente liquidez de SOL y su ATA tiene suficiente 2Z para realizar el swap, esta transacci\u00f3n tendr\u00e1 \u00e9xito. Puede ajustar m\u00e1s finamente el swap especificando los siguientes argumentos:

      --limit-price <DECIMAL>                    El precio l\u00edmite por defecto es el precio de or\u00e1culo actual SOL/2Z\n      --source-2z-account <PUBKEY>               La cuenta de tokens debe ser propiedad del firmante. Por defecto es el ATA del firmante si no se especifica\n      --checked-sol-amount <SOL>                 Verificar expl\u00edcitamente la cantidad de SOL. Cuando se especifica, esta cantidad se verificar\u00e1 contra la cantidad de relleno fija\n

El precio l\u00edmite especificado determina el precio en el peor caso que est\u00e1 dispuesto a aceptar al realizar la conversi\u00f3n SOL/2Z. Por ejemplo, supongamos que el precio descontado de 2Z para SOL es 800, lo que significa 800 tokens 2Z por 1 SOL. Si especifica un precio l\u00edmite de 790, no est\u00e1 dispuesto a realizar el swap porque est\u00e1 requiriendo intercambiar como m\u00e1ximo 790 tokens 2Z por 1 SOL. Pero si especifica 810, la operaci\u00f3n se realizar\u00e1 porque estaba dispuesto a intercambiar como m\u00e1ximo 810 tokens 2Z (y en este caso, solo habr\u00e1 intercambiado 800 tokens 2Z en esta transacci\u00f3n).

La cuenta de tokens 2Z de origen reemplaza el ATA por defecto usando el firmante como propietario de este ATA de 2Z. Pero si tiene otra cuenta de tokens que desea usar para realizar el swap, proporcione la pubkey con este argumento.

Opcionalmente, puede especificar la cantidad de SOL verificada al tama\u00f1o de relleno est\u00e1ndar (establecido en 1 SOL al lanzamiento). Si no coincide con el tama\u00f1o de relleno del programa, el swap falla. Esto mitiga el riesgo de que el tama\u00f1o de relleno del programa cambie y usted no lo note.

"},{"location":"es/Swapping-sol-to-2z/#interfaz-para-comprar-sol","title":"Interfaz para Comprar SOL","text":"

La interfaz y el CLI doublezero-solana viven en este repositorio. El c\u00f3digo fuente de la interfaz del contrato de swap de DoubleZero se puede encontrar aqu\u00ed. El ID del programa es 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Una forma conveniente de generar las cuentas necesarias para la instrucci\u00f3n de compra de SOL es usar el m\u00e9todo new (que se encuentra en instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

La fill_registry_key se puede obtener ya sea del ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // esta clave\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternativamente, puede llamar a getProgramAccounts a trav\u00e9s del RPC de Solana con su discriminador. Pero recomendamos almacenar en cach\u00e9 esta pubkey ya que nunca cambiar\u00e1.

La user_key es un firmante para la instrucci\u00f3n de compra de SOL y debe ser el propietario de la user_token_account_key. Como se describi\u00f3 anteriormente, esto NO necesita ser un ATA. Siempre que su cuenta de tokens 2Z sea propiedad de la user_key, esta instrucci\u00f3n tendr\u00e1 \u00e9xito.

La estructura BuySolAccounts implementa Into<Vec<AccountMeta>> para que pueda generar todos los metadatos de cuenta que necesita para construir la instrucci\u00f3n.

Los datos de instrucci\u00f3n son:

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Estos datos de instrucci\u00f3n est\u00e1n serializados en Borsh y tienen un selector Anchor de 8 bytes, que todo se serializar\u00e1 cuando se use BorshSerialize::serialize.

Los datos de precio del or\u00e1culo se pueden obtener desde este endpoint p\u00fablico: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. Los datos son deserializables con serde usando la estructura OraclePriceData que se encuentra en oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Ejemplo de c\u00f3mo obtener usando el crate reqwest:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Con el ID del programa, las cuentas y los datos de instrucci\u00f3n, deber\u00eda poder construir la instrucci\u00f3n para comprar SOL del contrato de swap de DoubleZero.

"},{"location":"es/Validator%20Multicast%20Connection/","title":"Conexi\u00f3n Multicast para Validadores","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

Si a\u00fan no est\u00e1 conectado a DoubleZero, complete primero la documentaci\u00f3n de Configuraci\u00f3n y de conexi\u00f3n para validadores Mainnet-Beta.

Si ya es un validador conectado a DoubleZero puede continuar con esta gu\u00eda.

"},{"location":"es/Validator%20Multicast%20Connection/#jito-agave-version-319-o-superior","title":"Jito-Agave (versi\u00f3n 3.1.9 o superior)","text":"
  1. En el script de inicio de su validador, a\u00f1ada: --shred-receiver-address 233.84.178.1:7733

    Puede enviar a Jito y al grupo bebop al mismo tiempo.

    ejemplo:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...El resto de su configuraci\u00f3n...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Reinicie su validador.

  3. Con\u00e9ctese al grupo multicast bebop de DoubleZero como publicador: doublezero connect multicast --publish bebop

"},{"location":"es/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. En config.toml, a\u00f1ada:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Reinicie su validador.

  3. Con\u00e9ctese al grupo multicast bebop de DoubleZero como publicador: doublezero connect multicast --publish bebop

Note

Los usuarios de Frankendancer en modo driver XDP no pueden usar tcpdump. Actualmente no hay forma de confirmar que est\u00e1 publicando, pero pronto habr\u00e1 una soluci\u00f3n disponible.

"},{"location":"es/Validator%20Multicast%20Connection/#confirme-que-esta-publicando","title":"Confirme que est\u00e1 publicando","text":"

Durante su pr\u00f3ximo slot de l\u00edder, use tcpdump para confirmar que est\u00e1 publicando al grupo multicast. Deber\u00eda ver un heartbeat cada 10 segundos para verificar que est\u00e1 publicando shreds.

Ejecute: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Ejemplo de salida cuando se est\u00e1 publicando:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"es/architecture/","title":"Arquitectura","text":"

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.

\u00bfQu\u00e9 compone los diferentes actores y componentes de la red DoubleZero?

Figura 1: Componentes de la arquitectura de red"},{"location":"es/architecture/#contribuidores","title":"Contribuidores","text":"

La red DoubleZero est\u00e1 formada por contribuciones de conectividad y procesamiento de paquetes de una creciente comunidad de proveedores de infraestructura de red distribuida en ciudades de todo el mundo. Los contribuidores aportan enlaces de fibra \u00f3ptica y recursos de procesamiento de informaci\u00f3n al protocolo para proporcionar la red de malla descentralizada.

"},{"location":"es/architecture/#contribuidores-de-ancho-de-banda-de-red","title":"Contribuidores de Ancho de Banda de Red","text":"

Los contribuidores de red deben proporcionar ancho de banda dedicado entre dos puntos, operar dispositivos compatibles con DoubleZero (DZDs) en cada extremo y una conexi\u00f3n a internet en cada extremo. Los contribuidores de red tambi\u00e9n deben ejecutar el software DoubleZero en cada DZD para proporcionar servicios como multicast, b\u00fasqueda de usuarios y servicios de filtrado en el borde.

Los enlaces f\u00edsicos de la red DoubleZero se proporcionan en forma de cables de fibra \u00f3ptica, com\u00fanmente denominados servicios de longitud de onda. Los contribuidores de red comprometen enlaces de red subutilizados, propios o arrendados de proveedores de infraestructura, entre dos o m\u00e1s centros de datos. Estos enlaces se terminan en ambos extremos por Dispositivos DoubleZero, que son recintos f\u00edsicos de conmutaci\u00f3n de red que ejecutan instancias del software Agente DoubleZero.

"},{"location":"es/architecture/#doublezero-exchange-dzx-sitio-de-interconexion","title":"DoubleZero Exchange (DZX / Sitio de Interconexi\u00f3n)","text":"

Los Exchanges DoubleZero (DZXs) son puntos de interconexi\u00f3n en la red de malla donde se unen diferentes enlaces de contribuidores. Los DZXs est\u00e1n ubicados en las principales \u00e1reas metropolitanas del mundo donde se producen intersecciones de red. Los contribuidores de red deben interconectar sus enlaces a la red de malla DoubleZero m\u00e1s amplia en los DZXs geogr\u00e1ficamente m\u00e1s cercanos a los extremos de sus enlaces.

"},{"location":"es/architecture/#contribuidores-de-recursos-computacionales","title":"Contribuidores de Recursos Computacionales","text":"

Aparte de los contribuidores de red, los contribuidores de recursos son un grupo descentralizado de participantes de la red que realizan diversas tareas de mantenimiento y monitoreo necesarias para sostener la integridad t\u00e9cnica y la funcionalidad continua de la red DoubleZero. Espec\u00edficamente, ellos (i) rastrean las transacciones y pagos de los usuarios; (ii) calculan las tarifas para los contribuidores de red; (iii) registran los resultados de (i) y (ii); (iv) administran, estrictamente de forma no discrecional, los contratos inteligentes que controlan la token\u00f3mica del protocolo; (v) transmiten attestations a la blockchain aplicable; y (vi) publican datos de telemetr\u00eda sobre la calidad y utilizaci\u00f3n de los enlaces para proporcionar m\u00e9tricas de rendimiento transparentes y en tiempo real para todos los contribuidores de red.

"},{"location":"es/architecture/#componentes","title":"Componentes","text":""},{"location":"es/architecture/#daemon-doublezero","title":"Daemon DoubleZero","text":"

El software Daemon DoubleZero se ejecuta en servidores que necesitan comunicarse a trav\u00e9s de la red DoubleZero. El daemon interact\u00faa con la pila de red del kernel del host para crear y gestionar interfaces de t\u00fanel, tablas de enrutamiento y rutas.

"},{"location":"es/architecture/#activador","title":"Activador","text":"

El servicio Activador, alojado por uno o m\u00e1s miembros contribuidores de recursos computacionales de la comunidad DoubleZero, monitorea los eventos de contrato que requieren asignaciones de direcciones IP y cambios de estado, y gestiona esos cambios en nombre de la red.

"},{"location":"es/architecture/#controlador","title":"Controlador","text":"

El servicio Controlador, alojado por uno o m\u00e1s contribuidores de recursos computacionales de la comunidad DoubleZero, sirve como la interfaz de configuraci\u00f3n para que los Agentes de Dispositivos DoubleZero representen su configuraci\u00f3n actual basada en eventos de contratos inteligentes.

"},{"location":"es/architecture/#agente","title":"Agente","text":"

El software Agente se ejecuta directamente en los Dispositivos DoubleZero y aplica los cambios de configuraci\u00f3n a los dispositivos seg\u00fan lo interpretado por el servicio Controlador. El software Agente consulta al Controlador para detectar cambios de configuraci\u00f3n, calcula las diferencias entre la versi\u00f3n can\u00f3nica on-chain del estado del Dispositivo y la configuraci\u00f3n activa en el dispositivo, y aplica los cambios necesarios para reconciliar la configuraci\u00f3n activa.

"},{"location":"es/architecture/#dispositivo","title":"Dispositivo","text":"

El recinto f\u00edsico del dispositivo que proporciona el enrutamiento y la terminaci\u00f3n de enlaces para la red DoubleZero. Los DZDs ejecutan el software Agente DoubleZero y se configuran bas\u00e1ndose en los datos le\u00eddos del servicio Controlador.

"},{"location":"es/connect/","title":"Connect","text":"

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.

Si no es redirigido, haga clic aqu\u00ed.

"},{"location":"es/contribute-operations/","title":"Gu\u00eda de Operaciones para Contribuidores","text":"

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.

Esta gu\u00eda cubre las tareas operativas continuas para mantener sus Dispositivos DoubleZero (DZDs), incluyendo actualizaciones de agentes, actualizaciones de dispositivos/interfaces y gesti\u00f3n de enlaces.

Requisitos previos: Antes de usar esta gu\u00eda, aseg\u00farese de haber:

"},{"location":"es/contribute-operations/#actualizaciones-de-dispositivos","title":"Actualizaciones de Dispositivos","text":"

Use doublezero device update para modificar la configuraci\u00f3n del dispositivo despu\u00e9s del aprovisionamiento inicial.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Opciones de actualizaci\u00f3n comunes:

Opci\u00f3n Descripci\u00f3n --device-type <TYPE> Cambiar el modo de operaci\u00f3n: hybrid, transit, edge (consulte Tipos de Dispositivos) --location <LOCATION> Mover el dispositivo a una ubicaci\u00f3n diferente --metrics-publisher <PUBKEY> Cambiar la clave de editor de m\u00e9tricas"},{"location":"es/contribute-operations/#actualizaciones-de-interfaces","title":"Actualizaciones de Interfaces","text":"

Use doublezero device interface update para modificar las interfaces existentes. Este comando acepta las mismas opciones que interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

Para obtener la lista completa de opciones de interfaz incluyendo configuraciones CYOA/DIA, consulte Creaci\u00f3n de Interfaces.

Ejemplo - A\u00f1adir configuraciones CYOA a una interfaz existente:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"es/contribute-operations/#listar-interfaces","title":"Listar Interfaces","text":"
doublezero device interface list              # Todas las interfaces en todos los dispositivos\ndoublezero device interface list <DEVICE>     # Interfaces de un dispositivo espec\u00edfico\n
"},{"location":"es/contribute-operations/#actualizacion-del-agente-de-configuracion","title":"Actualizaci\u00f3n del Agente de Configuraci\u00f3n","text":"

Cuando se lanza una nueva versi\u00f3n del Agente de Configuraci\u00f3n, siga estos pasos para actualizar.

"},{"location":"es/contribute-operations/#1-descargar-la-ultima-version","title":"1. Descargar la \u00faltima versi\u00f3n","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"es/contribute-operations/#2-apagar-el-agente","title":"2. Apagar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#3-eliminar-la-version-anterior","title":"3. Eliminar la versi\u00f3n anterior","text":"

Primero, encuentre el nombre del archivo de la versi\u00f3n anterior:

switch# show extensions\n

Ejecute los siguientes comandos para eliminar la versi\u00f3n anterior. Reemplace <OLD_VERSION> con la versi\u00f3n anterior de la salida anterior:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"es/contribute-operations/#4-instalar-la-nueva-version","title":"4. Instalar la nueva versi\u00f3n","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-operations/#5-reactivar-el-agente","title":"5. Reactivar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#6-verificar-la-actualizacion","title":"6. Verificar la actualizaci\u00f3n","text":"

El estado debe ser \"A, I, B\".

switch# show extensions\n

"},{"location":"es/contribute-operations/#7-verificar-la-salida-del-log-del-agente-de-configuracion","title":"7. Verificar la salida del log del Agente de Configuraci\u00f3n","text":"
show agent doublezero-agent log\n
"},{"location":"es/contribute-operations/#actualizacion-del-agente-de-telemetria","title":"Actualizaci\u00f3n del Agente de Telemetr\u00eda","text":"

Cuando se lanza una nueva versi\u00f3n del Agente de Telemetr\u00eda, siga estos pasos para actualizar.

"},{"location":"es/contribute-operations/#1-descargar-la-ultima-version_1","title":"1. Descargar la \u00faltima versi\u00f3n","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"es/contribute-operations/#2-apagar-el-agente_1","title":"2. Apagar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#3-eliminar-la-version-anterior_1","title":"3. Eliminar la versi\u00f3n anterior","text":"

Primero, encuentre el nombre del archivo de la versi\u00f3n anterior:

switch# show extensions\n

Ejecute los siguientes comandos para eliminar la versi\u00f3n anterior. Reemplace <OLD_VERSION> con la versi\u00f3n anterior de la salida anterior:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"es/contribute-operations/#4-instalar-la-nueva-version_1","title":"4. Instalar la nueva versi\u00f3n","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-operations/#5-reactivar-el-agente_1","title":"5. Reactivar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#6-verificar-la-actualizacion_1","title":"6. Verificar la actualizaci\u00f3n","text":"

El estado debe ser \"A, I, B\".

switch# show extensions\n

"},{"location":"es/contribute-operations/#7-verificar-la-salida-del-log-del-agente-de-telemetria","title":"7. Verificar la salida del log del Agente de Telemetr\u00eda","text":"
show agent doublezero-telemetry log\n
"},{"location":"es/contribute-operations/#monitoreo","title":"Monitoreo","text":"

\u26a0\ufe0f Importante:

  1. Para los ejemplos de configuraci\u00f3n a continuaci\u00f3n, tenga en cuenta si sus agentes est\u00e1n usando un VRF de gesti\u00f3n.
  2. El agente de configuraci\u00f3n y el agente de telemetr\u00eda usan el mismo puerto de escucha (:8080) para su endpoint de m\u00e9tricas por defecto. Si est\u00e1 habilitando m\u00e9tricas en ambos, use el flag -metrics-addr para establecer puertos de escucha \u00fanicos para cada agente.
"},{"location":"es/contribute-operations/#metricas-del-agente-de-configuracion","title":"M\u00e9tricas del Agente de Configuraci\u00f3n","text":"

El agente de configuraci\u00f3n en el dispositivo DoubleZero tiene la capacidad de exponer m\u00e9tricas compatibles con Prometheus configurando el flag -metrics-enable en la configuraci\u00f3n del daemon doublezero-agent. El puerto de escucha predeterminado es tcp/8080 pero puede cambiarse para adaptarse al entorno mediante -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

"},{"location":"es/contribute-operations/#errores-de-alta-senal","title":"Errores de Alta Se\u00f1al","text":""},{"location":"es/contribute-operations/#metricas-del-agente-de-telemetria","title":"M\u00e9tricas del Agente de Telemetr\u00eda","text":"

El agente de telemetr\u00eda en el dispositivo DoubleZero tiene la capacidad de exponer m\u00e9tricas compatibles con Prometheus configurando el flag -metrics-enable en la configuraci\u00f3n del daemon doublezero-telemetry. El puerto de escucha predeterminado es tcp/8080 pero puede cambiarse para adaptarse al entorno mediante -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

"},{"location":"es/contribute-operations/#errores-de-alta-senal_1","title":"Errores de Alta Se\u00f1al","text":""},{"location":"es/contribute-operations/#gestion-de-enlaces","title":"Gesti\u00f3n de Enlaces","text":""},{"location":"es/contribute-operations/#drenado-de-enlaces","title":"Drenado de Enlaces","text":"

El drenado de enlaces permite a los contribuidores retirar gradualmente un enlace del servicio activo para mantenimiento o soluci\u00f3n de problemas. Hay dos estados de drenado:

Estado Comportamiento IS-IS Descripci\u00f3n soft-drained M\u00e9trica establecida en 1,000,000 El enlace se desprioriza. El tr\u00e1fico usar\u00e1 rutas alternativas si est\u00e1n disponibles, pero a\u00fan usar\u00e1 este enlace si es la \u00fanica opci\u00f3n. hard-drained Establecido como pasivo El enlace se retira completamente del enrutamiento. Ning\u00fan tr\u00e1fico atravesar\u00e1 este enlace."},{"location":"es/contribute-operations/#transiciones-de-estado","title":"Transiciones de Estado","text":"

Se permiten las siguientes transiciones de estado:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (debe pasar primero por soft-drained)\n

\u26a0\ufe0f Nota: No puede ir directamente de hard-drained a activated. Primero debe transitar a soft-drained, luego a activated.

"},{"location":"es/contribute-operations/#drenar-suavemente-un-enlace","title":"Drenar Suavemente un Enlace","text":"

El drenado suave desprioriza un enlace estableciendo su m\u00e9trica IS-IS en 1,000,000. El tr\u00e1fico preferir\u00e1 rutas alternativas pero a\u00fan puede usar este enlace si es necesario.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"es/contribute-operations/#drenar-duramente-un-enlace","title":"Drenar Duramente un Enlace","text":"

El drenado duro elimina el enlace del enrutamiento por completo estableciendo IS-IS en modo pasivo. Ning\u00fan tr\u00e1fico atravesar\u00e1 este enlace.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"es/contribute-operations/#restaurar-un-enlace-a-activo","title":"Restaurar un Enlace a Activo","text":"

Para devolver un enlace drenado a operaci\u00f3n normal:

# Desde soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# Desde hard-drained (debe pasar primero por soft-drained)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"es/contribute-operations/#anulacion-de-retardo","title":"Anulaci\u00f3n de Retardo","text":"

La funci\u00f3n de anulaci\u00f3n de retardo permite a los contribuidores cambiar temporalmente el retardo efectivo de un enlace sin modificar el valor de retardo medido real. Esto es \u00fatil para demotar temporalmente un enlace de ruta primaria a secundaria.

"},{"location":"es/contribute-operations/#establecer-una-anulacion-de-retardo","title":"Establecer una Anulaci\u00f3n de Retardo","text":"

Para anular el retardo de un enlace (haci\u00e9ndolo menos preferido en el enrutamiento):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

Los valores v\u00e1lidos son de 0.01 a 1000 milisegundos.

"},{"location":"es/contribute-operations/#borrar-una-anulacion-de-retardo","title":"Borrar una Anulaci\u00f3n de Retardo","text":"

Para eliminar la anulaci\u00f3n y volver a usar el retardo medido real:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Nota: Cuando un enlace est\u00e1 en soft-drained, tanto delay_ms como delay_override_ms se anulan a 1000ms (1 segundo) para garantizar la desriorizaci\u00f3n.

"},{"location":"es/contribute-overview/","title":"Documentaci\u00f3n para Contribuidores","text":"

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.

Terminolog\u00eda

\u00bfNuevo en DoubleZero? Consulte el Glosario para definiciones de t\u00e9rminos clave como DZD, DZX y CYOA.

Bienvenido a la documentaci\u00f3n para contribuidores de DoubleZero. Esta secci\u00f3n cubre todo lo que necesita para convertirse en un contribuidor de red.

\u00bfInteresado en convertirse en contribuidor de red?

Revise la p\u00e1gina de Requisitos y Arquitectura para comprender el hardware, el ancho de banda y la conectividad necesarios para contribuir a la red DoubleZero.

"},{"location":"es/contribute-overview/#lista-de-verificacion-de-incorporacion","title":"Lista de Verificaci\u00f3n de Incorporaci\u00f3n","text":"

Use esta lista de verificaci\u00f3n para hacer seguimiento de su progreso. Todos los elementos deben estar completados antes de que su contribuci\u00f3n sea t\u00e9cnicamente operativa.

"},{"location":"es/contribute-overview/#fase-1-requisitos-previos","title":"Fase 1: Requisitos Previos","text":""},{"location":"es/contribute-overview/#fase-2-configuracion-de-cuenta","title":"Fase 2: Configuraci\u00f3n de Cuenta","text":""},{"location":"es/contribute-overview/#fase-3-aprovisionamiento-de-dispositivos","title":"Fase 3: Aprovisionamiento de Dispositivos","text":""},{"location":"es/contribute-overview/#fase-4-establecimiento-de-enlace-e-instalacion-de-agentes","title":"Fase 4: Establecimiento de Enlace e Instalaci\u00f3n de Agentes","text":""},{"location":"es/contribute-overview/#fase-5-rodaje-del-enlace","title":"Fase 5: Rodaje del Enlace","text":""},{"location":"es/contribute-overview/#fase-6-verificacion-y-activacion","title":"Fase 6: Verificaci\u00f3n y Activaci\u00f3n","text":""},{"location":"es/contribute-overview/#obtener-ayuda","title":"Obtener Ayuda","text":"

Como parte de la incorporaci\u00f3n, DZF le a\u00f1adir\u00e1 a los canales Slack de contribuidores:

Canal Prop\u00f3sito #dz-contributor-announcements Comunicaciones oficiales de DZF y Malbec Labs \u2014 actualizaciones de CLI/agentes, cambios importantes, anuncios de seguridad. Monitoree para actualizaciones cr\u00edticas; haga preguntas en los hilos. #dz-contributor-incidents Eventos no planificados que afectan el servicio. Los incidentes se publican autom\u00e1ticamente a trav\u00e9s de la API/formulario web con severidad y dispositivos/enlaces afectados. La discusi\u00f3n y soluci\u00f3n de problemas ocurre en los hilos. #dz-contributor-maintenance Actividades de mantenimiento planificadas (actualizaciones, reparaciones). Programadas a trav\u00e9s de la API/formulario web con tiempos de inicio/fin planificados. Discusi\u00f3n en hilos. #dz-contributor-ops Discusi\u00f3n abierta para todos los contribuidores \u2014 preguntas operativas, ayuda con CLI, compartir runbooks y playbooks.

Tambi\u00e9n recibir\u00e1 un canal privado de DZ/Malbec Labs para soporte directo de su organizaci\u00f3n.

"},{"location":"es/contribute-overview/#reglas-de-prefijo-dz","title":"Reglas de Prefijo DZ","text":"

Cr\u00edtico: Uso del Pool de Prefijos DZ

El pool de prefijos DZ que proporciona es gestionado por el protocolo DoubleZero para la asignaci\u00f3n de IP.

C\u00f3mo se usan los prefijos DZ:

NO puede usar estas direcciones para:

Requisitos:

Si necesita direcciones para su propio equipo (IPs de interfaz DIA, gesti\u00f3n, etc.), use un pool de direcciones separado.

"},{"location":"es/contribute-overview/#referencia-rapida-terminos-clave","title":"Referencia R\u00e1pida: T\u00e9rminos Clave","text":"

\u00bfNuevo en DoubleZero? Aqu\u00ed est\u00e1n los t\u00e9rminos esenciales (consulte el Glosario completo):

T\u00e9rmino Definici\u00f3n DZD Dispositivo DoubleZero - su switch f\u00edsico Arista que ejecuta los agentes DZ DZX Exchange DoubleZero - punto de interconexi\u00f3n metropolitana donde los contribuidores se conectan entre s\u00ed CYOA Elige Tu Propia Aventura - m\u00e9todo de conectividad de usuarios (GREOverDIA, GREOverFabric, etc.) DIA Acceso Directo a Internet - conectividad a internet requerida por todos los DZDs para el controlador y la telemetr\u00eda, com\u00fanmente usado como tipo CYOA para la conectividad de usuarios en dispositivos de borde/h\u00edbridos Enlace WAN Enlace entre sus propios DZDs (mismo contribuidor) Enlace DZX Enlace al DZD de otro contribuidor (requiere aceptaci\u00f3n mutua) Agente de Configuraci\u00f3n Consulta el controlador, aplica la configuraci\u00f3n a su DZD Agente de Telemetr\u00eda Recopila m\u00e9tricas de latencia/p\u00e9rdida TWAMP, las env\u00eda al ledger onchain Clave de Servicio Su clave de identidad de contribuidor para operaciones CLI Clave de Editor de M\u00e9tricas Clave para firmar presentaciones de telemetr\u00eda onchain"},{"location":"es/contribute-overview/#estructura-de-la-documentacion","title":"Estructura de la Documentaci\u00f3n","text":"Gu\u00eda Descripci\u00f3n Requisitos y Arquitectura Especificaciones de hardware, arquitectura de red, opciones de ancho de banda Aprovisionamiento de Dispositivos Paso a paso: claves \u2192 acceso al repositorio \u2192 dispositivo \u2192 enlaces \u2192 agentes Operaciones Actualizaciones de agentes, gesti\u00f3n de enlaces, monitoreo Glosario Toda la terminolog\u00eda DoubleZero definida"},{"location":"es/contribute-overview/#conceptos-de-red-para-no-ingenieros-de-red","title":"Conceptos de Red para No Ingenieros de Red","text":"

Si no tiene experiencia en ingenier\u00eda de redes, aqu\u00ed hay una introducci\u00f3n a los conceptos utilizados en esta documentaci\u00f3n:

"},{"location":"es/contribute-overview/#direccionamiento-ip","title":"Direccionamiento IP","text":""},{"location":"es/contribute-overview/#capas-de-red","title":"Capas de Red","text":""},{"location":"es/contribute-overview/#terminos-comunes","title":"T\u00e9rminos Comunes","text":""},{"location":"es/contribute-overview/#especifico-de-doublezero","title":"Espec\u00edfico de DoubleZero","text":"

\u00bfListo para comenzar? Empiece con Requisitos y Arquitectura.

"},{"location":"es/contribute-provisioning/","title":"Gu\u00eda de Aprovisionamiento de Dispositivos","text":"

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.

Esta gu\u00eda le lleva a trav\u00e9s del aprovisionamiento de un Dispositivo DoubleZero (DZD) de principio a fin. Cada fase corresponde a la Lista de Verificaci\u00f3n de Incorporaci\u00f3n.

"},{"location":"es/contribute-provisioning/#como-encaja-todo","title":"C\u00f3mo Encaja Todo","text":"

Antes de entrar en los pasos, aqu\u00ed est\u00e1 el panorama general de lo que est\u00e1 construyendo:

flowchart TB\n    subgraph Onchain\n        SC[Ledger DoubleZero]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[Servidor de Gesti\u00f3n<br/>CLI DoubleZero]\n        DZD[Su DZD<br/>Switch Arista]\n        DZD ---|Enlace WAN| DZD2[Su otro DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[Su DZD]\n    end\n\n    subgraph Users\n        VAL[Validadores]\n        RPC[Nodos RPC]\n    end\n\n    MGMT -.->|Registra dispositivos,<br/>enlaces, interfaces| SC\n    DZD ---|Enlace DZX| OtherDZD\n    VAL ---|Conectar via Internet| DZD\n    RPC ---|Conectar via Internet| DZD
"},{"location":"es/contribute-provisioning/#fase-1-requisitos-previos","title":"Fase 1: Requisitos Previos","text":"

Antes de poder aprovisionar un dispositivo, necesita el hardware f\u00edsico configurado y algunas direcciones IP asignadas.

"},{"location":"es/contribute-provisioning/#lo-que-necesita","title":"Lo Que Necesita","text":"Requisito Por Qu\u00e9 Es Necesario Hardware DZD Switch Arista 7280CR3A (consulte especificaciones de hardware) Espacio en Rack 4U con flujo de aire adecuado Energ\u00eda Alimentaciones redundantes, ~4KW recomendado Acceso de Gesti\u00f3n Acceso SSH/consola para configurar el switch Conectividad a Internet Para publicaci\u00f3n de m\u00e9tricas y para obtener configuraci\u00f3n del controlador Bloque IPv4 P\u00fablico M\u00ednimo /29 para el pool de prefijos DZ (ver abajo)"},{"location":"es/contribute-provisioning/#instalar-el-cli-de-doublezero","title":"Instalar el CLI de DoubleZero","text":"

El CLI de DoubleZero (doublezero) se usa durante todo el aprovisionamiento para registrar dispositivos, crear enlaces y gestionar su contribuci\u00f3n. Debe instalarse en un servidor de gesti\u00f3n o VM, no en el switch DZD en s\u00ed. El switch solo ejecuta el Agente de Configuraci\u00f3n y el Agente de Telemetr\u00eda (instalados en la Fase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verificar que el daemon est\u00e9 ejecut\u00e1ndose:

sudo systemctl status doublezerod\n

"},{"location":"es/contribute-provisioning/#comprendiendo-su-prefijo-dz","title":"Comprendiendo Su Prefijo DZ","text":"

Su prefijo DZ es un bloque de direcciones IP p\u00fablicas que el protocolo DoubleZero gestiona para la asignaci\u00f3n de IP.

flowchart LR\n    subgraph \"Su Bloque /29 (8 IPs)\"\n        IP1[\"Primera IP<br/>Reservada para<br/>su dispositivo\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Asignada a| LO[Loopback100<br/>en su DZD]\n    IP2 -->|Asignada a| U1[Usuario 1]\n    IP3 -->|Asignada a| U2[Usuario 2]

C\u00f3mo se usan los prefijos DZ:

Reglas de Prefijo DZ

NO PUEDE usar estas direcciones para:

Requisitos:

Si necesita direcciones para su propio equipo (IPs de interfaz DIA, gesti\u00f3n, etc.), use un pool de direcciones separado.

"},{"location":"es/contribute-provisioning/#fase-2-configuracion-de-cuenta","title":"Fase 2: Configuraci\u00f3n de Cuenta","text":"

En esta fase, crea las claves criptogr\u00e1ficas que lo identifican a usted y a sus dispositivos en la red.

"},{"location":"es/contribute-provisioning/#donde-ejecutar-el-cli","title":"D\u00f3nde Ejecutar el CLI","text":"

NO instale el CLI en su switch

El CLI de DoubleZero (doublezero) debe instalarse en un servidor de gesti\u00f3n o VM, no en su switch Arista.

flowchart LR\n    subgraph \"Servidor/VM de Gesti\u00f3n\"\n        CLI[CLI DoubleZero]\n        KEYS[Sus Keypairs]\n    end\n\n    subgraph \"Su Switch DZD\"\n        CA[Agente de Configuraci\u00f3n]\n        TA[Agente de Telemetr\u00eda]\n    end\n\n    CLI -->|Crea dispositivos, enlaces| BC[Blockchain]\n    CA -->|Obtiene configuraci\u00f3n| CTRL[Controlador]\n    TA -->|Env\u00eda m\u00e9tricas| BC
Instalar en Servidor de Gesti\u00f3n Instalar en Switch CLI doublezero Agente de Configuraci\u00f3n Su keypair de servicio Agente de Telemetr\u00eda Su keypair de editor de m\u00e9tricas Keypair de editor de m\u00e9tricas (copia)"},{"location":"es/contribute-provisioning/#que-son-las-claves","title":"\u00bfQu\u00e9 Son las Claves?","text":"

Piense en las claves como credenciales de inicio de sesi\u00f3n seguras:

Ambas son keypairs criptogr\u00e1ficos (una clave p\u00fablica que comparte, una clave privada que mantiene en secreto).

flowchart LR\n    subgraph \"Sus Claves\"\n        SK[Clave de Servicio<br/>~/.config/solana/id.json]\n        MK[Clave de Editor de M\u00e9tricas<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Usada para| CLI[Comandos CLI<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Usada para| TEL[Agente de Telemetr\u00eda<br/>Env\u00eda m\u00e9tricas onchain]
"},{"location":"es/contribute-provisioning/#paso-21-generar-su-clave-de-servicio","title":"Paso 2.1: Generar Su Clave de Servicio","text":"

Esta es su identidad principal para interactuar con DoubleZero.

doublezero keygen\n

Esto crea un keypair en la ubicaci\u00f3n predeterminada. La salida muestra su clave p\u00fablica \u2014 esto es lo que compartir\u00e1 con DZF.

"},{"location":"es/contribute-provisioning/#paso-22-generar-su-clave-de-editor-de-metricas","title":"Paso 2.2: Generar Su Clave de Editor de M\u00e9tricas","text":"

Esta clave la usa el Agente de Telemetr\u00eda para firmar env\u00edos de m\u00e9tricas.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"es/contribute-provisioning/#paso-23-enviar-claves-a-dzf","title":"Paso 2.3: Enviar Claves a DZF","text":"

Contacte a la Fundaci\u00f3n DoubleZero o Malbec Labs y proporcione:

  1. Su clave p\u00fablica de la clave de servicio
  2. Su nombre de usuario de GitHub (para acceso al repositorio)

Ellos:

"},{"location":"es/contribute-provisioning/#paso-24-verificar-su-cuenta","title":"Paso 2.4: Verificar Su Cuenta","text":"

Una vez confirmado, verifique que su cuenta de contribuidor existe:

doublezero contributor list\n

Deber\u00eda ver su c\u00f3digo de contribuidor en la lista.

"},{"location":"es/contribute-provisioning/#paso-25-acceder-al-repositorio-de-contribuidores","title":"Paso 2.5: Acceder al Repositorio de Contribuidores","text":"

El repositorio malbeclabs/contributors contiene:

Siga las instrucciones all\u00ed para la configuraci\u00f3n espec\u00edfica del dispositivo.

"},{"location":"es/contribute-provisioning/#fase-3-aprovisionamiento-de-dispositivos","title":"Fase 3: Aprovisionamiento de Dispositivos","text":"

Ahora registrar\u00e1 su dispositivo f\u00edsico en la blockchain y configurar\u00e1 sus interfaces.

"},{"location":"es/contribute-provisioning/#comprendiendo-los-tipos-de-dispositivos","title":"Comprendiendo los Tipos de Dispositivos","text":"
flowchart TB\n    subgraph \"Dispositivo de Borde\"\n        E[DZD de Borde]\n        EU[Los usuarios se conectan aqu\u00ed]\n        EU --> E\n        E <-->|Enlace DZX| ED[Otro DZD]\n    end\n\n    subgraph \"Dispositivo de Tr\u00e1nsito\"\n        T[DZD de Tr\u00e1nsito]\n        T <-->|Enlace WAN| T2[Otro DZD]\n        T <-->|Enlace DZX| TD[Otro DZD]\n    end\n\n    subgraph \"Dispositivo H\u00edbrido\"\n        H[DZD H\u00edbrido]\n        HU[Los usuarios se conectan aqu\u00ed]\n        HU --> H\n        H <-->|Enlace WAN| H2[Otro DZD]\n        H <-->|Enlace DZX| HD[Otro DZD]\n    end
Tipo Qu\u00e9 Hace Cu\u00e1ndo Usar Borde Solo acepta conexiones de usuarios Ubicaci\u00f3n \u00fanica, solo orientado al usuario Tr\u00e1nsito Mueve tr\u00e1fico entre dispositivos Conectividad de backbone, sin usuarios H\u00edbrido Conexiones de usuarios Y backbone Lo m\u00e1s com\u00fan \u2014 hace todo"},{"location":"es/contribute-provisioning/#paso-31-encontrar-su-ubicacion-e-exchange","title":"Paso 3.1: Encontrar Su Ubicaci\u00f3n e Exchange","text":"

Antes de crear su dispositivo, busque los c\u00f3digos de su ubicaci\u00f3n de centro de datos y el exchange m\u00e1s cercano:

# Listar ubicaciones disponibles (centros de datos)\ndoublezero location list\n\n# Listar exchanges disponibles (puntos de interconexi\u00f3n)\ndoublezero exchange list\n
"},{"location":"es/contribute-provisioning/#paso-32-crear-su-dispositivo-onchain","title":"Paso 3.2: Crear Su Dispositivo Onchain","text":"

Registre su dispositivo en la blockchain:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

Ejemplo:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Salida esperada:

Signature: 4vKz8H...truncated...7xPq2\n

Verifique que su dispositivo fue creado:

doublezero device list | grep nyc-dz001\n

Par\u00e1metros explicados:

Par\u00e1metro Qu\u00e9 Significa --code Un nombre \u00fanico para su dispositivo (por ejemplo, nyc-dz001) --contributor Su c\u00f3digo de contribuidor (dado por DZF) --device-type hybrid, transit o edge --location C\u00f3digo del centro de datos de location list --exchange C\u00f3digo del exchange m\u00e1s cercano de exchange list --public-ip La IP p\u00fablica donde los usuarios se conectan a su dispositivo a trav\u00e9s de internet --dz-prefixes Su bloque de IP asignado para usuarios"},{"location":"es/contribute-provisioning/#paso-33-crear-interfaces-loopback-requeridas","title":"Paso 3.3: Crear Interfaces Loopback Requeridas","text":"

Cada dispositivo necesita dos interfaces loopback para el enrutamiento interno:

# Loopback VPNv4\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# Loopback IPv4\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

Salida esperada (para cada comando):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"es/contribute-provisioning/#paso-34-crear-interfaces-fisicas","title":"Paso 3.4: Crear Interfaces F\u00edsicas","text":"

Registre los puertos f\u00edsicos que usar\u00e1:

# Interfaz b\u00e1sica\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

Salida esperada:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"es/contribute-provisioning/#paso-35-crear-interfaz-cyoa-para-dispositivos-de-bordehibridos","title":"Paso 3.5: Crear Interfaz CYOA (para dispositivos de Borde/H\u00edbridos)","text":"

Si su dispositivo acepta conexiones de usuarios, necesita una interfaz CYOA (Elige Tu Propia Aventura). Esto le dice al sistema c\u00f3mo los usuarios se conectan a usted.

Tipos CYOA Explicados:

Tipo En T\u00e9rminos Simples Cu\u00e1ndo Usar gre-over-dia Los usuarios se conectan a trav\u00e9s de internet regular Lo m\u00e1s com\u00fan \u2014 los usuarios se conectan a trav\u00e9s de la DIA a su DZD gre-over-private-peering Los usuarios se conectan a trav\u00e9s de enlace privado Los usuarios tienen conexi\u00f3n directa a su red gre-over-public-peering Los usuarios se conectan a trav\u00e9s de IX Los usuarios se emparejan con usted en un exchange de internet gre-over-fabric Los usuarios en la misma red local Los usuarios en el mismo centro de datos gre-over-cable Cable directo al usuario Usuario dedicado \u00fanico

Ejemplo \u2014 Usuarios est\u00e1ndar de internet:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Salida esperada:

Signature: 2wLp8N...truncated...5vHt3\n

Par\u00e1metros explicados:

Par\u00e1metro Qu\u00e9 Significa --interface-cyoa C\u00f3mo se conectan los usuarios (ver tabla arriba) --interface-dia dia si este es un puerto orientado a internet --bandwidth Velocidad del puerto en Mbps (10000 = 10Gbps) --cir Tasa comprometida en Mbps (ancho de banda garantizado) --user-tunnel-endpoint Este puerto acepta t\u00faneles de usuario"},{"location":"es/contribute-provisioning/#paso-36-verificar-su-dispositivo","title":"Paso 3.6: Verificar Su Dispositivo","text":"
doublezero device list\n

Ejemplo de salida:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Su dispositivo deber\u00eda aparecer con el estado activated.

"},{"location":"es/contribute-provisioning/#fase-4-establecimiento-de-enlace-e-instalacion-de-agentes","title":"Fase 4: Establecimiento de Enlace e Instalaci\u00f3n de Agentes","text":"

Los enlaces conectan su dispositivo al resto de la red DoubleZero.

"},{"location":"es/contribute-provisioning/#comprendiendo-los-enlaces","title":"Comprendiendo los Enlaces","text":"
flowchart LR\n    subgraph \"Su Red\"\n        D1[Su DZD 1<br/>NYC]\n        D2[Su DZD 2<br/>LAX]\n    end\n\n    subgraph \"Otro Contribuidor\"\n        O1[Su DZD<br/>NYC]\n    end\n\n    D1 ---|Enlace WAN<br/>Mismo contribuidor| D2\n    D1 ---|Enlace DZX<br/>Diferentes contribuidores| O1
Tipo de Enlace Conecta Aceptaci\u00f3n Enlace WAN Dos de SUS dispositivos Autom\u00e1tica (usted posee ambos) Enlace DZX Su dispositivo a OTRO contribuidor Requiere su aceptaci\u00f3n"},{"location":"es/contribute-provisioning/#paso-41-crear-enlaces-wan-si-tiene-multiples-dispositivos","title":"Paso 4.1: Crear Enlaces WAN (si tiene m\u00faltiples dispositivos)","text":"

Los enlaces WAN conectan sus propios dispositivos:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Ejemplo:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Salida esperada:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"es/contribute-provisioning/#paso-42-crear-enlaces-dzx","title":"Paso 4.2: Crear Enlaces DZX","text":"

Los enlaces DZX conectan su dispositivo directamente al DZD de otro contribuidor:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

Salida esperada:

Signature: 8mKp3W...truncated...2nRx7\n

Despu\u00e9s de crear un enlace DZX, el otro contribuidor debe aceptarlo:

# El OTRO contribuidor ejecuta esto\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

Salida esperada (para el contribuidor que acepta):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"es/contribute-provisioning/#paso-43-verificar-enlaces","title":"Paso 4.3: Verificar Enlaces","text":"
doublezero link list\n

Ejemplo de salida:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Los enlaces deben mostrar el estado activated una vez que ambos lados est\u00e9n configurados.

"},{"location":"es/contribute-provisioning/#instalacion-de-agentes","title":"Instalaci\u00f3n de Agentes","text":"

Dos agentes de software se ejecutan en su DZD:

flowchart TB\n    subgraph \"Su DZD\"\n        CA[Agente de Configuraci\u00f3n]\n        TA[Agente de Telemetr\u00eda]\n        HW[Hardware/Software del Switch]\n    end\n\n    CA -->|Obtiene configuraci\u00f3n| CTRL[Servicio Controlador]\n    CA -->|Aplica configuraci\u00f3n| HW\n\n    HW -->|M\u00e9tricas| TA\n    TA -->|Env\u00eda onchain| BC[Ledger DoubleZero]
Agente Qu\u00e9 Hace Agente de Configuraci\u00f3n Obtiene configuraci\u00f3n del controlador, la aplica a su switch Agente de Telemetr\u00eda Mide latencia/p\u00e9rdida hacia otros dispositivos, reporta m\u00e9tricas onchain"},{"location":"es/contribute-provisioning/#paso-44-instalar-el-agente-de-configuracion","title":"Paso 4.4: Instalar el Agente de Configuraci\u00f3n","text":""},{"location":"es/contribute-provisioning/#habilitar-la-api-en-su-switch","title":"Habilitar la API en su switch","text":"

Agregar a la configuraci\u00f3n EOS:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Nota sobre VRF

Reemplace default con el nombre de su VRF de gesti\u00f3n si es diferente (por ejemplo, management).

"},{"location":"es/contribute-provisioning/#descargar-e-instalar-el-agente","title":"Descargar e instalar el agente","text":"
# Entrar al bash en el switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extensi\u00f3n EOS\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-provisioning/#verificar-la-extension","title":"Verificar la extensi\u00f3n","text":"
switch# show extensions\n

El estado debe ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"es/contribute-provisioning/#configurar-e-iniciar-el-agente","title":"Configurar e iniciar el agente","text":"

Agregar a la configuraci\u00f3n EOS:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Nota sobre VRF

Si su VRF de gesti\u00f3n no es default (es decir, el espacio de nombres no es ns-default), prefije el comando exec con exec /sbin/ip netns exec ns-<VRF>. Por ejemplo, si su VRF es management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Obtenga la pubkey de su dispositivo desde doublezero device list (la columna account).

"},{"location":"es/contribute-provisioning/#verificar-que-esta-ejecutandose","title":"Verificar que est\u00e1 ejecut\u00e1ndose","text":"
switch# show agent doublezero-agent logs\n

Deber\u00eda ver \"Starting doublezero-agent\" y conexiones exitosas al controlador.

"},{"location":"es/contribute-provisioning/#paso-45-instalar-el-agente-de-telemetria","title":"Paso 4.5: Instalar el Agente de Telemetr\u00eda","text":""},{"location":"es/contribute-provisioning/#copiar-la-clave-de-editor-de-metricas-a-su-dispositivo","title":"Copiar la clave de editor de m\u00e9tricas a su dispositivo","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"es/contribute-provisioning/#registrar-el-editor-de-metricas-onchain","title":"Registrar el editor de m\u00e9tricas onchain","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

Obtenga la pubkey de su archivo metrics-publisher.json.

"},{"location":"es/contribute-provisioning/#descargar-e-instalar-el-agente_1","title":"Descargar e instalar el agente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extensi\u00f3n EOS\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-provisioning/#verificar-la-extension_1","title":"Verificar la extensi\u00f3n","text":"
switch# show extensions\n

El estado debe ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"es/contribute-provisioning/#configurar-e-iniciar-el-agente_1","title":"Configurar e iniciar el agente","text":"

Agregar a la configuraci\u00f3n EOS:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Nota sobre VRF

Si su VRF de gesti\u00f3n no es default (es decir, el espacio de nombres no es ns-default), agregue --management-namespace ns-<VRF> al comando exec. Por ejemplo, si su VRF es management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"es/contribute-provisioning/#verificar-que-esta-ejecutandose_1","title":"Verificar que est\u00e1 ejecut\u00e1ndose","text":"
switch# show agent doublezero-telemetry logs\n

Deber\u00eda ver \"Starting telemetry collector\" y \"Starting submission loop\".

"},{"location":"es/contribute-provisioning/#fase-5-rodaje-del-enlace","title":"Fase 5: Rodaje del Enlace","text":"

Todos los nuevos enlaces deben rodar antes de transportar tr\u00e1fico

Los nuevos enlaces deben estar drenados durante al menos 24 horas antes de activarse para tr\u00e1fico de producci\u00f3n. Este requisito de rodaje est\u00e1 definido en RFC12: Aprovisionamiento de Red, que especifica ~200,000 slots del Ledger DZ (~20 horas) de m\u00e9tricas limpias antes de que un enlace est\u00e9 listo para servicio.

Con los agentes instalados y funcionando, monitoree sus enlaces en metrics.doublezero.xyz durante al menos 24 horas consecutivas:

Solo quite el drenado del enlace una vez que el per\u00edodo de rodaje muestre un enlace limpio con cero p\u00e9rdidas y cero errores.

"},{"location":"es/contribute-provisioning/#fase-6-verificacion-y-activacion","title":"Fase 6: Verificaci\u00f3n y Activaci\u00f3n","text":"

Repase esta lista de verificaci\u00f3n para confirmar que todo est\u00e1 funcionando.

Su dispositivo comienza bloqueado (max_users = 0)

Cuando se crea un dispositivo, max_users se establece en 0 por defecto. Esto significa que ning\u00fan usuario puede conectarse a \u00e9l todav\u00eda. Esto es intencional: debe verificar que todo funciona antes de aceptar tr\u00e1fico de usuarios.

Antes de establecer max_users por encima de 0, debe:

  1. Confirmar que todos los enlaces han completado su rodaje de 24 horas con cero p\u00e9rdidas/errores en metrics.doublezero.xyz
  2. Coordinar con DZ/Malbec Labs para ejecutar una prueba de conectividad:
    • \u00bfPuede un usuario de prueba conectarse a su dispositivo?
    • \u00bfEl usuario recibe rutas sobre la red DZ?
    • \u00bfPuede el usuario enrutar tr\u00e1fico sobre la red DZ de extremo a extremo?
  3. Solo despu\u00e9s de que DZ/ML confirme que las pruebas pasen, establezca max_users en 96:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"es/contribute-provisioning/#verificaciones-del-dispositivo","title":"Verificaciones del Dispositivo","text":"
# Su dispositivo deber\u00eda aparecer con el estado \"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

Salida esperada:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Sus interfaces deber\u00edan estar listadas\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

Salida esperada:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"es/contribute-provisioning/#verificaciones-de-enlace","title":"Verificaciones de Enlace","text":"
# Los enlaces deben mostrar el estado \"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

Salida esperada:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"es/contribute-provisioning/#verificaciones-de-agentes","title":"Verificaciones de Agentes","text":"

En el switch:

# El agente de configuraci\u00f3n debe mostrar obtenciones de configuraci\u00f3n exitosas\nswitch# show agent doublezero-agent logs | tail -20\n\n# El agente de telemetr\u00eda debe mostrar env\u00edos exitosos\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"es/contribute-provisioning/#diagrama-de-verificacion-final","title":"Diagrama de Verificaci\u00f3n Final","text":"
flowchart TB\n    subgraph \"Lista de Verificaci\u00f3n\"\n        D[Estado del Dispositivo: activated?]\n        I[Interfaces: registradas?]\n        L[Enlaces: activated?]\n        CA[Agente de Configuraci\u00f3n: obteniendo configuraci\u00f3n?]\n        TA[Agente de Telemetr\u00eda: enviando m\u00e9tricas?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[Todas las Verificaciones Pasan] --> NOTIFY[Notificar a DZF/Malbec Labs<br/>\u00a1Est\u00e1 t\u00e9cnicamente listo!]
"},{"location":"es/contribute-provisioning/#solucion-de-problemas","title":"Soluci\u00f3n de Problemas","text":""},{"location":"es/contribute-provisioning/#la-creacion-del-dispositivo-falla","title":"La creaci\u00f3n del dispositivo falla","text":""},{"location":"es/contribute-provisioning/#enlace-atascado-en-estado-requested","title":"Enlace atascado en estado \"requested\"","text":""},{"location":"es/contribute-provisioning/#el-agente-de-configuracion-no-se-conecta","title":"El Agente de Configuraci\u00f3n no se conecta","text":""},{"location":"es/contribute-provisioning/#el-agente-de-telemetria-no-envia","title":"El Agente de Telemetr\u00eda no env\u00eda","text":""},{"location":"es/contribute-provisioning/#proximos-pasos","title":"Pr\u00f3ximos Pasos","text":""},{"location":"es/contribute/","title":"Requisitos y Arquitectura para Contribuidores","text":"

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.

"},{"location":"es/contribute/#resumen","title":"Resumen","text":"

Cualquier persona que desee monetizar sus cables de fibra \u00f3ptica y hardware de red subutilizados puede contribuir a la red DoubleZero. Los contribuidores de red deben proporcionar ancho de banda dedicado entre dos puntos, operar dispositivos compatibles con DoubleZero (DZDs) en cada extremo, y una conexi\u00f3n a internet p\u00fablica en cada extremo. Los contribuidores de red tambi\u00e9n deben ejecutar software DoubleZero en cada DZD para proporcionar servicios como multicast, b\u00fasqueda de usuarios y filtrado de borde.

El contrato inteligente de DoubleZero es la piedra angular para garantizar que la red mantenga enlaces de alta calidad que puedan medirse e integrarse en la topolog\u00eda, permitiendo a nuestros controladores de red desarrollar la ruta m\u00e1s eficiente de extremo a extremo entre nuestros diferentes usuarios y puntos finales. Tras la ejecuci\u00f3n del contrato inteligente y el despliegue del equipo de red y el ancho de banda, una entidad se clasifica como contribuidor de red. Consulte Econom\u00eda de DoubleZero para comprender mejor la econom\u00eda detr\u00e1s de participar en DoubleZero como contribuidor de red.

"},{"location":"es/contribute/#requisitos-para-ser-contribuidor-de-red-doublezero","title":"Requisitos para ser Contribuidor de Red DoubleZero","text":""},{"location":"es/contribute/#guia-de-inicio-rapido","title":"Gu\u00eda de Inicio R\u00e1pido","text":"

Como contribuidor de red, la forma m\u00e1s sencilla de comenzar en DoubleZero es identificando capacidad en su red que pueda dedicarse a DoubleZero. Una vez identificados, los DZDs deben desplegarse, facilitando la red superpuesta DoubleZero que solo requiere alcanzabilidad IPv4 y un MTU m\u00ednimo de 2048 bytes como dependencias de la red del contribuidor.

La Figura 1 destaca el modelo m\u00e1s simple para contribuir con ancho de banda y servicios de env\u00edo y procesamiento de paquetes. Se despliega un DZD en cada centro de datos, interactuando con la red interna del contribuidor de red para proporcionar conectividad WAN de DoubleZero. Esto se complementa con internet local, t\u00edpicamente una soluci\u00f3n de Acceso Directo a Internet (DIA), que se usa como rampas de acceso para los usuarios de DoubleZero. Si bien se espera que DIA sea la opci\u00f3n preferida para facilitar el acceso a los usuarios de DoubleZero, son posibles numerosos modelos de conectividad, por ejemplo, cableado f\u00edsico a servidores, extensi\u00f3n de fabric de red, etc. Nos referimos a estas opciones como Elige Tu Propia Aventura (CYOA), proporcionando al contribuidor flexibilidad para conectar usuarios locales o remotos de una manera que mejor se adapte a sus pol\u00edticas de red internas.

Como con cualquier red, la alcanzabilidad es una parte fundamental de la arquitectura, ya que los contribuidores de red no pueden vivir en aislamiento. Como tal, el DZD debe tener un enlace a un Exchange DoubleZero (DZX) para crear una red contigua entre los participantes.

Figura 1: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 2 Centros de Datos - Contribuidor \u00danico"},{"location":"es/contribute/#ejemplos-de-contribuciones","title":"Ejemplos de Contribuciones","text":"

Las formas en que un contribuidor de red puede hacer crecer sus contribuciones a DoubleZero son muchas, incluyendo:

"},{"location":"es/contribute/#ejemplo-1-contribuidor-unico-3-centros-de-datos-dos-enlaces","title":"Ejemplo 1: Contribuidor \u00danico, 3 Centros de Datos, Dos Enlaces","text":"Figura 2: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 3 Centros de Datos - Contribuidor \u00danico

Un solo DZD puede soportar m\u00faltiples enlaces contribuidos a DoubleZero. La Figura 2 ilustra una topolog\u00eda potencial si un solo centro de datos, denominado 1, termina el ancho de banda hacia dos centros de datos remotos diferentes, 2 y 3. En este escenario, cada centro de datos contiene solo 1 DZD. Todos los DZDs utilizan DIA para las rampas de acceso de usuarios como su interfaz CYOA.

"},{"location":"es/contribute/#ejemplo-2-contribuidor-unico-3-centros-de-datos-tres-enlaces","title":"Ejemplo 2: Contribuidor \u00danico, 3 Centros de Datos, Tres Enlaces","text":"

La Figura 3 describe la topolog\u00eda de DoubleZero cuando un \u00fanico contribuidor despliega tres enlaces en una topolog\u00eda triangular entre 3 centros de datos. En un escenario similar al ejemplo 1, se despliega un \u00fanico DZD en los centros de datos 1, 2 y 3, cada uno soportando 2 enlaces de red independientes. La topolog\u00eda resultante es un tri\u00e1ngulo o anillo entre los centros de datos.

Figura 3: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 3 Centros de Datos - Contribuidor \u00danico"},{"location":"es/contribute/#exchange-doublezero","title":"Exchange DoubleZero","text":"

La creaci\u00f3n de una red contigua es un elemento fundamental de la arquitectura DoubleZero. Los contribuidores se interconectan a trav\u00e9s de un Exchange DoubleZero (DZX) dentro de un \u00e1rea metropolitana, que es una ciudad como Nueva York (NYC), Londres (LON) o Tokio (TYO). Un DZX es un fabric de red similar a un Exchange de Internet, que permite el peering y el intercambio de rutas.

En la figura 4, el contribuidor de red 1 opera en los centros de datos 1, 2 y 3, mientras que el contribuidor de red 2 opera en los centros de datos 2, 4 y 5. Al interconectarse en el centro de datos 2, el alcance de la red DoubleZero aumenta a 5 centros de datos contiguos.

Figura 4: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 2 Contribuidores de Ancho de Banda de Red"},{"location":"es/contribute/#opciones-de-contribucion-de-ancho-de-banda","title":"Opciones de Contribuci\u00f3n de Ancho de Banda","text":"

DoubleZero requiere que un contribuidor de red ofrezca conectividad integrada mediante un perfil garantizado de ancho de banda, latencia y jitter entre DZDs en dos centros de datos terminales expresado a trav\u00e9s de un contrato inteligente. DoubleZero no exige c\u00f3mo un contribuidor de red implementa su contribuci\u00f3n; sin embargo, en las siguientes secciones proporcionamos opciones indicativas para su uso a su sola discreci\u00f3n.

Las \u00e1reas importantes a considerar para un contribuidor de red podr\u00edan ser:

"},{"location":"es/contribute/#ancho-de-banda-de-capa-1","title":"Ancho de Banda de Capa 1","text":"Figura 5: Servicios \u00d3pticos de Capa 1

El ancho de banda de Capa 1, descrito m\u00e1s formalmente como servicios de longitud de onda, puede ver capacidad dedicada aprovisionada en una infraestructura \u00f3ptica existente, como DWDM, CWDM o mediante multiplexores \u00f3pticos (MUX). En la figura 5, los DZDs utilizan una \u00f3ptica de color que se conecta a un MUX L1, que intercala la longitud de onda del DZD en una fibra oscura existente.

Esta soluci\u00f3n tiene numerosos beneficios para los contribuidores de red que ya operan una red troncal existente. Los cambios operativos iterativos, as\u00ed como los requisitos adicionales de CAPEX y OPEX, son modestos. Esta opci\u00f3n es particularmente robusta para ofrecer segregaci\u00f3n de los servicios de red del contribuidor.

"},{"location":"es/contribute/#ancho-de-banda-de-red-conmutada-por-paquetes","title":"Ancho de Banda de Red Conmutada por Paquetes","text":"

Las redes conmutadas por paquetes pueden considerarse una red empresarial t\u00edpica, ejecutando protocolos est\u00e1ndar de enrutamiento y conmutaci\u00f3n para soportar aplicaciones de negocios. Hay numerosas tecnolog\u00edas de red que logran conectividad, por ejemplo, extensiones de capa 2 (L2) usando etiquetas VLAN.

"},{"location":"es/contribute/#extension-l2","title":"Extensi\u00f3n L2","text":"Figura 6: Redes Conmutadas por Paquetes - Extensi\u00f3n L2

Una extensi\u00f3n L2 como se muestra en la Figura 6 puede facilitarse mediante el etiquetado de VLAN. El puerto de un DZD puede conectarse al switch de red interna de un contribuidor, con el puerto del switch configurado como puerto de acceso en, por ejemplo, VLAN 10. Mediante el etiquetado 802.1q, esta VLAN puede llevarse a trav\u00e9s de m\u00faltiples saltos de switch en la red del contribuidor, terminando en el switch que interact\u00faa con el DZD remoto.

Esta soluci\u00f3n se beneficia de ser ampliamente compatible y relativamente f\u00e1cil de implementar, al tiempo que crea segmentaci\u00f3n entre DoubleZero y los servicios de capa 3 internos. El ancho de banda puede controlarse seg\u00fan la velocidad de interfaz del switch o enrutador interno del contribuidor. Se debe prestar especial atenci\u00f3n al rendimiento a trav\u00e9s de la red L2 interna compartida mediante tecnolog\u00edas como Calidad de Servicio (QoS) u otras pol\u00edticas de gesti\u00f3n de tr\u00e1fico. Sin embargo, las inversiones adicionales de CAPEX y OPEX deber\u00edan ser modestas si hay capacidad disponible dentro de la red troncal del contribuidor.

"},{"location":"es/contribute/#ancho-de-banda-dedicado-de-terceros","title":"Ancho de Banda Dedicado de Terceros","text":"Figura 7: Ancho de Banda Dedicado de Terceros

Si bien reutilizar la capacidad disponible ser\u00e1 atractivo para muchos contribuidores de red, tambi\u00e9n se puede dedicar ancho de banda reci\u00e9n adquirido a DoubleZero. En tal escenario, el DZD se conectar\u00eda directamente al operador de terceros sin ning\u00fan dispositivo interno del contribuidor en l\u00ednea (figura 7).

Esta opci\u00f3n es atractiva ya que garantiza ancho de banda dedicado para DoubleZero, es operativamente simple y asegura una segmentaci\u00f3n completa de cualquier otro servicio de red. Esta opci\u00f3n probablemente tendr\u00e1 el mayor aumento de OPEX y requiere nuevos contratos de servicio con operadores de terceros.

"},{"location":"es/contribute/#requisitos-de-hardware","title":"Requisitos de Hardware","text":""},{"location":"es/contribute/#contribucion-de-ancho-de-banda-de-100-gbps","title":"Contribuci\u00f3n de Ancho de Banda de 100 Gbps","text":"

Tenga en cuenta que las cantidades a continuaci\u00f3n reflejan el equipo necesario en dos centros de datos, es decir, el hardware total necesario para desplegar 1 cable de fibra \u00f3ptica para la contribuci\u00f3n de ancho de banda.

*Todas las FPGAs est\u00e1n sujetas a pruebas finales. Las contribuciones de 10G pueden ser compatibles usando switches Arista 7130LBR con FPGAs Virtex\u00ae UltraScale+\u2122 integradas duales (si tiene alguna pregunta, la Fundaci\u00f3n DoubleZero / Malbec Labs est\u00e1n felices de proporcionar m\u00e1s informaci\u00f3n)."},{"location":"es/contribute/#requisitos-de-funcion-y-puerto","title":"Requisitos de Funci\u00f3n y Puerto","text":"Funci\u00f3n Velocidad de Puerto Requisito DZ CANT Nota Ancho de Banda Privado 100G S\u00ed 1 Acceso Directo a Internet (DIA) 10G S\u00ed 2 DoubleZero eXchange (DZX) 100G S\u00ed* 1 Debe ser compatible cuando m\u00e1s de 3 proveedores operan en la misma \u00e1rea metropolitana; antes de esto, se pueden usar conexiones cruzadas u otros acuerdos de peering para interconectarse con otros proveedores. Gesti\u00f3n No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor. Consola No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor."},{"location":"es/contribute/#hardware-de-red-dzd","title":"Hardware de Red DZD","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota AMD* V80* 24540474 S\u00ed 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ed 2 Pueden ser posibles alternativas si los tiempos de entrega son desafiantes."},{"location":"es/contribute/#optica-100g","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 100GBASE-LR QSFP-100G-LR No 16 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Se requieren 100G para conectar FPGAs."},{"location":"es/contribute/#optica-10g","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 10GBASE-LR SFP-10G-LR No 2 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 2 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor."},{"location":"es/contribute/#direccionamiento-ip","title":"Direccionamiento IP","text":"Direccionamiento IP Tama\u00f1o M\u00ednimo de Subred Requisito DZ Nota IPv4 P\u00fablica /29 S\u00ed (para DZDs de borde/h\u00edbridos) Debe ser enrutable a trav\u00e9s de DIA. Podemos eliminar la necesidad de esto con el tiempo.

Aseg\u00farese de que el pool /29 completo est\u00e9 disponible para el protocolo DZ. Cualquier requisito de direccionamiento punto a punto, por ejemplo, en interfaces DIA, debe gestionarse mediante un pool de direcciones diferente.

"},{"location":"es/contribute/#contribucion-de-ancho-de-banda-de-10-gbps","title":"Contribuci\u00f3n de Ancho de Banda de 10 Gbps","text":"

Tenga en cuenta que las cantidades reflejan el equipo de dos centros de datos, es decir, el hardware total necesario para desplegar 1 contribuci\u00f3n de ancho de banda.

"},{"location":"es/contribute/#requisitos-de-funcion-y-puerto_1","title":"Requisitos de Funci\u00f3n y Puerto","text":"Funci\u00f3n Velocidad de Puerto Requisito DZ CANT Nota Ancho de Banda Privado 10G S\u00ed 1 Acceso Directo a Internet (DIA) 10G S\u00ed 2 DoubleZero eXchange (DZX) 100G S\u00ed* 1 Debe ser compatible cuando m\u00e1s de 3 proveedores operan en la misma \u00e1rea metropolitana; antes de esto, se pueden usar conexiones cruzadas u otros acuerdos de peering para interconectarse con otros proveedores. Gesti\u00f3n No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor. Consola No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor."},{"location":"es/contribute/#hardware","title":"Hardware","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota AMD* V80* 24540474* S\u00ed 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ed 2 Pueden ser posibles alternativas si los tiempos de entrega son desafiantes."},{"location":"es/contribute/#optica-100g_1","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 100GBASE-LR QSFP-100G-LR No 14 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Se requieren 100G para conectar FPGAs."},{"location":"es/contribute/#optica-10g_1","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 10GBASE-LR SFP-10G-LR No 4 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 4 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. ---"},{"location":"es/contribute/#direccionamiento-ip_1","title":"Direccionamiento IP","text":"Direccionamiento IP Tama\u00f1o M\u00ednimo de Subred Requisito DZ Nota IPv4 P\u00fablica /29 S\u00ed (para DZDs de borde/h\u00edbridos) Debe ser enrutable a trav\u00e9s de DIA. Podemos eliminar la necesidad de esto con el tiempo.

Aseg\u00farese de que el pool /29 completo est\u00e9 disponible para el protocolo DZ. Cualquier requisito de direccionamiento punto a punto, por ejemplo, en interfaces DIA, debe gestionarse mediante un pool de direcciones diferente.

"},{"location":"es/contribute/#requisitos-del-centro-de-datos","title":"Requisitos del Centro de Datos","text":""},{"location":"es/contribute/#requisitos-de-rack-y-energia","title":"Requisitos de Rack y Energ\u00eda","text":"Requisito Especificaci\u00f3n Espacio en Rack 4U Energ\u00eda 4KW (recomendado)"},{"location":"es/contribute/#proximos-pasos","title":"Pr\u00f3ximos Pasos","text":"

\u00bfListo para aprovisionar su primer DZD? Contin\u00fae a la Gu\u00eda de Aprovisionamiento de Dispositivos.

"},{"location":"es/glossary/","title":"Glosario","text":"

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.

Esta p\u00e1gina define la terminolog\u00eda espec\u00edfica de DoubleZero utilizada en toda la documentaci\u00f3n.

"},{"location":"es/glossary/#infraestructura-de-red","title":"Infraestructura de Red","text":""},{"location":"es/glossary/#dzd-dispositivo-doublezero","title":"DZD (Dispositivo DoubleZero)","text":"

El hardware f\u00edsico de conmutaci\u00f3n de red que termina los enlaces DoubleZero y ejecuta el software Agente DoubleZero. Los DZDs se despliegan en centros de datos y proporcionan servicios de enrutamiento, procesamiento de paquetes y conectividad de usuarios. Cada DZD requiere especificaciones de hardware espec\u00edficas y ejecuta tanto el Agente de Configuraci\u00f3n como el Agente de Telemetr\u00eda.

"},{"location":"es/glossary/#dzx-exchange-doublezero","title":"DZX (Exchange DoubleZero)","text":"

Puntos de interconexi\u00f3n en la red de malla donde se unen diferentes enlaces de contribuidores. Los DZXs est\u00e1n ubicados en las principales \u00e1reas metropolitanas (por ejemplo, NYC, LON, TYO) donde se producen intersecciones de red. Los contribuidores de red deben interconectar sus enlaces a la malla DoubleZero m\u00e1s amplia en el DZX m\u00e1s cercano. Concepto similar a un Internet Exchange (IX).

"},{"location":"es/glossary/#enlace-wan","title":"Enlace WAN","text":"

Un enlace de Red de \u00c1rea Amplia entre dos DZDs operados por el mismo contribuidor. Los enlaces WAN proporcionan conectividad de backbone dentro de la infraestructura de un solo contribuidor.

"},{"location":"es/glossary/#enlace-dzx","title":"Enlace DZX","text":"

Un enlace entre DZDs operados por diferentes contribuidores, establecido en un DZX. Los enlaces DZX requieren aceptaci\u00f3n expl\u00edcita de ambas partes.

"},{"location":"es/glossary/#prefijo-dz","title":"Prefijo DZ","text":"

Asignaciones de direcciones IP en formato CIDR asignadas a un DZD para el direccionamiento de la red superpuesta. Se especifica durante la creaci\u00f3n del dispositivo usando el par\u00e1metro --dz-prefixes.

"},{"location":"es/glossary/#tipos-de-dispositivos","title":"Tipos de Dispositivos","text":""},{"location":"es/glossary/#dispositivo-de-borde","title":"Dispositivo de Borde","text":"

Un DZD que proporciona conectividad de usuarios a la red DoubleZero. Los dispositivos de borde utilizan interfaces CYOA para terminar usuarios (validadores, operadores RPC) y conectarlos a la red.

"},{"location":"es/glossary/#dispositivo-de-transito","title":"Dispositivo de Tr\u00e1nsito","text":"

Un DZD que proporciona conectividad de backbone dentro de la red DoubleZero. Los dispositivos de tr\u00e1nsito mueven el tr\u00e1fico entre DZDs pero no terminan conexiones de usuarios directamente.

"},{"location":"es/glossary/#dispositivo-hibrido","title":"Dispositivo H\u00edbrido","text":"

Un DZD que combina funcionalidades de borde y tr\u00e1nsito, proporcionando tanto conectividad de usuarios como enrutamiento de backbone.

"},{"location":"es/glossary/#conectividad","title":"Conectividad","text":""},{"location":"es/glossary/#cyoa-elige-tu-propia-aventura","title":"CYOA (Elige Tu Propia Aventura)","text":"

Tipos de interfaz que permiten a los contribuidores registrar opciones de conectividad para que los usuarios se conecten a la red DoubleZero. Las interfaces CYOA incluyen varios m\u00e9todos como DIA, t\u00faneles GRE y peering privado. Consulte Creaci\u00f3n de Interfaces CYOA para obtener detalles de configuraci\u00f3n.

"},{"location":"es/glossary/#dia-acceso-directo-a-internet","title":"DIA (Acceso Directo a Internet)","text":"

Un t\u00e9rmino de red est\u00e1ndar para la conectividad proporcionada a trav\u00e9s de la internet p\u00fablica. En DoubleZero, DIA es un tipo de interfaz CYOA donde los usuarios (validadores, operadores RPC) se conectan a un DZD a trav\u00e9s de su conexi\u00f3n a internet existente.

"},{"location":"es/glossary/#ibrl-aumentar-ancho-de-banda-reducir-latencia","title":"IBRL (Aumentar Ancho de Banda Reducir Latencia)","text":"

Un modo de conexi\u00f3n que permite a los validadores y nodos RPC conectarse a DoubleZero sin reiniciar sus clientes blockchain. IBRL usa la direcci\u00f3n IP p\u00fablica existente y establece un t\u00fanel superpuesto al DZD m\u00e1s cercano. Consulte Conexi\u00f3n Mainnet-Beta para instrucciones de configuraci\u00f3n.

"},{"location":"es/glossary/#multicast","title":"Multicast","text":"

Un m\u00e9todo de entrega de paquetes de uno a muchos compatible con DoubleZero. El modo multicast tiene dos roles: publicador (env\u00eda paquetes a trav\u00e9s de la red) y suscriptor (recibe paquetes del publicador). Utilizado por equipos de desarrollo para una distribuci\u00f3n eficiente de datos. Consulte Otra Conexi\u00f3n Multicast para obtener detalles de conexi\u00f3n.

"},{"location":"es/glossary/#componentes-de-software","title":"Componentes de Software","text":""},{"location":"es/glossary/#doublezerod","title":"doublezerod","text":"

El servicio daemon DoubleZero que se ejecuta en servidores de usuarios (validadores, nodos RPC). Gestiona la conexi\u00f3n a la red DoubleZero, maneja el establecimiento de t\u00faneles y mantiene la conectividad con los DZDs. Se configura mediante systemd y se controla a trav\u00e9s de la CLI doublezero.

"},{"location":"es/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

La interfaz de l\u00ednea de comandos para interactuar con la red DoubleZero. Se usa para conectarse, gestionar identidades, verificar el estado y realizar operaciones administrativas. Se comunica con el daemon doublezerod.

"},{"location":"es/glossary/#agente-de-configuracion","title":"Agente de Configuraci\u00f3n","text":"

Agente de software que se ejecuta en los DZDs y gestiona la configuraci\u00f3n del dispositivo. Lee la configuraci\u00f3n del servicio Controlador y aplica los cambios al dispositivo. Consulte Instalaci\u00f3n del Agente de Configuraci\u00f3n para la configuraci\u00f3n.

"},{"location":"es/glossary/#agente-de-telemetria","title":"Agente de Telemetr\u00eda","text":"

Agente de software que se ejecuta en los DZDs y recopila m\u00e9tricas de rendimiento (latencia, jitter, p\u00e9rdida de paquetes) y las env\u00eda al ledger DoubleZero. Consulte Instalaci\u00f3n del Agente de Telemetr\u00eda para la configuraci\u00f3n.

"},{"location":"es/glossary/#controlador","title":"Controlador","text":"

Un servicio que proporciona configuraci\u00f3n a los agentes DZD. El Controlador deriva las configuraciones de dispositivos a partir del estado onchain en el ledger DoubleZero.

"},{"location":"es/glossary/#estados-de-enlace","title":"Estados de Enlace","text":""},{"location":"es/glossary/#activado","title":"Activado","text":"

El estado operativo normal de un enlace. El tr\u00e1fico fluye a trav\u00e9s del enlace y participa en las decisiones de enrutamiento.

"},{"location":"es/glossary/#drenado-suave","title":"Drenado Suave","text":"

Un estado de mantenimiento donde el tr\u00e1fico se desalienta en un enlace espec\u00edfico. Se usa para ventanas de mantenimiento controladas. Puede transitar a activado o drenado duro.

"},{"location":"es/glossary/#drenado-duro","title":"Drenado Duro","text":"

Un estado de mantenimiento donde el enlace se retira completamente del servicio. No fluye tr\u00e1fico a trav\u00e9s del enlace. Debe transitar a drenado suave antes de volver a activado.

"},{"location":"es/glossary/#organizaciones-y-tokens","title":"Organizaciones y Tokens","text":""},{"location":"es/glossary/#dzf-fundacion-doublezero","title":"DZF (Fundaci\u00f3n DoubleZero)","text":"

La Fundaci\u00f3n DoubleZero es una empresa de fundaci\u00f3n sin fines de lucro de las Islas Caim\u00e1n que se form\u00f3 para apoyar el desarrollo, la descentralizaci\u00f3n, la seguridad y la adopci\u00f3n de la red DoubleZero.

"},{"location":"es/glossary/#token-2z","title":"Token 2Z","text":"

El token nativo de la red DoubleZero. Se usa para pagar las tarifas de los validadores y se distribuye como recompensas a los contribuidores. Los validadores pueden pagar tarifas en 2Z a trav\u00e9s de un programa de intercambio onchain. Consulte Pagar Tarifas con 2Z e Intercambiar SOL por 2Z.

"},{"location":"es/glossary/#contribuidor","title":"Contribuidor","text":"

Un proveedor de infraestructura de red que aporta ancho de banda y hardware a la red DoubleZero. Los contribuidores operan DZDs, proporcionan enlaces WAN y DZX, y reciben incentivos en tokens 2Z por su contribuci\u00f3n. Consulte la Documentaci\u00f3n para Contribuidores para comenzar.

"},{"location":"es/glossary/#conceptos-de-redes","title":"Conceptos de Redes","text":""},{"location":"es/glossary/#mtu-unidad-maxima-de-transmision","title":"MTU (Unidad M\u00e1xima de Transmisi\u00f3n)","text":"

El tama\u00f1o m\u00e1ximo de paquete (en bytes) que se puede transmitir a trav\u00e9s de un enlace de red. Los enlaces WAN de DoubleZero t\u00edpicamente usan MTU 9000 (tramas jumbo) para mayor eficiencia.

"},{"location":"es/glossary/#vrf-enrutamiento-y-reenvio-virtual","title":"VRF (Enrutamiento y Reenv\u00edo Virtual)","text":"

Una tecnolog\u00eda que permite que existan m\u00faltiples tablas de enrutamiento aisladas en el mismo router f\u00edsico. Los contribuidores a menudo usan un VRF de gesti\u00f3n separado para aislar el tr\u00e1fico de gesti\u00f3n del switch del tr\u00e1fico de producci\u00f3n.

"},{"location":"es/glossary/#gre-encapsulacion-de-enrutamiento-generico","title":"GRE (Encapsulaci\u00f3n de Enrutamiento Gen\u00e9rico)","text":"

Un protocolo de tunelizaci\u00f3n que encapsula paquetes de red dentro de paquetes IP. Usado por conexiones IBRL y CYOA para crear t\u00faneles superpuestos entre usuarios y DZDs.

"},{"location":"es/glossary/#bgp-protocolo-de-puerta-de-enlace-de-borde","title":"BGP (Protocolo de Puerta de Enlace de Borde)","text":"

El protocolo de enrutamiento utilizado para intercambiar informaci\u00f3n de enrutamiento entre redes en internet. DoubleZero usa BGP internamente con ASN 65342.

"},{"location":"es/glossary/#asn-numero-de-sistema-autonomo","title":"ASN (N\u00famero de Sistema Aut\u00f3nomo)","text":"

Un identificador \u00fanico asignado a una red para el enrutamiento BGP. Todos los dispositivos DoubleZero usan ASN 65342 para el proceso BGP interno.

"},{"location":"es/glossary/#interfaz-loopback","title":"Interfaz Loopback","text":"

Una interfaz de red virtual en un router/switch utilizada para gesti\u00f3n y prop\u00f3sitos de enrutamiento. Los DZDs usan Loopback255 (VPNv4) y Loopback256 (IPv4) para el enrutamiento interno.

"},{"location":"es/glossary/#cidr-enrutamiento-entre-dominios-sin-clases","title":"CIDR (Enrutamiento entre Dominios sin Clases)","text":"

Una notaci\u00f3n para especificar rangos de direcciones IP. El formato es IP/longitud-de-prefijo donde la longitud del prefijo indica el tama\u00f1o de la red (por ejemplo, /29 = 8 direcciones, /24 = 256 direcciones).

"},{"location":"es/glossary/#jitter","title":"Jitter","text":"

Variaci\u00f3n en la latencia de los paquetes a lo largo del tiempo. El bajo jitter es cr\u00edtico para aplicaciones en tiempo real.

"},{"location":"es/glossary/#rtt-tiempo-de-ida-y-vuelta","title":"RTT (Tiempo de Ida y Vuelta)","text":"

El tiempo que tarda un paquete en viajar desde el origen hasta el destino y volver. Se usa para medir la latencia de red entre dispositivos.

"},{"location":"es/glossary/#twamp-protocolo-de-medicion-activa-bidireccional","title":"TWAMP (Protocolo de Medici\u00f3n Activa Bidireccional)","text":"

Un protocolo para medir m\u00e9tricas de rendimiento de red como la latencia y la p\u00e9rdida de paquetes. El Agente de Telemetr\u00eda usa TWAMP para recopilar m\u00e9tricas entre DZDs.

"},{"location":"es/glossary/#is-is-sistema-intermedio-a-sistema-intermedio","title":"IS-IS (Sistema Intermedio a Sistema Intermedio)","text":"

Un protocolo de enrutamiento de estado de enlace utilizado internamente por la red DoubleZero. Las m\u00e9tricas IS-IS se ajustan durante las operaciones de drenado de enlaces.

"},{"location":"es/glossary/#blockchain-y-claves","title":"Blockchain y Claves","text":""},{"location":"es/glossary/#onchain","title":"Onchain","text":"

En el contexto de DoubleZero, onchain se refiere a los datos y operaciones registrados en el ledger DoubleZero. A diferencia de las redes tradicionales donde las configuraciones de dispositivos y enlaces viven en sistemas de gesti\u00f3n centralizados, DoubleZero registra las registraciones de dispositivos, las configuraciones de enlaces y las presentaciones de telemetr\u00eda onchain, lo que hace que el estado de la red sea transparente y verificable por todos los participantes.

"},{"location":"es/glossary/#clave-de-servicio","title":"Clave de Servicio","text":"

Un par de claves criptogr\u00e1ficas utilizado para autenticar las operaciones de CLI. Esta es su identidad de contribuidor para interactuar con el contrato inteligente DoubleZero. Se almacena en ~/.config/solana/id.json.

"},{"location":"es/glossary/#clave-de-editor-de-metricas","title":"Clave de Editor de M\u00e9tricas","text":"

Un par de claves criptogr\u00e1ficas utilizado por el Agente de Telemetr\u00eda para firmar las presentaciones de m\u00e9tricas a la blockchain. Separado de la clave de servicio para el aislamiento de seguridad. Se almacena en ~/.config/doublezero/metrics-publisher.json.

"},{"location":"es/glossary/#hardware-y-software","title":"Hardware y Software","text":""},{"location":"es/glossary/#eos-sistema-operativo-extensible","title":"EOS (Sistema Operativo Extensible)","text":"

El sistema operativo de red de Arista que se ejecuta en los switches DZD. Los contribuidores instalan el Agente de Configuraci\u00f3n y el Agente de Telemetr\u00eda como extensiones EOS.

"},{"location":"es/glossary/#extension-eos","title":"Extensi\u00f3n EOS","text":"

Un paquete de software que puede instalarse en switches Arista EOS. Los agentes DZ se distribuyen como archivos .rpm y se instalan mediante el comando extension.

"},{"location":"es/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"es/multicast-admin/#gestion-de-grupos-multicast-en-doublezero","title":"Gesti\u00f3n de Grupos Multicast en DoubleZero","text":"

Un grupo multicast es una colecci\u00f3n l\u00f3gica de dispositivos o nodos de red que comparten un identificador com\u00fan (t\u00edpicamente una direcci\u00f3n IP multicast) para transmitir datos eficientemente a m\u00faltiples destinatarios. A diferencia de la comunicaci\u00f3n unicast (uno a uno) o broadcast (uno a todos), el multicast permite a un remitente transmitir un \u00fanico flujo de datos que es replicado por la red solo para los receptores que se han unido al grupo.

Este enfoque optimiza el uso del ancho de banda y reduce la carga tanto en el remitente como en la infraestructura de red, ya que los paquetes se transmiten solo una vez por enlace y se duplican solo cuando es necesario para llegar a m\u00faltiples suscriptores. Los grupos multicast se usan com\u00fanmente en escenarios como transmisi\u00f3n de video en vivo, conferencias, distribuci\u00f3n de datos financieros y sistemas de mensajer\u00eda en tiempo real.

En DoubleZero, los grupos multicast proporcionan un mecanismo seguro y controlado para gestionar qui\u00e9n puede enviar (publicadores) y recibir (suscriptores) datos dentro de cada grupo, garantizando una distribuci\u00f3n de informaci\u00f3n eficiente y gobernada.

flowchart LR\n    subgraph Publishers\n        P1[Publicador 1]\n        P2[Publicador 2]\n        P3[Publicador 3]\n    end\n    subgraph Subscribers\n        S1[Suscriptor 1]\n        S2[Suscriptor 2]\n        S3[Suscriptor 3]\n        S4[Suscriptor 4]\n    end\n    P1 --> B[Grupo Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

El diagrama anterior muestra c\u00f3mo m\u00faltiples usuarios pueden publicar mensajes en un grupo multicast, y m\u00faltiples usuarios pueden suscribirse para recibir esos mensajes. La red DoubleZero replica eficientemente los paquetes, asegurando que todos los suscriptores reciban los mensajes sin sobrecarga de transmisi\u00f3n innecesaria.

"},{"location":"es/multicast-admin/#1-creacion-y-listado-de-grupos-multicast","title":"1. Creaci\u00f3n y Listado de Grupos Multicast","text":"

Los grupos multicast son la base para la distribuci\u00f3n segura y eficiente de datos en DoubleZero. Cada grupo se identifica de forma \u00fanica y se configura con un ancho de banda y propietario espec\u00edficos. Solo los administradores de la Fundaci\u00f3n DoubleZero pueden crear nuevos grupos multicast, garantizando una gobernanza y asignaci\u00f3n de recursos adecuadas.

Una vez creados, los grupos multicast pueden listarse para proporcionar una visi\u00f3n general de todos los grupos disponibles, su configuraci\u00f3n y su estado actual. Esto es esencial para que los operadores de red y propietarios de grupos monitoreen recursos y gestionen el acceso.

Creaci\u00f3n de un grupo multicast:

Solo la Fundaci\u00f3n DoubleZero puede crear nuevos grupos multicast. El comando de creaci\u00f3n requiere un c\u00f3digo \u00fanico, el ancho de banda m\u00e1ximo y la clave p\u00fablica del propietario (o 'me' para el pagador actual).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Listar todos los grupos multicast:

Para listar todos los grupos multicast y ver informaci\u00f3n resumida (incluyendo el c\u00f3digo del grupo, IP multicast, ancho de banda, n\u00famero de publicadores y suscriptores, estado y propietario):

doublezero multicast group list\n

Este comando muestra una tabla con todos los grupos multicast y sus principales propiedades.

Una vez creado un grupo, el propietario puede gestionar qu\u00e9 usuarios pueden conectarse como publicadores o suscriptores.

"},{"location":"es/multicast-admin/#2-gestion-de-listas-de-permitidos-de-publicadoressuscriptores","title":"2. Gesti\u00f3n de Listas de Permitidos de Publicadores/Suscriptores","text":"

Las listas de permitidos de publicadores y suscriptores son esenciales para controlar el acceso a los grupos multicast en DoubleZero. Estas listas definen expl\u00edcitamente qu\u00e9 usuarios pueden publicar (enviar datos) o suscribirse (recibir datos) dentro de un grupo multicast espec\u00edfico.

Gestionar estas listas es responsabilidad del propietario del grupo, quien puede a\u00f1adir, eliminar o ver publicadores y suscriptores autorizados usando el CLI de DoubleZero.

Nota: Para suscribirse o publicar en un grupo multicast, un usuario debe estar primero autorizado para conectarse a DoubleZero siguiendo los procedimientos de conexi\u00f3n est\u00e1ndar. Los comandos de lista de permitidos descritos aqu\u00ed solo asocian un usuario DoubleZero ya autorizado con un grupo multicast. A\u00f1adir una nueva IP a la lista de permitidos de un grupo multicast no otorga por s\u00ed mismo acceso a DoubleZero; el usuario debe haber completado ya el proceso de autorizaci\u00f3n general antes de interactuar con grupos multicast.

"},{"location":"es/multicast-admin/#anadir-un-publicador-a-la-lista-de-permitidos","title":"A\u00f1adir un publicador a la lista de permitidos","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#eliminar-un-publicador-de-la-lista-de-permitidos","title":"Eliminar un publicador de la lista de permitidos","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#listar-la-lista-de-permitidos-de-publicadores-de-un-grupo","title":"Listar la lista de permitidos de publicadores de un grupo","text":"

Para listar todos los publicadores en la lista de permitidos de un grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist publisher list --code <CODE>\n

Este comando muestra todos los publicadores actualmente autorizados para conectarse al grupo especificado, incluyendo su cuenta, c\u00f3digo de grupo, IP del cliente y pagador de usuario.

"},{"location":"es/multicast-admin/#anadir-un-suscriptor-a-la-lista-de-permitidos","title":"A\u00f1adir un suscriptor a la lista de permitidos","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#eliminar-un-suscriptor-de-la-lista-de-permitidos","title":"Eliminar un suscriptor de la lista de permitidos","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#listar-la-lista-de-permitidos-de-suscriptores-de-un-grupo","title":"Listar la lista de permitidos de suscriptores de un grupo","text":"

Para listar todos los suscriptores en la lista de permitidos de un grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Este comando muestra todos los suscriptores actualmente autorizados para conectarse al grupo especificado.

Para m\u00e1s informaci\u00f3n sobre conexi\u00f3n y uso de multicast, consulte Otras Conexiones Multicast.

"},{"location":"es/paying-fees/","title":"Precios y Tarifas para Validadores","text":"

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.

Precios simples y alineados para validadores Solana

Las tarifas comenzar\u00e1n en la \u00e9poca 859, que inicia el s\u00e1bado 4 de octubre a las 4am ET. Se cobra una tarifa plana del 5% sobre las recompensas por firma de bloques y las tarifas de prioridad.

Las tarifas financian directamente la infraestructura que hace posible DoubleZero, incluyendo l\u00edneas de fibra f\u00edsica y equipos en centros de datos.

Una exploraci\u00f3n detallada sobre por qu\u00e9 existen las tarifas y el modelo de precios para validadores se puede encontrar aqu\u00ed.

Esta gu\u00eda se enfoca en c\u00f3mo se pagan las tarifas desde una perspectiva t\u00e9cnica.

"},{"location":"es/paying-fees/#modelo-de-liquidacion","title":"Modelo de Liquidaci\u00f3n","text":""},{"location":"es/paying-fees/#estimacion-de-tarifas","title":"Estimaci\u00f3n de Tarifas","text":"

Las estimaciones hist\u00f3ricas y los datos por pubkey est\u00e1n disponibles en el Repositorio de Estimaciones de Tarifas. El repositorio no reemplaza los datos on-chain. Usted es responsable del saldo on-chain, no del saldo en este repositorio.

\u00bfPreguntas? Contacte a Nihar Shah en nihar@doublezero.us

"},{"location":"es/paying-fees/#detalles-para-desarrolladores","title":"Detalles para Desarrolladores","text":""},{"location":"es/paying-fees/#interfaz-de-linea-de-comandos","title":"Interfaz de L\u00ednea de Comandos","text":"

El CLI de DoubleZero proporciona comandos para gestionar los dep\u00f3sitos de validadores y monitorear saldos. Necesitar\u00e1 SOL en la cuenta desde la que ejecute estos comandos para pagar el gas.

"},{"location":"es/paying-fees/#paso-1-comprender-la-deuda-adeudada","title":"Paso 1: Comprender la Deuda Adeudada","text":"

Para ver la deuda en una direcci\u00f3n espec\u00edfica puede usar este formato:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Examinaremos un ejemplo de salida a continuaci\u00f3n:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
En el ejemplo de salida hay dos posibles resultados bajo note. Not funded significa que la cuenta no ha sido financiada. En el ejemplo, 0.632515639 SOL needed es la cantidad pendiente de SOL necesaria para pagar todas las deudas actualmente adeudadas asociadas con el ID de Validador objetivo.

"},{"location":"es/paying-fees/#paso-2-pagar-la-deuda-adeudada","title":"Paso 2: Pagar la Deuda Adeudada","text":"

Note

Puede programar este comando para que se ejecute a intervalos regulares.

Para pagar la deuda adeudada puede usar el siguiente comando. Esto usar\u00e1 autom\u00e1ticamente el keypair predeterminado en $HOME/.config/solana/id.json

Puede especificar el keypair con el que desea pagar su deuda a\u00f1adiendo el argumento -k path/to/keypair.json al final del comando.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
A continuaci\u00f3n se proporciona un ejemplo de salida:

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: devuelve la cuenta de dep\u00f3sito que fue financiada

Funded: devuelve el hash de la transacci\u00f3n, que puede consultar en su explorador Solana favorito

Node ID: devuelve el ID del Validador por el que se pag\u00f3

Balance: devuelve la cantidad de SOL que hay en la cuenta de dep\u00f3sito, despu\u00e9s de que se complete la transferencia

"},{"location":"es/paying-fees2z/","title":"Paying fees2z","text":"

Revise el Descargo de Responsabilidad antes de acceder o usar el c\u00f3digo o cualquier material relacionado.

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.

Descargo de Responsabilidad

Este documento y el c\u00f3digo asociado se proporcionan \u00fanicamente con fines informativos y t\u00e9cnicos. La funcionalidad de conversi\u00f3n de tokens descrita aqu\u00ed es sin custodia: los usuarios interact\u00faan directamente con los contratos inteligentes subyacentes y retienen el control total de sus activos en todo momento.

El sistema puede depender de o interactuar con c\u00f3digo, fuentes de datos o mecanismos de precios y tarifas de terceros (por ejemplo, contratos inteligentes, APIs o exchanges descentralizados) que no son desarrollados, controlados ni revisados por los desarrolladores o publicadores. No se hace ninguna declaraci\u00f3n o garant\u00eda sobre la precisi\u00f3n, funcionalidad o seguridad de ning\u00fan componente de terceros. Los desarrolladores y publicadores de este c\u00f3digo no garantizan su exactitud, integridad o disponibilidad continua. El c\u00f3digo y los materiales relacionados se proporcionan \"tal cual\" y pueden contener errores, bugs o vulnerabilidades. El uso es completamente bajo su propio riesgo. Los desarrolladores y publicadores no reciben ninguna tarifa en conexi\u00f3n con el uso de estos contratos. No tienen ninguna obligaci\u00f3n de mantener, actualizar o apoyar el c\u00f3digo o la documentaci\u00f3n relacionada.

Este documento no constituye una oferta de venta, una solicitud de compra ni una recomendaci\u00f3n para participar en ninguna conversi\u00f3n de tokens, swap u otra transacci\u00f3n. No se proporciona asesoramiento legal, financiero ni de inversi\u00f3n. Los usuarios son los \u00fanicos responsables de determinar la legalidad de sus actividades. Deben revisar las leyes y regulaciones aplicables en su jurisdicci\u00f3n y consultar asesores independientes antes de usar el c\u00f3digo o participar en cualquier conversi\u00f3n. El uso est\u00e1 prohibido donde sea ilegal, incluso por personas o entidades sujetas a sanciones o en jurisdicciones restringidas.

En la medida m\u00e1xima permitida por la ley, los desarrolladores y publicadores rechazan toda responsabilidad por cualquier p\u00e9rdida, da\u00f1o o reclamaci\u00f3n que surja de o en relaci\u00f3n con el uso del c\u00f3digo o la participaci\u00f3n en la conversi\u00f3n.

La revisi\u00f3n y el uso de este documento y el c\u00f3digo asociado est\u00e1n sujetos a los T\u00e9rminos y Condiciones del Sitio Web y los T\u00e9rminos y Condiciones del Protocolo.

Los validadores pueden pagar sus tarifas en 2Z a trav\u00e9s de un programa de swap onchain. El swap se realiza intercambiando 2Z por SOL. El saldo de SOL en su cuenta de dep\u00f3sito se actualizar\u00e1 seg\u00fan el swap.

Este proceso siempre usar\u00e1 incrementos de 1 SOL. El resultado de este swap siempre se depositar\u00e1 directamente en su cuenta de dep\u00f3sito. Es una v\u00eda de un solo sentido: no puede recuperar el 2Z o SOL de esta transacci\u00f3n. Se enviar\u00e1 a un m\u00f3dulo de distribuci\u00f3n onchain.

"},{"location":"es/paying-fees2z/#paso-1","title":"Paso 1","text":"

Primero determine cu\u00e1l es la tasa de conversi\u00f3n actual

doublezero-solana revenue-distribution fetch sol-conversion\n

salida:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"es/paying-fees2z/#paso-2","title":"Paso 2","text":"

Coloque una orden con l\u00edmite. Ejecutar\u00e1 este swap bajo su propio riesgo. No hacemos recomendaciones sobre el perfil de riesgo, y los ejemplos proporcionados aqu\u00ed son con fines educativos.

"},{"location":"es/paying-fees2z/#como-estructurar-una-orden-con-limite","title":"C\u00f3mo estructurar una orden con l\u00edmite","text":"

Bas\u00e1ndonos en el ejemplo anterior, ahora colocaremos una orden con l\u00edmite un 5% por encima del precio de cotizaci\u00f3n. 797.76 * 1.05 = 837.65

En este ejemplo, asumiremos que la cuenta de dep\u00f3sito tiene 0 SOL.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Note en el comando anterior --fund 1, esto financia expl\u00edcitamente 1 SOL en la cuenta de dep\u00f3sito.

Si elige cualquier n\u00famero diferente a 1 recibir\u00e1 un error indicando la cantidad incorrecta:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Se le pedir\u00e1 confirmar la transacci\u00f3n:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

salida:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Observe que en un swap exitoso el Balance: se ha actualizado a 1 SOL.

Si un precio est\u00e1 fuera de su rango especificado se encontrar\u00e1 con un error como:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"es/quick-connect/","title":"Conexi\u00f3n R\u00e1pida","text":"

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.

Responda algunas preguntas y generaremos una gu\u00eda de conexi\u00f3n personalizada con los pasos y comandos exactos para su configuraci\u00f3n.

Gu\u00eda Simplificada

Este asistente proporciona fragmentos clave de la documentaci\u00f3n completa para conectarle lo m\u00e1s r\u00e1pidamente posible. Para m\u00e1s detalles, consulte las gu\u00edas de Configuraci\u00f3n e Inquilinos.

\u00bfA qu\u00e9 red se est\u00e1 conectando? Mainnet-Beta Red de producci\u00f3n para validadores activos y operadores RPC Testnet Red de pruebas y desarrollo \u00bfQu\u00e9 sistema operativo usa su servidor? Ubuntu / Debian Ubuntu 22.04+ o Debian 11+ Rocky Linux / RHEL Rocky Linux o RHEL 8+ \u00bfQu\u00e9 ecosistema? Solana Validadores y operadores RPC en Solana Shelby RPCs y Nodos de Almacenamiento en Shelby (solo Testnet) Nuevo Inquilino Otros ecosistemas \u00bfQu\u00e9 herramienta de firewall utiliza? iptables Reglas directas de iptables UFW Firewall sin complicaciones (Uncomplicated Firewall) \u00bfQu\u00e9 tipo de nodo est\u00e1 ejecutando? Validador Validador Solana programado como l\u00edder con keypair de identidad No validador (RPC) Nodo RPC o infraestructura MEV \u00bfQu\u00e9 modo de conexi\u00f3n necesita? Unicast (IBRL) Conexi\u00f3n punto a punto est\u00e1ndar Multicast Entrega de paquetes de uno a muchos (publicador/suscriptor) Ambos T\u00faneles unicast y multicast simult\u00e1neos \u00bfCu\u00e1l es su rol en multicast? Publicador Enviar datos a un grupo multicast (por ejemplo, productor de bloques) Suscriptor Recibir datos de un grupo multicast"},{"location":"es/setup/","title":"C\u00f3mo configurar DoubleZero","text":"

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.

Terminolog\u00eda

\u00bfNuevo en DoubleZero? Consulte el Glosario para ver definiciones de t\u00e9rminos como doublezerod, IBRL y DZD.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/setup/#requisitos-previos","title":"Requisitos Previos","text":"

Warning

Para validadores: DoubleZero debe instalarse directamente en el host del validador, no en un contenedor.

"},{"location":"es/setup/#conexion-a-doublezero","title":"Conexi\u00f3n a DoubleZero","text":"

DoubleZero Testnet y DoubleZero Mainnet-Beta son redes f\u00edsicamente distintas. Seleccione la red apropiada durante la instalaci\u00f3n.

Al incorporarse a DoubleZero establecer\u00e1 una identidad DoubleZero, representada por una clave p\u00fablica llamada DoubleZero ID. Esta clave forma parte de c\u00f3mo DoubleZero reconoce su m\u00e1quina.

"},{"location":"es/setup/#1-instalar-los-paquetes-de-doublezero","title":"1. Instalar los Paquetes de DoubleZero","text":"

Versiones Actuales

Paquete Mainnet-Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Siga estos pasos dependiendo de su sistema operativo:

"},{"location":"es/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

El despliegue recomendado actualmente para Mainnet-Beta es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

El despliegue recomendado actualmente para Testnet es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"es/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

El despliegue recomendado actualmente para Mainnet-Beta es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

El despliegue recomendado actualmente para Testnet es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Solo Usuarios Existentes: Cambiar un paquete de Testnet a Mainnet-Beta, o de Mainnet-Beta a Testnet

Cuando instala desde uno de los repositorios de paquetes anteriores, este es espec\u00edfico para DoubleZero Testnet o DoubleZero Mainnet Beta. Si cambia de red en alg\u00fan momento, deber\u00e1 eliminar los repositorios de paquetes instalados previamente y actualizar al repositorio de destino.

Este ejemplo le guiar\u00e1 a trav\u00e9s de la migraci\u00f3n de Testnet a Mainnet-Beta.

Los mismos pasos pueden completarse para pasar de Mainnet-Beta a Testnet, reemplazando el paso 3 con el comando de instalaci\u00f3n para Testnet arriba.

  1. Encontrar los Archivos de Repositorio Antiguos

    Primero, localice cualquier archivo de configuraci\u00f3n de repositorio DoubleZero existente en su sistema:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Eliminar los Archivos de Repositorio Antiguos

    Elimine los archivos de repositorio antiguos encontrados en el paso anterior, por ejemplo:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Instalar desde el Nuevo Repositorio

    Agregue el nuevo repositorio Mainnet-Beta e instale el \u00faltimo paquete:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"es/setup/#verificar-el-estado-de-doublezerod","title":"Verificar el estado de doublezerod","text":"

Despu\u00e9s de que el paquete est\u00e9 instalado, se instala, activa e inicia una nueva unidad systemd. Para ver el estado puede ejecutar:

sudo systemctl status doublezerod\n

"},{"location":"es/setup/#configurar-el-firewall-para-gre-y-bgp","title":"Configurar el Firewall para GRE y BGP","text":"

DoubleZero utiliza tunelizaci\u00f3n GRE (protocolo IP 47) y enrutamiento BGP (tcp/179 en direcciones link-local). Aseg\u00farese de que su firewall permita estos protocolos:

Permitir GRE y BGP a trav\u00e9s de iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

O permitir GRE y BGP a trav\u00e9s de UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"es/setup/#2-crear-una-nueva-identidad-doublezero","title":"2. Crear una Nueva Identidad DoubleZero","text":"

Cree una Identidad DoubleZero en su servidor con el siguiente comando:

doublezero keygen\n

Info

Si tiene un ID existente que desea usar, puede seguir estos pasos opcionales.

Crear el directorio de configuraci\u00f3n de doublezero

mkdir -p ~/.config/doublezero\n

Copie o enlace el id.json que desea usar con DoubleZero al directorio de configuraci\u00f3n de doublezero.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"es/setup/#3-recuperar-la-identidad-doublezero-del-servidor","title":"3. Recuperar la identidad DoubleZero del servidor","text":"

Revise su Identidad DoubleZero. Esta identidad se utilizar\u00e1 para crear la conexi\u00f3n entre su m\u00e1quina y DoubleZero.

doublezero address\n

Salida:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"es/setup/#4-verificar-que-doublezerod-ha-descubierto-los-dispositivos-dz","title":"4. Verificar que doublezerod ha descubierto los dispositivos DZ","text":"

Antes de conectarse, aseg\u00farese de que doublezerod haya descubierto y pingueado cada uno de los switches de testnet DZ disponibles:

doublezero latency\n

Ejemplo de salida:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Si no se devuelven dispositivos en la salida, espere 10-20 segundos y vuelva a intentarlo.

"},{"location":"es/setup/#5-desconectarse-de-doublezero","title":"5. Desconectarse de DoubleZero","text":"

En las siguientes secciones configurar\u00e1 su Entorno DoubleZero. Para garantizar el \u00e9xito, desconecte la sesi\u00f3n actual. Esto evitar\u00e1 problemas relacionados con m\u00faltiples t\u00faneles abiertos en su m\u00e1quina.

Verifique

doublezero status\n

si est\u00e1 up ejecute:

doublezero disconnect\n
"},{"location":"es/setup/#siguiente-paso-inquilino","title":"Siguiente Paso: Inquilino","text":"

La conexi\u00f3n a DoubleZero diferir\u00e1 seg\u00fan su caso de uso. En DoubleZero, los Inquilinos son grupos que tienen perfiles de usuario similares. Algunos ejemplos incluyen Blockchains, Capas de Transferencia de Datos, etc.

"},{"location":"es/setup/#proceda-a-elegir-su-inquilino-aqui","title":"Proceda a elegir su inquilino aqu\u00ed","text":""},{"location":"es/setup/#opcional-habilitar-metricas-de-prometheus","title":"Opcional: Habilitar M\u00e9tricas de Prometheus","text":"

Los operadores familiarizados con las m\u00e9tricas de Prometheus pueden querer habilitarlas para el monitoreo de DoubleZero. Esto proporciona visibilidad sobre el rendimiento del cliente DoubleZero, el estado de la conexi\u00f3n y la salud operacional.

"},{"location":"es/setup/#que-metricas-estan-disponibles","title":"Qu\u00e9 M\u00e9tricas Est\u00e1n Disponibles","text":"

DoubleZero expone varias m\u00e9tricas clave: - Informaci\u00f3n de Compilaci\u00f3n: Versi\u00f3n, hash de commit y fecha de compilaci\u00f3n - Estado de Sesi\u00f3n: Si la sesi\u00f3n de DoubleZero est\u00e1 activa - M\u00e9tricas de Conexi\u00f3n: Informaci\u00f3n de latencia y conectividad - Datos de Rendimiento: Rendimiento y tasas de error

"},{"location":"es/setup/#habilitar-metricas-de-prometheus","title":"Habilitar M\u00e9tricas de Prometheus","text":"

Para habilitar las m\u00e9tricas de Prometheus en el cliente DoubleZero, siga estos pasos:

"},{"location":"es/setup/#1-modificar-el-comando-de-inicio-del-servicio-systemd-de-doublezerod","title":"1. Modificar el comando de inicio del servicio systemd de doublezerod","text":"

Cree o edite la configuraci\u00f3n de anulaci\u00f3n de systemd:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Reemplace con esta configuraci\u00f3n:

Tenga en cuenta que el flag -env debe apuntar a testnet o mainnet-beta dependiendo de qu\u00e9 red desea recopilar datos. En el bloque de ejemplo se usa testnet. Puede reemplazarlo por mainnet-beta si es necesario.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"es/setup/#2-recargar-y-reiniciar-el-servicio","title":"2. Recargar y reiniciar el servicio","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"es/setup/#3-verificar-que-las-metricas-esten-disponibles","title":"3. Verificar que las m\u00e9tricas est\u00e9n disponibles","text":"

Compruebe que el endpoint de m\u00e9tricas est\u00e9 respondiendo:

curl -s localhost:2113/metrics | grep doublezero\n

Salida esperada:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"es/setup/#solucion-de-problemas","title":"Soluci\u00f3n de Problemas","text":"

Si las m\u00e9tricas no aparecen:

  1. Verificar el estado del servicio: sudo systemctl status doublezerod
  2. Verificar la configuraci\u00f3n: sudo systemctl cat doublezerod
  3. Revisar los logs: sudo journalctl -u doublezerod -f
  4. Probar el endpoint: curl -v localhost:2113/metrics
  5. Verificar el puerto: netstat -tlnp | grep 2113
"},{"location":"es/setup/#configurar-el-servidor-de-prometheus","title":"Configurar el Servidor de Prometheus","text":"

La configuraci\u00f3n y seguridad est\u00e1n fuera del alcance de esta documentaci\u00f3n. Grafana es una excelente opci\u00f3n para la visualizaci\u00f3n, y tiene documentaci\u00f3n disponible aqu\u00ed que detalla c\u00f3mo recopilar m\u00e9tricas de Prometheus.

"},{"location":"es/setup/#panel-de-grafana-opcional","title":"Panel de Grafana (Opcional)","text":"

Para la visualizaci\u00f3n, puede crear un panel de Grafana usando las m\u00e9tricas de DoubleZero. Los paneles comunes incluyen: - Estado de sesi\u00f3n a lo largo del tiempo - Informaci\u00f3n de compilaci\u00f3n - Tendencias de latencia de conexi\u00f3n - Monitoreo de tasa de errores

"},{"location":"es/tenant/","title":"Inquilinos","text":"

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.

Los inquilinos en DoubleZero son grupos de usuarios con perfiles similares y requisitos de conexi\u00f3n, que t\u00edpicamente representan diferentes ecosistemas blockchain, capas de transferencia de datos u otros sistemas distribuidos.

Examine la tabla a continuaci\u00f3n y elija el caso de uso que mejor describa c\u00f3mo planea interactuar con la red DoubleZero.

Solana

Caso de Uso Siguiente Paso Validador Solana Mainnet, incluyendo respaldos Conexi\u00f3n DoubleZero Mainnet-Beta Validador Solana Testnet, incluyendo respaldos Conexi\u00f3n DoubleZero Testnet No validadores - RPCs y otros. Conexi\u00f3n DoubleZero Mainnet-Beta y Testnet

Shelby

Caso de Uso Siguiente Paso RPCs y Nodos de Almacenamiento Shelby Testnet Conexi\u00f3n DoubleZero Testnet

Nuevo Inquilino

Caso de Uso Siguiente Paso Tienes un nuevo protocolo, aplicaci\u00f3n u otro caso de uso para aprovechar DoubleZero Agregar un Nuevo Inquilino"},{"location":"es/troubleshooting/","title":"Soluci\u00f3n de Problemas","text":"

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.

Esta gu\u00eda cubre una variedad de problemas y est\u00e1 en continuo desarrollo. Si completa la gu\u00eda puede buscar soporte adicional en el Discord de DoubleZero Tech.

"},{"location":"es/troubleshooting/#comandos-comunes-y-salidas","title":"Comandos Comunes y Salidas","text":"

Para comenzar, examine la salida de los siguientes comandos y sus salidas esperadas. Estos le ayudar\u00e1n en una soluci\u00f3n de problemas m\u00e1s detallada. Si abre un ticket, es posible que le pidan sus salidas.

"},{"location":"es/troubleshooting/#1-verificar-version","title":"1. Verificar Versi\u00f3n","text":"

Comando:

doublezero --version

Salida de Ejemplo:

DoubleZero 0.6.3\n

"},{"location":"es/troubleshooting/#2-verificar-direccion-doublezero","title":"2. Verificar Direcci\u00f3n DoubleZero","text":"

Comando:

doublezero address

Salida de Ejemplo:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"es/troubleshooting/#3-verificar-su-pase-de-acceso","title":"3. Verificar su Pase de Acceso","text":"

Pubkey de ejemplo: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 reempl\u00e1cela con su pubkey al ejecutar el comando.

Comando:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Salida: [nota: usamos doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' para mostrarle el encabezado en esta salida]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"es/troubleshooting/#4-verificar-creditos-del-ledger-doublezero","title":"4. Verificar Cr\u00e9ditos del Ledger DoubleZero","text":"

Comando:

doublezero balance

Salida de Ejemplo:

0.78 Credits\n

"},{"location":"es/troubleshooting/#5-verificar-estado-de-conexion","title":"5. Verificar Estado de Conexi\u00f3n","text":"

Comando:

doublezero status

Salida de Ejemplo:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"es/troubleshooting/#6-verificar-latencia","title":"6. Verificar Latencia","text":"

Comando:

doublezero latency

Salida de Ejemplo:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"es/troubleshooting/#ejemplos-de-solucion-de-problemas","title":"Ejemplos de Soluci\u00f3n de Problemas","text":"

Ahora que hemos examinado las salidas b\u00e1sicas y lo que se espera en un despliegue saludable, podemos examinar algunos ejemplos comunes de soluci\u00f3n de problemas.

"},{"location":"es/troubleshooting/#problema-error-al-crear-usuario","title":"Problema: \u274c Error al crear usuario","text":"

Este problema generalmente est\u00e1 relacionado con una discrepancia entre el par pubkey/IP esperado y el par pubkey/IP con el que el usuario intenta acceder a DoubleZero.

S\u00edntomas: - Al conectarse con doublezero connect ibrl el usuario encuentra \u274c Error creating user

Soluciones: 1. Verifique

`doublezero address`\n\nSalida de Ejemplo:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. Verifique que esta direcci\u00f3n est\u00e9 en la lista de permitidos:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Salida de Ejemplo:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    La pubkey de doublezero address debe coincidir con la pubkey user_payer y la direcci\u00f3n IP desde la que intenta conectarse debe coincidir con la IP en el Pase de Acceso. doublezero address proviene del archivo id.json en ~/.config/doublezero/ por defecto. Consulte el paso 6 aqu\u00ed

  2. Si lo anterior parece correcto y est\u00e1 obteniendo un error al conectarse, o si el mapeo anterior es incorrecto, contacte a soporte en DoubleZero Tech

"},{"location":"es/troubleshooting/#problema-error-al-aprovisionar-servicio-cosas-malformadas-no-se-pueden-aprovisionar-multiples-tuneles-al-mismo-tiempo","title":"Problema: \u274c Error al aprovisionar servicio: cosas malformadas: no se pueden aprovisionar m\u00faltiples t\u00faneles al mismo tiempo","text":"

Este error indica que un dispositivo ya est\u00e1 conectado a DoubleZero.

S\u00edntomas: - El usuario intenta conectarse a DoubleZero - Se encuentra \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time.

Soluciones: 1. Verifique doublezero status

Salida:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up indica una conexi\u00f3n saludable.
  2. El error aparece porque ya hay un t\u00fanel activo hacia DoubleZero con la IP DoubleZero espec\u00edfica en esta m\u00e1quina.

    Este error se encuentra con frecuencia despu\u00e9s de una actualizaci\u00f3n del cliente DoubleZero. Las actualizaciones de DoubleZero reinician autom\u00e1ticamente el servicio doublezerod y le reconectar\u00e1n si estaba conectado antes del reinicio del servicio.

"},{"location":"es/troubleshooting/#problema-el-estado-de-doublezero-es-desconocido-o-caido","title":"Problema: El estado de DoubleZero es desconocido o ca\u00eddo","text":"

Este problema generalmente est\u00e1 relacionado con que el t\u00fanel GRE se activ\u00f3 correctamente entre el servidor y el Dispositivo DoubleZero, pero un firewall impide el establecimiento de la sesi\u00f3n BGP. Por ello no est\u00e1 recibiendo rutas de la red ni enviando tr\u00e1fico a trav\u00e9s de DoubleZero.

S\u00edntomas: - doublezero connect ibrl fue exitoso. Sin embargo, doublezero status devuelve down o unknown

Soluciones: 1. \u00a1Verifique las reglas de su firewall!

DoubleZero utiliza el espacio de direcciones link-local: 169.254.0.0/16 para las interfaces del t\u00fanel GRE entre su m\u00e1quina y el Dispositivo DoubleZero. 169.254.0.0/16 es t\u00edpicamente espacio \"no enrutable\" y por lo tanto las buenas pr\u00e1cticas de seguridad recomendar\u00e1n bloquear las comunicaciones hacia/desde este espacio. Necesitar\u00e1 permitir una regla en su firewall que permita que src 169.254.0.0/16 se comunique con dst 169.254.0.0/16 en el puerto tcp 179. Esa regla debe colocarse por encima de cualquier regla que deniegue tr\u00e1fico a 169.254.0.0/16.

En un firewall como ufw puede ejecutar `sudo ufw status` para ver las reglas del firewall.\n\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` para insertar la regla en la posici\u00f3n <N>. Por ejemplo, si N = 1 insertar\u00e1 esta regla como la primera regla.\n`sudo ufw status numbered` le mostrar\u00e1 el orden num\u00e9rico de las reglas.\n
"},{"location":"es/troubleshooting/#problema-el-dispositivo-doublezero-mas-cercano-ha-cambiado","title":"Problema: El dispositivo DoubleZero m\u00e1s cercano ha cambiado","text":"

Esto no es un error, pero puede ser una optimizaci\u00f3n. A continuaci\u00f3n se muestra una buena pr\u00e1ctica que se puede ejecutar de vez en cuando o automatizar.

Soluciones:

  1. Verifique la latencia al dispositivo m\u00e1s cercano

    • Ejecute doublezero latency
  2. Determine si ya est\u00e1 conectado al dispositivo objetivo

    • Ejecute doublezero user list --env testnet | grep 111.11.11.11 reemplazando 111.11.11.11 con la direcci\u00f3n IPv4 p\u00fablica de su dispositivo conectado a DoubleZero.
  3. Opcional: examine la red para ver los dispositivos disponibles

    • Ejecute doublezero device list para obtener una lista completa de dispositivos.
  4. Determine si el dispositivo objetivo tiene una conexi\u00f3n disponible

    • Ejecute doublezero device list | grep dz-ny7-sw01 reemplazando dz-ny7-sw01 con su dispositivo objetivo.
  5. Con\u00e9ctese al Dispositivo DoubleZero m\u00e1s cercano

    Primero ejecute - doublezero disconnect

    Luego verifique el estado con - doublezero status

    Por \u00faltimo recon\u00e9ctese con - doublezero connect ibrl

"},{"location":"es/troubleshooting/#problema-doublezero-status-devuelve-algunos-campos-con-na","title":"Problema: doublezero status devuelve algunos campos con N/A","text":"

Este problema generalmente est\u00e1 relacionado con una discrepancia entre el daemon y cliente actuales versus el daemon y cliente con los que se estableci\u00f3 el t\u00fanel DZ conectado.

S\u00edntomas: - Al ejecutar doublezero status el usuario encuentra N/A en algunos campos

Soluciones: 1. Ejecute doublezero status

Note que el `Tunnel status` es `up` y `Network` es `mainnet-beta` pero `Current Device` y `Metro` son `N/A`. Esto indica un t\u00fanel abierto en su m\u00e1quina que no est\u00e1 en su entorno actual.\n
  1. Cambie su entorno.

    Para configurar el CLI doublezero y el daemon doublezerod para conectarse a DoubleZero testnet:

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    Para configurar el CLI doublezero y el daemon doublezerod para conectarse a DoubleZero mainnet-beta:

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Verifique su estado

    Despu\u00e9s de cambiar el entorno ejecute:

    doublezero status\n

    Con todos los campos completados ahora est\u00e1 en el entorno correcto.

"},{"location":"fr/","title":"Bienvenue sur DoubleZero","text":"

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 est un protocole et un r\u00e9seau d\u00e9centralis\u00e9 haute performance, optimis\u00e9 pour les syst\u00e8mes distribu\u00e9s, tels que les blockchains. Les utilisateurs de DoubleZero b\u00e9n\u00e9ficient d'un service int\u00e9gr\u00e9 pour la transmission et le pr\u00e9traitement hautement optimis\u00e9s des donn\u00e9es des syst\u00e8mes distribu\u00e9s.

"},{"location":"fr/#a-qui-sadresse-doublezero","title":"\u00c0 qui s'adresse DoubleZero ?","text":""},{"location":"fr/#contributeurs","title":"Contributeurs","text":"

Les contributeurs DoubleZero disposent d'une capacit\u00e9 r\u00e9seau sous forme de liens fibre priv\u00e9s sous-utilis\u00e9s et de mat\u00e9riel (par exemple, des commutateurs et des dispositifs FPGA). La configuration de ces ressources pour \u00e9tendre le r\u00e9seau DoubleZero cr\u00e9e un service d'information int\u00e9gr\u00e9. En utilisant le protocole DZ, les contributeurs r\u00e9seau assemblent cette capacit\u00e9 r\u00e9seau en un r\u00e9seau maill\u00e9 mondial dynamique et expansif, et re\u00e7oivent des incitations en tokens pour leur contribution.

"},{"location":"fr/#utilisateurs","title":"Utilisateurs","text":"

Les utilisateurs DoubleZero participent \u00e0 des syst\u00e8mes distribu\u00e9s, tels que les blockchains, qui n\u00e9cessitent une connectivit\u00e9 r\u00e9seau haute performance. En interconnectant un syst\u00e8me blockchain avec DoubleZero, les utilisateurs b\u00e9n\u00e9ficient d'un ensemble de fonctionnalit\u00e9s d'optimisation pour acc\u00e9l\u00e9rer leurs entr\u00e9es/sorties r\u00e9seau.

Dans son impl\u00e9mentation initiale, le r\u00e9seau DoubleZero est compatible avec les clients validateurs blockchain ainsi que les fournisseurs d'infrastructure RPC et MEV. Ces syst\u00e8mes utilisateurs subissent un contr\u00f4le d'admission en v\u00e9rifiant leurs adresses de cl\u00e9 publique d'identification unique sur leurs registres respectifs avant de leur permettre d'acc\u00e9der au r\u00e9seau. Au fur et \u00e0 mesure que le r\u00e9seau \u00e9volue pour inclure des syst\u00e8mes utilisateurs d'autres \u00e9cosyst\u00e8mes, des strat\u00e9gies d'identification et d'authentification suppl\u00e9mentaires seront ajout\u00e9es, adapt\u00e9es \u00e0 chaque communaut\u00e9 de projets utilisateurs.

"},{"location":"fr/#avantages","title":"Avantages","text":"

La seule alternative \u00e0 DoubleZero est l'internet public. Par rapport \u00e0 l'internet public, le r\u00e9seau DoubleZero offre deux am\u00e9liorations aux blockchains.

Premi\u00e8rement, les transactions entrantes peuvent \u00eatre filtr\u00e9es en p\u00e9riph\u00e9rie de mani\u00e8re non discr\u00e9tionnaire au niveau du mat\u00e9riel du contributeur r\u00e9seau (c'est-\u00e0-dire la suppression du spam et des doublons) avant d'\u00eatre envoy\u00e9es aux utilisateurs (par exemple, les n\u0153uds blockchain) du r\u00e9seau DoubleZero. Cela permet aux blockchains de b\u00e9n\u00e9ficier de ressources de filtration partag\u00e9es \u00e0 l'\u00e9chelle du syst\u00e8me plut\u00f4t que d'exiger que chaque validateur individuel provisionne des ressources suffisantes. En cons\u00e9quence, les validateurs peuvent r\u00e9affecter leurs ressources vers des activit\u00e9s directement g\u00e9n\u00e9ratrices de revenus. Cette fonctionnalit\u00e9 n'est pas encore op\u00e9rationnelle.

Deuxi\u00e8mement, les messages sortants sont achemin\u00e9s de mani\u00e8re plus directe et prioris\u00e9s pour am\u00e9liorer l'efficacit\u00e9. Cela est possible car dans DoubleZero, la logique de routage du mouvement global des donn\u00e9es est optimis\u00e9e pour la vitesse, contrairement \u00e0 l'internet public. Ainsi, les validateurs b\u00e9n\u00e9ficient d'une r\u00e9duction de la gigue, d\u00e9finie comme la variation de latence entre deux extr\u00e9mit\u00e9s de c\u00e2ble de donn\u00e9es. En substance, les n\u0153uds blockchain peuvent envoyer et recevoir des blocs plus rapidement.

Pris ensemble, ces avantages du r\u00e9seau DoubleZero peuvent atteindre des niveaux de performance autrement inaccessibles via l'internet public.

Pour plus de d\u00e9tails, consultez le livre blanc DoubleZero Protocol.

"},{"location":"fr/#prochaines-etapes","title":"Prochaines \u00c9tapes","text":""},{"location":"fr/DZ%20Mainnet-beta%20Connection/","title":"Connexion Validateur Mainnet-Beta en Mode IBRL","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#connexion-a-mainnet-beta-en-mode-ibrl","title":"Connexion \u00e0 Mainnet-Beta en Mode IBRL","text":"

Note

Le mode IBRL ne n\u00e9cessite pas de red\u00e9marrer les clients validateurs, car il utilise votre adresse IP publique existante.

Les validateurs Solana Mainnet compl\u00e8teront la connexion au Mainnet-beta DoubleZero, qui est d\u00e9crite sur cette page.

Chaque validateur Solana poss\u00e8de sa propre keypair d'identit\u00e9 ; \u00e0 partir de celle-ci, extrayez la cl\u00e9 publique connue sous le nom d'ID de n\u0153ud. Il s'agit de l'empreinte unique du validateur sur le r\u00e9seau Solana.

Avec le DoubleZeroID et l'ID de n\u0153ud identifi\u00e9s, vous prouverez la propri\u00e9t\u00e9 de votre machine. Cela se fait en cr\u00e9ant un message incluant le DoubleZeroID sign\u00e9 avec la cl\u00e9 d'identit\u00e9 du validateur. La signature cryptographique r\u00e9sultante sert de preuve v\u00e9rifiable que vous contr\u00f4lez le validateur.

Enfin, vous soumettrez une demande de connexion \u00e0 DoubleZero. Cette demande communique : \u00ab Voici mon identit\u00e9, voici la preuve de propri\u00e9t\u00e9, et voici comment j'entends me connecter. \u00bb DoubleZero valide ces informations, accepte la preuve et provisionne l'acc\u00e8s r\u00e9seau pour le validateur sur DoubleZero.

Ce guide permet \u00e0 1 Validateur Principal de s'enregistrer lui-m\u00eame, et jusqu'\u00e0 3 machines de sauvegarde/basculement en m\u00eame temps.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#prerequis","title":"Pr\u00e9requis","text":"

Info

L'ID Validateur sera v\u00e9rifi\u00e9 par rapport au gossip Solana pour d\u00e9terminer l'IP cible. L'IP cible et le DoubleZero ID seront ensuite utilis\u00e9s lors de l'ouverture d'un tunnel GRE entre votre machine et le DoubleZero Device cible.

\u00c0 consid\u00e9rer : Dans le cas o\u00f9 vous avez un ID factice et un ID principal sur la m\u00eame IP, seul l'ID principal sera utilis\u00e9 lors de l'enregistrement de la machine. En effet, l'ID factice n'appara\u00eetra pas dans le gossip et ne pourra donc pas \u00eatre utilis\u00e9 pour v\u00e9rifier l'IP de la machine cible.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au mainnet-beta DoubleZero :

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Vous devriez voir la sortie suivante : \u2705 doublezerod configured for environment mainnet-beta

Apr\u00e8s environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :

doublezero latency\n
Exemple de sortie (Mainnet-Beta)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
La sortie du testnet sera identique dans sa structure, mais avec moins de dispositifs.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#2-ouvrir-le-port-44880","title":"2. Ouvrir le port 44880","text":"

Les utilisateurs doivent ouvrir le port 44880 pour utiliser certaines fonctionnalit\u00e9s de routage.

Pour ouvrir le port 44880, vous pouvez mettre \u00e0 jour les tables IP comme suit :

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

notez les flags -i doublezero0, -o doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

Ou UFW comme suit :

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

notez les flags in on doublezero0, out on doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#3-attester-la-propriete-du-validateur","title":"3. Attester la Propri\u00e9t\u00e9 du Validateur","text":"

Avec votre environnement DoubleZero configur\u00e9, il est maintenant temps d'attester la propri\u00e9t\u00e9 de votre Validateur.

Le DoubleZero ID que vous avez cr\u00e9\u00e9 lors de la configuration de votre validateur principal doit \u00eatre utilis\u00e9 sur toutes les machines de sauvegarde.

L'ID sur votre machine principale peut \u00eatre trouv\u00e9 avec doublezero address. Le m\u00eame ID doit \u00eatre dans ~/.config/doublezero/id.json sur toutes les machines du cluster.

Pour accomplir cela, vous v\u00e9rifierez d'abord que la machine sur laquelle vous ex\u00e9cutez les commandes est votre Validateur Principal avec :

doublezero-solana passport find-validator -u mainnet-beta\n

Cela v\u00e9rifie que le validateur est enregistr\u00e9 dans le gossip et appara\u00eet dans le planning des leaders.

Sortie attendue :

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

Le m\u00eame workflow est utilis\u00e9 pour une ou plusieurs machines. Pour enregistrer une seule machine, excluez les arguments \"--backup-validator-ids\" ou \"backup_ids=\" de toutes les commandes de cette page.

Maintenant, sur toutes les machines de sauvegarde sur lesquelles vous avez l'intention d'ex\u00e9cuter votre Validateur Principal, ex\u00e9cutez ce qui suit :

doublezero-solana passport find-validator -u mainnet-beta\n

Sortie attendue :

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Cette sortie est attendue. Le n\u0153ud de sauvegarde ne peut pas \u00eatre dans le planning des leaders au moment de la cr\u00e9ation du pass.

Vous allez maintenant ex\u00e9cuter cette commande sur toutes les machines de sauvegarde sur lesquelles vous pr\u00e9voyez d'utiliser le compte de vote et l'identit\u00e9 de votre Validateur Principal.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#preparer-la-connexion","title":"Pr\u00e9parer la Connexion","text":"

Ex\u00e9cutez la commande suivante sur la machine du Validateur Principal. C'est la machine sur laquelle vous avez une mise en jeu active, qui est dans le planning des leaders avec votre ID de validateur principal dans le gossip Solana sur la machine depuis laquelle vous ex\u00e9cutez la commande :

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

Exemple de sortie :

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Notez la sortie \u00e0 la fin de cette commande. C'est la structure pour l'\u00e9tape suivante.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#4-generer-la-signature","title":"4. G\u00e9n\u00e9rer la Signature","text":"

\u00c0 la fin de la derni\u00e8re \u00e9tape, nous avons re\u00e7u une sortie pr\u00e9-format\u00e9e pour solana sign-offchain-message

\u00c0 partir de la sortie ci-dessus, nous allons ex\u00e9cuter cette commande sur la machine du Validateur Principal.

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

Sortie :

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#5-initier-une-demande-de-connexion-dans-doublezero","title":"5. Initier une Demande de Connexion dans DoubleZero","text":"

Utilisez la commande request-validator-access pour cr\u00e9er un compte sur Solana pour la demande de connexion. L'agent DoubleZero Sentinel d\u00e9tecte le nouveau compte, valide son identit\u00e9 et sa signature, et cr\u00e9e le pass d'acc\u00e8s dans DoubleZero pour que le serveur puisse \u00e9tablir une connexion.

Utilisez l'ID de n\u0153ud, le DoubleZeroID et la signature.

Note

Dans cet exemple, nous utilisons -k /home/user/.config/solana/id.json pour trouver l'identit\u00e9 du validateur. Utilisez l'emplacement appropri\u00e9 pour votre d\u00e9ploiement local.

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

Sortie :

Cette sortie peut \u00eatre utilis\u00e9e pour voir la transaction sur un explorateur Solana. Assurez-vous de changer l'explorateur sur mainnet. Cette v\u00e9rification est optionnelle.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

En cas de succ\u00e8s, DoubleZero enregistrera le principal avec ses sauvegardes. Vous pouvez maintenant basculer entre les IP enregistr\u00e9es dans le pass d'acc\u00e8s. DoubleZero maintiendra automatiquement la connectivit\u00e9 lors du basculement vers les n\u0153uds de sauvegarde enregistr\u00e9s de cette mani\u00e8re.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#6-se-connecter-en-mode-ibrl","title":"6. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel GRE finisse de s'\u00e9tablir. Jusqu'\u00e0 ce que le tunnel GRE soit configur\u00e9, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Note

Examinez cette sortie. Notez que le Tunnel src et le DoubleZero IP correspondent \u00e0 l'adresse IPv4 publique de votre machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#prochaine-etape-publication-de-shreds-via-multicast","title":"Prochaine \u00c9tape : Publication de Shreds via Multicast","text":"

Si vous avez termin\u00e9 cette configuration et pr\u00e9voyez de publier des shreds via multicast, passez \u00e0 la page suivante.

"},{"location":"fr/DZ%20Testnet%20Connection/","title":"Connexion Validateur Testnet en Mode IBRL","text":"

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.

En me connectant au testnet DoubleZero, j'accepte les termes du Contrat d'\u00c9valuation d\u00e9finis ici (cliquer pour d\u00e9velopper)

Testnet DoubleZero Contrat d'\u00c9valuation

En acc\u00e9dant ou en utilisant la Solution (d\u00e9finie ci-dessous), vous acceptez \u00e0 compter de la premi\u00e8re date d'un tel acc\u00e8s (la \u00abDate d'Effet\u00bb) que le pr\u00e9sent Contrat d'\u00c9valuation (le \u00abContrat\u00bb) d\u00e9finit les termes et conditions selon lesquels la DoubleZero Foundation (\u00abDZF\u00bb) vous fournira (\u00abUtilisateur\u00bb ou \u00abvous\u00bb) l'acc\u00e8s \u00e0 la Solution sur une base d'\u00e9valuation. En contrepartie des promesses mutuelles contenues dans les pr\u00e9sentes, vous acceptez ce qui suit :

1. D\u00c9FINITIONS.

1.1 \u00abInformations Confidentielles\u00bb d\u00e9signe toutes les informations divulgu\u00e9es par l'une ou l'autre partie \u00e0 l'autre qui sont d\u00e9sign\u00e9es comme confidentielles, ou qui devraient autrement \u00eatre comprises comme confidentielles, incluant mais sans s'y limiter, la Solution, les plans de produits, les plans d'affaires, les secrets commerciaux, la technologie ou toute autre information propri\u00e9taire.

1.2 \u00abSolution\u00bb d\u00e9signe la version testnet de l'infrastructure r\u00e9seau haute performance DoubleZero pour les projets web3 (\u00abTestnet\u00bb) et le service de filtration en p\u00e9riph\u00e9rie associ\u00e9 avec bande passante int\u00e9gr\u00e9e (\u00abService d'Information\u00bb), le Logiciel DZ (d\u00e9fini ci-dessous), tous les mat\u00e9riaux fournis par DZF relatifs au Logiciel DZ (\u00abDocumentation\u00bb) et autres mat\u00e9riaux que DZF fournit \u00e0 l'Utilisateur dans les pr\u00e9sentes.

2. ACC\u00c8S.

2.1 Acc\u00e8s \u00e0 la Solution. Sous r\u00e9serve des termes et conditions du pr\u00e9sent Contrat, DZF fournira \u00e0 l'Utilisateur l'acc\u00e8s \u00e0 la Solution via Internet. L'acc\u00e8s de l'Utilisateur est un usage limit\u00e9, non exclusif et non transf\u00e9rable de la Solution pour permettre \u00e0 l'Utilisateur d'\u00e9valuer le Service d'Information uniquement. En ce qui concerne tout logiciel constituant la Solution (\u00abLogiciel DZ\u00bb), DZF accorde par les pr\u00e9sentes \u00e0 l'Utilisateur une licence limit\u00e9e et r\u00e9vocable, pendant la P\u00e9riode d'\u00c9valuation, pour copier, t\u00e9l\u00e9charger, faire un nombre raisonnable de copies, ex\u00e9cuter et d\u00e9ployer (le cas \u00e9ch\u00e9ant) ce Logiciel DZ uniquement comme pr\u00e9vu par la Documentation.

2.2 Restrictions. L'Utilisateur peut utiliser la Solution conform\u00e9ment au pr\u00e9sent Contrat \u00e0 compter de la Date d'Effet jusqu'\u00e0 r\u00e9siliation par DZF (la \u00abP\u00e9riode d'\u00c9valuation\u00bb). L'Utilisateur comprend que tout droit d'utiliser la Solution au-del\u00e0 de la P\u00e9riode d'\u00c9valuation sera soumis \u00e0 un accord commercial s\u00e9par\u00e9 entre les parties \u00e0 cet \u00e9gard, incluant le paiement de frais. L'Utilisateur ne doit pas, et ne doit pas permettre \u00e0 un tiers de : (i) modifier ou cr\u00e9er des \u0153uvres d\u00e9riv\u00e9es bas\u00e9es sur la Solution ou une partie de celle-ci ; (ii) reproduire la Solution sauf dans la mesure express\u00e9ment autoris\u00e9e par le pr\u00e9sent Contrat ; (iii) sous-licencier, distribuer, vendre, pr\u00eater, louer, transf\u00e9rer ou accorder des droits dans ou sur tout ou partie de la Solution ou fournir un acc\u00e8s \u00e0 la Solution \u00e0 des tiers, sur la base d'un bureau de service ou autrement, sauf en tant qu'offre des Services d'Information via ou en relation avec la plateforme ou le produit de l'Utilisateur et non de mani\u00e8re autonome ; ou (iv) utiliser la Solution autrement que tel que pr\u00e9vu dans les pr\u00e9sentes.

2.3 Propri\u00e9t\u00e9. DZF conserve tous les droits, titres et int\u00e9r\u00eats, y compris les droits de propri\u00e9t\u00e9 intellectuelle, dans et sur la Solution.

3 RETOUR D'EXP\u00c9RIENCE. DZF peut p\u00e9riodiquement demander \u00e0 l'Utilisateur de fournir, et l'Utilisateur accepte de fournir \u00e0 DZF, des retours d'exp\u00e9rience concernant l'utilisation, le fonctionnement et la fonctionnalit\u00e9 de la Solution (\u00abRetours d'Exp\u00e9rience\u00bb). L'Utilisateur accorde par les pr\u00e9sentes \u00e0 DZF un droit et une licence non exclusifs, mondiaux, perp\u00e9tuels, irr\u00e9vocables, libres de redevances, enti\u00e8rement pay\u00e9s, enti\u00e8rement sous-licenciables et transf\u00e9rables pour utiliser et incorporer les Retours d'Exp\u00e9rience dans tout produit et service, pour fabriquer, utiliser, vendre, offrir \u00e0 la vente, importer et autrement exploiter ces produits et services, et autrement utiliser, copier, distribuer et autrement exploiter les Retours d'Exp\u00e9rience sans restriction.

4. DUR\u00c9E ET R\u00c9SILIATION.

4.1 Dur\u00e9e. Le pr\u00e9sent Contrat prendra effet \u00e0 compter de la Date d'Effet et restera en vigueur pendant toute la P\u00e9riode d'\u00c9valuation. L'une ou l'autre partie peut r\u00e9silier le pr\u00e9sent Contrat imm\u00e9diatement pour des raisons de commodit\u00e9, pour quelque raison ou sans raison que ce soit, moyennant un pr\u00e9avis \u00e9crit \u00e0 l'autre partie (l'e-mail \u00e9tant suffisant).

4.1 Effets de la R\u00e9siliation. \u00c0 la r\u00e9siliation du pr\u00e9sent Contrat pour quelque raison que ce soit : (i) les droits accord\u00e9s \u00e0 l'Utilisateur dans les pr\u00e9sentes prendront fin imm\u00e9diatement ; (ii) l'Utilisateur cessera imm\u00e9diatement toute utilisation de la Solution et retournera ou d\u00e9truira toute Documentation et tout Logiciel DZ sous son contr\u00f4le ; (iii) chaque partie retournera ou d\u00e9truira promptement toutes les Informations Confidentielles et biens de l'autre partie ; et (iv) les Sections 2.2, 2.3, 3, 4.2 et 5 \u00e0 8 survivront.

5. CONFIDENTIALIT\u00c9. Chaque partie accepte qu'elle utilisera les Informations Confidentielles de l'autre partie uniquement pour ex\u00e9cuter ses obligations et exercer ses droits en vertu du pr\u00e9sent Contrat et qu'elle ne divulguera pas, ni ne permettra la divulgation de celles-ci, sauf dans la mesure autoris\u00e9e par les pr\u00e9sentes. Cependant, l'une ou l'autre partie peut divulguer des Informations Confidentielles \u00e0 son personnel, ses avocats et autres repr\u00e9sentants qui ont besoin d'en conna\u00eetre et sont li\u00e9s par des obligations de confidentialit\u00e9 au moins aussi protectrices que celles \u00e9nonc\u00e9es dans le pr\u00e9sent Contrat ; et tel que requis par la loi (auquel cas la partie r\u00e9ceptrice fournira \u00e0 la partie divulgatrice un pr\u00e9avis avant de proc\u00e9der \u00e0 une telle divulgation et l'occasion de contester cette divulgation, et minimisera cette divulgation dans la mesure permise par la loi applicable). Les obligations de confidentialit\u00e9 \u00e9nonc\u00e9es dans cette Section 5 ne s'appliqueront pas aux informations qui : (a) sont ou deviennent g\u00e9n\u00e9ralement connues ou accessibles au public sans faute de la partie r\u00e9ceptrice ; (b) \u00e9taient d\u00fbment connues de la partie r\u00e9ceptrice, sans restriction, avant la divulgation par la partie divulgatrice ; (c) ont \u00e9t\u00e9 d\u00fbment divulgu\u00e9es \u00e0 la partie r\u00e9ceptrice, sans restriction, par une autre personne ayant l'autorit\u00e9 l\u00e9gale de le faire ; ou (d) sont d\u00e9velopp\u00e9es ind\u00e9pendamment par la partie r\u00e9ceptrice sans utiliser ni r\u00e9f\u00e9rencer les Informations Confidentielles de la partie divulgatrice. Chaque partie accepte d'exercer la diligence raisonnable pour prot\u00e9ger les Informations Confidentielles de l'autre partie contre toute utilisation et divulgation non autoris\u00e9es. En cas de violation r\u00e9elle ou menac\u00e9e des dispositions de cette Section ou des licences contenues dans les pr\u00e9sentes, la partie non violante aura droit \u00e0 une injonction imm\u00e9diate et \u00e0 tout autre recours \u00e9quitable, sans renoncer \u00e0 tout autre droit ou recours dont elle dispose. L'Utilisateur est responsable du maintien de la Solution et du secret de tout mot de passe, phrase de passe ou code donnant acc\u00e8s \u00e0 la Solution en tant qu'Informations Confidentielles de DZF. Rien dans les pr\u00e9sentes ne limite ou ne restreint le droit ou la capacit\u00e9 de DZF d'utiliser les donn\u00e9es relatives aux performances, \u00e0 la disponibilit\u00e9, \u00e0 l'utilisation, \u00e0 l'int\u00e9grit\u00e9 et \u00e0 la s\u00e9curit\u00e9 de la Solution. Si l'une ou l'autre partie viole, ou menace de violer les dispositions de cette Section 5, chaque partie accepte que la partie non violante n'aura aucun recours ad\u00e9quat en droit et est donc en droit d'une injonction imm\u00e9diate et d'autres mesures \u00e9quitables, sans cautionnement et sans n\u00e9cessit\u00e9 de d\u00e9montrer des dommages mon\u00e9taires r\u00e9els.

6. EXCLUSION DE GARANTIE ; LIMITATION DE RESPONSABILIT\u00c9.

6.1 EXCLUSION DE GARANTIE. LA SOLUTION EST FOURNIE \u00ab EN L'\u00c9TAT \u00bb SANS AUCUNE GARANTIE D'AUCUNE SORTE. DZF NE FOURNIT AUCUNE GARANTIE, QU'ELLE SOIT EXPRESSE, IMPLICITE, L\u00c9GALE OU AUTRE EN CE QUI CONCERNE LA SOLUTION ET LA DOCUMENTATION, Y COMPRIS LEUR \u00c9TAT, LEUR CONFORMIT\u00c9 \u00c0 TOUTE REPR\u00c9SENTATION OU DESCRIPTION, ET DZF EXCLUT SP\u00c9CIFIQUEMENT TOUTES LES GARANTIES IMPLICITES DE QUALIT\u00c9 MARCHANDE, D'AD\u00c9QUATION \u00c0 UN USAGE PARTICULIER, DE TITRE ET DE NON-CONTREFA\u00c7ON.

6.2 LIMITATION DE RESPONSABILIT\u00c9. SAUF POUR UNE VIOLATION DES SECTIONS 2.1, 2.2 ET 5, EN AUCUN CAS L'UNE OU L'AUTRE PARTIE NE SERA RESPONSABLE ENVERS L'AUTRE POUR DES DOMMAGES INDIRECTS, ACCESSOIRES, SP\u00c9CIAUX OU AUTRES DOMMAGES CONS\u00c9CUTIFS, Y COMPRIS SANS LIMITATION LES DOMMAGES POUR PERTE DE B\u00c9N\u00c9FICES OU D'UTILISATION OU DE PERTE DE DONN\u00c9ES, SUBIS PAR VOUS OU PAR UN TIERS, D\u00c9COULANT DE OU LI\u00c9S AU PR\u00c9SENT CONTRAT QU'IL S'AGISSE D'UNE ACTION CONTRACTUELLE, D\u00c9LICTUELLE OU AUTRE, M\u00caME SI L'AUTRE PARTIE A \u00c9T\u00c9 INFORM\u00c9E DE LA POSSIBILIT\u00c9 DE TELS DOMMAGES. EN AUCUN CAS LA RESPONSABILIT\u00c9 GLOBALE DE DZF D\u00c9COULANT DE OU LI\u00c9E AU PR\u00c9SENT CONTRAT N'EXC\u00c9DERA CENT DOLLARS ($100), QU'IL S'AGISSE D'UNE ACTION CONTRACTUELLE, D\u00c9LICTUELLE OU AUTRE. LES LIMITATIONS CI-DESSUS S'APPLIQUERONT NONOBSTANT L'\u00c9CHEC DE L'OBJECTIF ESSENTIEL DE TOUT RECOURS LIMIT\u00c9 PR\u00c9VU AUX PR\u00c9SENTES. LES PARTIES CONVIENNENT QUE LES LIMITATIONS CI-DESSUS REPR\u00c9SENTENT UNE R\u00c9PARTITION RAISONNABLE DES RISQUES EN VERTU DU PR\u00c9SENT CONTRAT.

7. DROIT APPLICABLE. Le pr\u00e9sent Contrat et toutes les questions d\u00e9coulant de ou li\u00e9es au pr\u00e9sent Contrat seront r\u00e9gis, interpr\u00e9t\u00e9s et construits conform\u00e9ment aux lois des \u00celes Ca\u00efmans. Si une controverse, un diff\u00e9rend ou une r\u00e9clamation survient de ou en relation avec le pr\u00e9sent Contrat (\u00abDiff\u00e9rend\u00bb), la partie concern\u00e9e, selon le cas, doit donner un pr\u00e9avis de 30 jours d'un tel Diff\u00e9rend \u00e0 l'autre partie (le \u00abAvis de Diff\u00e9rend\u00bb). Si le Diff\u00e9rend n'est pas r\u00e9solu \u00e0 l'expiration de 30 jours apr\u00e8s la signification de l'Avis de Diff\u00e9rend, la partie concern\u00e9e peut engager une proc\u00e9dure d'arbitrage comme pr\u00e9vu dans les pr\u00e9sentes. Si le Diff\u00e9rend persiste \u00e0 l'expiration de 30 jours apr\u00e8s la signification de l'Avis de Diff\u00e9rend, le Diff\u00e9rend sera r\u00e9gl\u00e9 par arbitrage administr\u00e9 par le Centre International de M\u00e9diation et d'Arbitrage des Ca\u00efmans (CI-MAC) conform\u00e9ment aux R\u00e8gles d'Arbitrage CI-MAC en vigueur \u00e0 la date du pr\u00e9sent Contrat, lesquelles R\u00e8gles d'Arbitrage sont r\u00e9put\u00e9es \u00eatre incorpor\u00e9es par r\u00e9f\u00e9rence \u00e0 cette clause, et r\u00e9gies par la Loi sur l'Arbitrage (telle que modifi\u00e9e). L'arbitrage aura son si\u00e8ge \u00e0 George Town, Grand Ca\u00efman, \u00celes Ca\u00efmans et sera r\u00e9gi par le droit des \u00celes Ca\u00efmans. La langue de l'arbitrage sera l'anglais. L'arbitrage sera d\u00e9termin\u00e9 par un arbitre unique \u00e0 nommer conform\u00e9ment aux R\u00e8gles d'Arbitrage. Toute sentence ou d\u00e9cision rendue par l'arbitre sera r\u00e9dig\u00e9e par \u00e9crit et sera d\u00e9finitive et contraignante pour les parties sans aucun droit d'appel, et le jugement sur toute sentence ainsi obtenu pourra \u00eatre saisi ou ex\u00e9cut\u00e9 par tout tribunal comp\u00e9tent. Aucune action en justice ou en \u00e9quit\u00e9 bas\u00e9e sur une r\u00e9clamation d\u00e9coulant de ou li\u00e9e au pr\u00e9sent Contrat ne sera intent\u00e9e devant un tribunal d'une quelconque juridiction. Si un litige ou un arbitrage est n\u00e9cessaire pour faire respecter les termes du pr\u00e9sent Contrat, la partie qui obtient gain de cause aura droit au remboursement de ses honoraires d'avocat par l'autre partie. Chaque partie renonce \u00e0 tout droit qu'elle pourrait avoir d'invoquer la doctrine du forum non conveniens, d'affirmer qu'elle n'est pas soumise \u00e0 la comp\u00e9tence de cet arbitrage ou de ces tribunaux ou de s'opposer au lieu dans la mesure o\u00f9 toute proc\u00e9dure est engag\u00e9e conform\u00e9ment aux pr\u00e9sentes.

8. DISPOSITIONS G\u00c9N\u00c9RALES. Le pr\u00e9sent Contrat ne peut \u00eatre transf\u00e9r\u00e9 ou c\u00e9d\u00e9 par l'Utilisateur sans le consentement \u00e9crit pr\u00e9alable de DZF. DZF peut librement c\u00e9der le pr\u00e9sent Contrat. Tous les avis devant \u00eatre envoy\u00e9s dans les pr\u00e9sentes seront envoy\u00e9s par e-mail (\u00e0 DZF : legal@doublezero.xyz) et seront consid\u00e9r\u00e9s comme re\u00e7us le lendemain de l'envoi (avec confirmation de transmission). Si une disposition du pr\u00e9sent Contrat est jug\u00e9e invalide ou inapplicable, les dispositions restantes du pr\u00e9sent Contrat resteront en vigueur. La renonciation par l'une ou l'autre partie \u00e0 tout d\u00e9faut ou violation du pr\u00e9sent Contrat ne constituera pas une renonciation \u00e0 tout autre d\u00e9faut ou violation ult\u00e9rieur. Aucune des parties ne sera responsable d'un retard ou d'un manquement dans l'ex\u00e9cution d\u00fb \u00e0 des cas de force majeure, des tremblements de terre, des p\u00e9nuries d'approvisionnement, des difficult\u00e9s de transport, des conflits du travail, des \u00e9meutes, des guerres, des incendies, des \u00e9pid\u00e9mies et des \u00e9v\u00e9nements similaires \u00e9chappant \u00e0 son contr\u00f4le, qu'ils soient ou non pr\u00e9visibles. Le pr\u00e9sent Contrat ainsi que toutes les pi\u00e8ces jointes constituent l'accord complet entre les parties et remplacent tous les accords ou repr\u00e9sentations ant\u00e9rieurs ou contemporains, \u00e9crits ou oraux, concernant l'objet des pr\u00e9sentes. Le pr\u00e9sent Contrat ne peut \u00eatre modifi\u00e9 ou amend\u00e9 que par \u00e9crit sign\u00e9 par un repr\u00e9sentant d\u00fbment autoris\u00e9 de chaque partie.

"},{"location":"fr/DZ%20Testnet%20Connection/#connexion-au-testnet-en-mode-ibrl","title":"Connexion au Testnet en Mode IBRL","text":"

Note

Le mode IBRL ne n\u00e9cessite pas de red\u00e9marrer les clients validateurs, car il utilise votre adresse IP publique existante.

Les validateurs Solana Testnet compl\u00e8teront la connexion au Testnet DoubleZero, qui est d\u00e9crite sur cette page.

Chaque validateur Solana poss\u00e8de sa propre keypair d'identit\u00e9 ; \u00e0 partir de celle-ci, extrayez la cl\u00e9 publique connue sous le nom d'ID de n\u0153ud. Il s'agit de l'empreinte unique du validateur sur le r\u00e9seau Solana.

Avec le DoubleZeroID et l'ID de n\u0153ud identifi\u00e9s, vous prouverez la propri\u00e9t\u00e9 de votre machine. Cela se fait en cr\u00e9ant un message incluant le DoubleZeroID sign\u00e9 avec la cl\u00e9 d'identit\u00e9 du validateur. La signature cryptographique r\u00e9sultante sert de preuve v\u00e9rifiable que vous contr\u00f4lez le validateur.

Enfin, vous soumettrez une demande de connexion \u00e0 DoubleZero. Cette demande communique : \u00ab Voici mon identit\u00e9, voici la preuve de propri\u00e9t\u00e9, et voici comment j'entends me connecter. \u00bb DoubleZero valide ces informations, accepte la preuve et provisionne l'acc\u00e8s r\u00e9seau pour le validateur sur DoubleZero.

Ce guide permet \u00e0 1 Validateur Principal de s'enregistrer lui-m\u00eame, et jusqu'\u00e0 3 machines de sauvegarde/basculement en m\u00eame temps.

"},{"location":"fr/DZ%20Testnet%20Connection/#prerequis","title":"Pr\u00e9requis","text":"

Info

L'ID Validateur sera v\u00e9rifi\u00e9 par rapport au gossip Solana pour d\u00e9terminer l'IP cible. L'IP cible et le DoubleZero ID seront ensuite utilis\u00e9s lors de l'ouverture d'un tunnel GRE entre votre machine et le DoubleZero Device cible.

\u00c0 consid\u00e9rer : Dans le cas o\u00f9 vous avez un ID factice et un ID principal sur la m\u00eame IP, seul l'ID principal sera utilis\u00e9 lors de l'enregistrement de la machine. En effet, l'ID factice n'appara\u00eetra pas dans le gossip et ne pourra donc pas \u00eatre utilis\u00e9 pour v\u00e9rifier l'IP de la machine cible.

"},{"location":"fr/DZ%20Testnet%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au testnet DoubleZero :

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Vous devriez voir la sortie suivante :
\u2705 doublezerod configured for environment testnet\n

Apr\u00e8s environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :

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

La sortie du mainnet sera identique dans sa structure, mais avec beaucoup plus de dispositifs disponibles.

"},{"location":"fr/DZ%20Testnet%20Connection/#2-ouvrir-le-port-44880","title":"2. Ouvrir le port 44880","text":"

Les utilisateurs doivent ouvrir le port 44880 pour utiliser certaines fonctionnalit\u00e9s de routage.

Pour ouvrir le port 44880, vous pouvez mettre \u00e0 jour les tables IP comme suit :

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

notez les flags -i doublezero0, -o doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

Ou UFW comme suit :

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

notez les flags in on doublezero0, out on doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

"},{"location":"fr/DZ%20Testnet%20Connection/#3-attester-la-propriete-du-validateur","title":"3. Attester la Propri\u00e9t\u00e9 du Validateur","text":"

Avec votre environnement DoubleZero configur\u00e9, il est maintenant temps d'attester la propri\u00e9t\u00e9 de votre Validateur.

Le DoubleZero ID que vous avez cr\u00e9\u00e9 lors de la configuration de votre validateur principal doit \u00eatre utilis\u00e9 sur toutes les machines de sauvegarde.

L'ID sur votre machine principale peut \u00eatre trouv\u00e9 avec doublezero address. Le m\u00eame ID doit \u00eatre dans ~/.config/doublezero/id.json sur toutes les machines du cluster.

Pour accomplir cela, vous v\u00e9rifierez d'abord que la machine sur laquelle vous ex\u00e9cutez les commandes est votre Validateur Principal avec :

doublezero-solana passport find-validator -ut\n

Cela v\u00e9rifie que le validateur est enregistr\u00e9 dans le gossip et appara\u00eet dans le planning des leaders.

Sortie attendue :

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

Le m\u00eame workflow est utilis\u00e9 pour une ou plusieurs machines. Pour enregistrer une seule machine, excluez les arguments \"--backup-validator-ids\" ou \"backup_ids=\" de toutes les commandes de cette page.

Maintenant, sur toutes les machines de sauvegarde sur lesquelles vous avez l'intention d'ex\u00e9cuter votre Validateur Principal, ex\u00e9cutez ce qui suit :

doublezero-solana passport find-validator -ut\n

Sortie attendue :

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Cette sortie est attendue. Le n\u0153ud de sauvegarde ne peut pas \u00eatre dans le planning des leaders au moment de la cr\u00e9ation du pass.

Vous allez maintenant ex\u00e9cuter cette commande sur toutes les machines de sauvegarde sur lesquelles vous pr\u00e9voyez d'utiliser le compte de vote et l'identit\u00e9 de votre Validateur Principal.

"},{"location":"fr/DZ%20Testnet%20Connection/#preparer-la-connexion","title":"Pr\u00e9parer la Connexion","text":"

Ex\u00e9cutez la commande suivante sur la machine du Validateur Principal. C'est la machine sur laquelle vous avez une mise en jeu active, qui est dans le planning des leaders avec votre ID de validateur principal dans le gossip Solana sur la machine depuis laquelle vous ex\u00e9cutez la commande :

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

Exemple de sortie :

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Notez la sortie \u00e0 la fin de cette commande. C'est la structure pour l'\u00e9tape suivante.

"},{"location":"fr/DZ%20Testnet%20Connection/#4-generer-la-signature","title":"4. G\u00e9n\u00e9rer la Signature","text":"

\u00c0 la fin de la derni\u00e8re \u00e9tape, nous avons re\u00e7u une sortie pr\u00e9-format\u00e9e pour solana sign-offchain-message

\u00c0 partir de la sortie ci-dessus, nous allons ex\u00e9cuter cette commande sur la machine du Validateur Principal.

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

Sortie :

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"fr/DZ%20Testnet%20Connection/#5-initier-une-demande-de-connexion-dans-doublezero","title":"5. Initier une Demande de Connexion dans DoubleZero","text":"

Utilisez la commande request-validator-access pour cr\u00e9er un compte sur Solana pour la demande de connexion. L'agent DoubleZero Sentinel d\u00e9tecte le nouveau compte, valide son identit\u00e9 et sa signature, et cr\u00e9e le pass d'acc\u00e8s dans DoubleZero pour que le serveur puisse \u00e9tablir une connexion.

Utilisez l'ID de n\u0153ud, le DoubleZeroID et la signature.

Note

Dans cet exemple, nous utilisons -k /home/user/.config/solana/id.json pour trouver l'identit\u00e9 du validateur. Utilisez l'emplacement appropri\u00e9 pour votre d\u00e9ploiement local.

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

Sortie :

Cette sortie peut \u00eatre utilis\u00e9e pour voir la transaction sur un explorateur Solana. Assurez-vous de changer l'explorateur sur testnet. Cette v\u00e9rification est optionnelle.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

En cas de succ\u00e8s, DoubleZero enregistrera le principal avec ses sauvegardes. Vous pouvez maintenant basculer entre les IP enregistr\u00e9es dans le pass d'acc\u00e8s. DoubleZero maintiendra automatiquement la connectivit\u00e9 lors du basculement vers les n\u0153uds de sauvegarde enregistr\u00e9s de cette mani\u00e8re.

"},{"location":"fr/DZ%20Testnet%20Connection/#6-se-connecter-en-mode-ibrl","title":"6. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel GRE finisse de s'\u00e9tablir. Jusqu'\u00e0 ce que le tunnel GRE soit configur\u00e9, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Note

Examinez cette sortie. Notez que le Tunnel src et le DoubleZero IP correspondent \u00e0 l'adresse IPv4 publique de votre machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/DZ%20Testnet%20Connection/#prochaine-etape-publication-de-shreds-via-multicast","title":"Prochaine \u00c9tape : Publication de Shreds via Multicast","text":"

Si vous avez termin\u00e9 cette configuration et pr\u00e9voyez de publier des shreds via multicast, passez \u00e0 la page suivante.

"},{"location":"fr/New%20Tenant/","title":"Nouveau Tenant","text":"

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.

Si vous souhaitez que votre syst\u00e8me distribu\u00e9 tire parti du r\u00e9seau DoubleZero, nous sommes heureux de r\u00e9pondre \u00e0 toutes vos questions techniques.

Formulaire de Contact

"},{"location":"fr/Other%20Multicast%20Connection/","title":"Autre Connexion Multicast","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

Cas d'Utilisation Premi\u00e8re \u00c9tape Une fois approuv\u00e9, connectez-vous via : S'abonner \u00e0 Jito Shredstream Contactez Jito pour approbation. doublezero connect multicast --subscribe jito-shredstream

Informations de connexion d\u00e9taill\u00e9es :

"},{"location":"fr/Other%20Multicast%20Connection/#1-installation-du-client-doublezero","title":"1. Installation du Client DoubleZero","text":"

Veuillez suivre les instructions de configuration pour installer et configurer le client DoubleZero.

"},{"location":"fr/Other%20Multicast%20Connection/#2-instructions-de-connexion","title":"2. Instructions de Connexion","text":"

Connectez-vous \u00e0 DoubleZero en mode Multicast En tant qu'\u00e9diteur :

doublezero connect multicast --publish <nom du flux>

ou en tant qu'abonn\u00e9 :

doublezero connect multicast --subscribe <nom du flux>

ou pour publier et s'abonner :

doublezero connect multicast --publish <nom du flux> --subscribe <nom du flux>

Pour publier ou s'abonner \u00e0 plusieurs flux, vous pouvez inclure plusieurs noms de flux s\u00e9par\u00e9s par des espaces. Cela peut \u00e9galement \u00eatre utilis\u00e9 pour publier et s'abonner \u00e0 des flux de publication. Par exemple doublezero connect multicast --subscribe feed1 feed2 feed3

Vous devriez voir une sortie similaire \u00e0 ce qui suit :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"fr/Other%20Multicast%20Connection/#3-verifiez-votre-connexion-multicast-active","title":"3. V\u00e9rifiez votre connexion multicast active.","text":"

Attendez 60 secondes puis ex\u00e9cutez

doublezero status\n
R\u00e9sultat attendu : - Session BGP active sur le bon r\u00e9seau DoubleZero - Si vous \u00eates un \u00e9diteur, votre IP DoubleZero sera diff\u00e9rente de votre IP Source Tunnel. C'est normal. - Si vous \u00eates uniquement abonn\u00e9, votre IP DoubleZero sera identique \u00e0 votre IP Source Tunnel.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

V\u00e9rifiez les groupes auxquels vous \u00eates connect\u00e9 :

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"fr/Permissioned%20Connection/","title":"Connexion Autoris\u00e9e Non-Validateur \u00e0 DoubleZero en Mode IBRL","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/Permissioned%20Connection/#apercu-de-lintegration-des-utilisateurs-autorises","title":"Aper\u00e7u de l'Int\u00e9gration des Utilisateurs Autoris\u00e9s","text":"

L'int\u00e9gration des utilisateurs est actuellement autoris\u00e9e pour les non-validateurs et les RPC. Pour commencer le processus d'autorisation, veuillez remplir ce formulaire. Voici ce \u00e0 quoi vous pouvez vous attendre au cours de ce processus :

"},{"location":"fr/Permissioned%20Connection/#connexion-a-mainnet-beta-et-testnet-en-mode-ibrl","title":"Connexion \u00e0 Mainnet-Beta et Testnet en Mode IBRL","text":"

Note

Le mode IBRL ne n\u00e9cessite pas de red\u00e9marrer les clients validateurs, car il utilise votre adresse IP publique existante.

Les Utilisateurs Autoris\u00e9s compl\u00e8teront la connexion au Mainnet-beta DoubleZero, qui est d\u00e9crite sur cette page.

"},{"location":"fr/Permissioned%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au testnet DoubleZero :

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au mainnet-beta DoubleZero :
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Vous devriez voir la sortie suivante :

\u2705 doublezerod configured for environment mainnet-beta\n
Vous devriez voir la sortie suivante : \u2705 doublezerod configured for environment testnet

Apr\u00e8s environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :

doublezero latency\n
Exemple de sortie (Testnet)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
La sortie du testnet sera identique dans sa structure, mais avec beaucoup plus de dispositifs disponibles.

"},{"location":"fr/Permissioned%20Connection/#2-contacter-la-doublezero-foundation","title":"2. Contacter la DoubleZero Foundation","text":"

La DoubleZero Foundation. Vous devrez fournir votre DoubleZeroID, votre ID Validateur (node ID) et l'adresse IPv4 publique depuis laquelle vous vous connecterez.

"},{"location":"fr/Permissioned%20Connection/#3-se-connecter-en-mode-ibrl","title":"3. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel soit compl\u00e9t\u00e9. Jusqu'\u00e0 ce que le tunnel soit \u00e9tabli, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
Sortie :

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/Permissioned%20Connection/#prochaine-etape-multicast","title":"Prochaine \u00c9tape : Multicast","text":"

Si vous avez termin\u00e9 cette configuration et pr\u00e9voyez d'utiliser le Multicast, passez \u00e0 la page suivante.

"},{"location":"fr/Shelby%20Permissioned%20Connection/","title":"Connexion \u00e0 DoubleZero en Mode IBRL pour les Utilisateurs du Testnet Shelby","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/Shelby%20Permissioned%20Connection/#obtenir-votre-doublezeroid","title":"Obtenir votre DoubleZeroID","text":"

Vous devrez fournir votre DoubleZeroID et l'adresse IPv4 publique sur ce formulaire

"},{"location":"fr/Shelby%20Permissioned%20Connection/#connexion-au-testnet-en-mode-ibrl","title":"Connexion au Testnet en Mode IBRL","text":"

Les utilisateurs autoris\u00e9s Shelby compl\u00e8teront la connexion au Testnet DoubleZero, qui est d\u00e9crite sur cette page.

"},{"location":"fr/Shelby%20Permissioned%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) afin de se connecter au tenant Shelby sur DoubleZero :

doublezero config set --tenant shelby\n

Appliquez des r\u00e8gles de pare-feu suppl\u00e9mentaires sp\u00e9cifiques \u00e0 Shelby :

iptables :

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW :

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"fr/Shelby%20Permissioned%20Connection/#2-contacter-la-doublezero-foundation","title":"2. Contacter la DoubleZero Foundation","text":"

La DoubleZero Foundation. Vous devrez fournir votre DoubleZeroID et l'adresse IPv4 publique depuis laquelle vous vous connecterez.

"},{"location":"fr/Shelby%20Permissioned%20Connection/#3-se-connecter-en-mode-ibrl","title":"3. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel soit compl\u00e9t\u00e9. Jusqu'\u00e0 ce que le tunnel soit \u00e9tabli, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
Sortie :

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Lisez le Avertissement avant d'acc\u00e9der ou d'utiliser le code ou tout mat\u00e9riel associ\u00e9.

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.

Avertissement

Ce document et le code associ\u00e9 sont fournis \u00e0 des fins d'information et techniques uniquement. La fonctionnalit\u00e9 de conversion de tokens d\u00e9crite ici est non-custodiale \u2014 les utilisateurs interagissent directement avec les contrats intelligents sous-jacents et conservent le plein contr\u00f4le de leurs actifs \u00e0 tout moment.

Le syst\u00e8me peut s'appuyer sur ou interagir avec du code tiers, des sources de donn\u00e9es, ou des m\u00e9canismes de tarification et de frais (par exemple, des contrats intelligents, des API, ou des \u00e9changes d\u00e9centralis\u00e9s) qui ne sont pas d\u00e9velopp\u00e9s, contr\u00f4l\u00e9s, ou examin\u00e9s par le(s) d\u00e9veloppeur(s) ou \u00e9diteur(s). Aucune repr\u00e9sentation ou garantie n'est faite quant \u00e0 l'exactitude, la fonctionnalit\u00e9, ou la s\u00e9curit\u00e9 de tout composant tiers. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) de ce code ne garantissent pas son exactitude, son exhaustivit\u00e9, ou sa disponibilit\u00e9 continue. Le code et les mat\u00e9riaux associ\u00e9s sont fournis \"tels quels\", et peuvent contenir des bugs, des erreurs, ou des vuln\u00e9rabilit\u00e9s. L'utilisation est enti\u00e8rement \u00e0 vos propres risques. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) ne re\u00e7oivent aucuns frais en rapport avec l'utilisation de ces contrats. Ils n'ont aucune obligation de maintenir, mettre \u00e0 jour, ou soutenir le code ou la documentation associ\u00e9e.

Ce document ne constitue pas une offre de vente, une sollicitation d'achat, ou une recommandation de participer \u00e0 une conversion de tokens, un \u00e9change ou une autre transaction. Aucun conseil juridique, financier, ou d'investissement n'est fourni. Les utilisateurs sont seuls responsables de d\u00e9terminer la l\u00e9galit\u00e9 de leurs activit\u00e9s. Ils doivent examiner les lois et r\u00e9glementations applicables dans leur juridiction et consulter des conseillers ind\u00e9pendants avant d'utiliser le code ou de participer \u00e0 une conversion. L'utilisation est interdite l\u00e0 o\u00f9 elle serait ill\u00e9gale, y compris par des personnes ou entit\u00e9s soumises \u00e0 des sanctions ou dans des juridictions restreintes.

Dans la mesure maximale permise par la loi, le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) d\u00e9clinent toute responsabilit\u00e9 pour toute perte, dommage, ou r\u00e9clamation d\u00e9coulant de ou en rapport avec l'utilisation du code ou la participation \u00e0 la conversion.

L'examen et l'utilisation de ce document et du code associ\u00e9 sont soumis aux Conditions G\u00e9n\u00e9rales du Site Web et aux Conditions G\u00e9n\u00e9rales du Protocole.

Le protocole DoubleZero collecte des revenus libell\u00e9s en SOL aupr\u00e8s de ses validateurs mais distribue des r\u00e9compenses libell\u00e9es en 2Z aux contributeurs. Il doit donc convertir des SOL en 2Z.

Pour ce faire, les participants \u00e9ligibles peuvent trader contre un contrat de swap DoubleZero, en achetant des SOL au contrat et en vendant des 2Z. La tarification est bas\u00e9e sur les flux de prix Pyth avec un m\u00e9canisme de remise programmatique.

Ce court guide explique comment utiliser le programme.

Lisez l'Avertissement \u00e0 la fin de ce document avant d'acc\u00e9der ou d'utiliser le code ou tout mat\u00e9riel associ\u00e9.

"},{"location":"fr/Swapping-sol-to-2z/#conception-du-programme","title":"Conception du Programme","text":"

Le programme de swap est effectivement un pool de liquidit\u00e9 unilat\u00e9ral qui vend des SOL par lots fixes de 1 SOL par trade. Tout participant \u00e9ligible peut retirer des SOL du programme en d\u00e9posant des 2Z, \u00e0 un prix d\u00e9termin\u00e9 par un prix oracle de Pyth et une remise dynamique. Au fil du temps, cela ex\u00e9cute l'objectif du programme de convertir les tokens natifs en 2Z.

Pour l'utiliser, un trader doit fournir deux prix Pyth r\u00e9cents (SOL/USD et 2Z/USD) et une quantit\u00e9 de 2Z. Le programme calcule ensuite les 2Z n\u00e9cessaires pour acheter ce 1 SOL sur la base du prix implicite SOL/2Z. Il prend ensuite quelques \u00e9tapes suppl\u00e9mentaires :

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\u00c0 ce stade, si le trader a fourni suffisamment de 2Z pour ex\u00e9cuter la transaction \u00e0 ce prix calcul\u00e9 (remise incluse), elle s'ex\u00e9cute \u00e0 ce prix calcul\u00e9. Il retourne au trader la quantit\u00e9 de SOL achet\u00e9e et tout exc\u00e9dent de 2Z.

Le contrat ne permet ensuite plus aucun trade pour ce slot. Ceci est pour emp\u00eacher le contrat de payer un slippage excessivement \u00e9lev\u00e9 si le prix Pyth est loin du vrai prix \u00e0 un moment donn\u00e9 d'une mani\u00e8re que les filtres existants ne d\u00e9tectent pas.

"},{"location":"fr/Swapping-sol-to-2z/#execution-atomique-sans-gaz","title":"Ex\u00e9cution Atomique Sans Gaz","text":"

Cette section d\u00e9taillera comment utiliser la commande harvest-dz. Cette commande effectuera atomiquement 2 actions. 1. La commande demande un devis \u00e0 Jupiter contre le programme de conversion natif SOL <> 2Z. 2. Lorsque la route Jupiter rapporte plus de 2Z par SOL que ce que le programme de conversion natif requiert, harvest-2z ex\u00e9cute un swap, retournant \u00e0 votre portefeuille 1 SOL plus la diff\u00e9rence en 2Z.

"},{"location":"fr/Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

Pour ex\u00e9cuter, lancez la commande suivante :

doublezero-solana revenue-distribution harvest-2z\n
La sortie ressemblera \u00e0 :
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
La commande peut \u00e9galement \u00eatre simul\u00e9e avec l'argument --dry-run. Le dry-run produira des logs de programme et une sortie ressemblant \u00e0 :

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"fr/Swapping-sol-to-2z/#conversion-du-protocole","title":"Conversion du Protocole","text":"

Cette section traite de la v\u00e9rification des taux de conversion et de l'ex\u00e9cution de la conversion \u00e0 l'aide de la CLI doublezero-solana. Et \u00e0 la fin, nous discutons de l'interface pour les int\u00e9grations personnalis\u00e9es avec le contrat de swap DoubleZero.

"},{"location":"fr/Swapping-sol-to-2z/#comment-verifier-le-prix-de-conversion-sol2z-via-doublezero-solana","title":"Comment v\u00e9rifier le prix de conversion SOL/2Z via doublezero-solana","text":"

Pour trouver les taux de conversion SOL/2Z sur mainnet-beta, ex\u00e9cutez la commande suivante :

doublezero-solana revenue-distribution fetch sol-conversion\n

Et la sortie que vous verrez ressemblera \u00e0 :

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Le Journal Balance informe l'utilisateur de la liquidit\u00e9 SOL disponible dans le contrat intelligent de Distribution des Revenus. Un utilisateur peut trader tant que le Journal Balance d\u00e9passe la taille de trade fixe de 1 SOL.

La premi\u00e8re ligne affiche le \"vrai\" prix de conversion SOL/2Z via un oracle hors cha\u00eene. La deuxi\u00e8me ligne est le prix de conversion utilis\u00e9 onchain pour le swap, qui ajuste simplement le vrai prix pour la remise algorithmique.

"},{"location":"fr/Swapping-sol-to-2z/#comment-convertir-vos-2z-en-sol-via-doublezero-solana","title":"Comment convertir vos 2Z en SOL via doublezero-solana","text":"

Pour convertir vos tokens 2Z en SOL, ex\u00e9cutez la commande suivante :

doublezero-solana revenue-distribution convert-2z\n

Par d\u00e9faut, si il y a suffisamment de liquidit\u00e9 SOL et que votre ATA a suffisamment de 2Z pour effectuer le swap, cette transaction r\u00e9ussira. Vous pouvez affiner davantage le swap en sp\u00e9cifiant les arguments suivants :

      --limit-price <DECIMAL>                    Limit price defaults to the current SOL/2Z oracle price\n      --source-2z-account <PUBKEY>               Token account must be owned by the signer. Defaults to signer ATA if not specified\n      --checked-sol-amount <SOL>                 Explicitly check SOL amount. When specified, this amount will be checked against the fixed fill quantity\n

Le prix limite sp\u00e9cifi\u00e9 d\u00e9termine le prix dans le pire cas que vous \u00eates pr\u00eat \u00e0 accepter lors de l'ex\u00e9cution de la conversion SOL/2Z. Par exemple, supposons que le prix 2Z actualis\u00e9 pour le SOL soit de 800, ce qui signifie 800 tokens 2Z pour 1 SOL. Si vous sp\u00e9cifiez un prix limite de 790, vous n'\u00eates pas pr\u00eat \u00e0 effectuer le swap parce que vous exigez d'\u00e9changer au maximum 790 tokens 2Z pour 1 SOL. Mais si vous sp\u00e9cifiez 810, le trade passera parce que vous \u00e9tiez pr\u00eat \u00e0 \u00e9changer au maximum 810 tokens 2Z (et dans ce cas, vous n'aurez \u00e9chang\u00e9 que 800 tokens 2Z dans cette transaction).

Le compte de tokens 2Z source remplace l'ATA par d\u00e9faut en utilisant le signataire comme propri\u00e9taire de cet ATA 2Z. Mais si vous avez un autre compte de tokens que vous souhaitez utiliser pour effectuer le swap, fournissez la pubkey avec cet argument.

Optionnellement, vous pouvez sp\u00e9cifier le montant SOL v\u00e9rifi\u00e9 \u00e0 la taille de remplissage standard (fix\u00e9e \u00e0 1 SOL au lancement). Si elle ne correspond pas \u00e0 la taille de remplissage du programme, le swap \u00e9choue. Cela att\u00e9nue le risque que la taille de remplissage du programme change et que vous ne le remarquiez pas.

"},{"location":"fr/Swapping-sol-to-2z/#interface-pour-acheter-des-sol","title":"Interface pour Acheter des SOL","text":"

L'interface et la CLI doublezero-solana se trouvent dans ce d\u00e9p\u00f4t. Le code source de l'interface du contrat de swap DoubleZero peut \u00eatre trouv\u00e9 ici. L'ID du programme est 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Une fa\u00e7on pratique de g\u00e9n\u00e9rer les comptes n\u00e9cessaires pour l'instruction d'achat de SOL est d'utiliser la m\u00e9thode new (trouv\u00e9e dans instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

La fill_registry_key peut \u00eatre r\u00e9cup\u00e9r\u00e9e soit depuis le ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // this key\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternativement, vous pouvez appeler getProgramAccounts via le RPC Solana avec son discriminateur. Mais nous recommandons de mettre cette pubkey en cache car elle ne changera jamais.

La user_key est un signataire pour l'instruction d'achat de SOL et doit \u00eatre le propri\u00e9taire du user_token_account_key. Comme d\u00e9crit ci-dessus, cela N'a PAS besoin d'\u00eatre un ATA. Tant que votre compte de tokens 2Z est d\u00e9tenu par la user_key, cette instruction r\u00e9ussira.

La struct BuySolAccounts impl\u00e9mente Into<Vec<AccountMeta>> afin que vous puissiez g\u00e9n\u00e9rer tous les account metas dont vous avez besoin pour construire l'instruction.

Les donn\u00e9es d'instruction sont

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Ces donn\u00e9es d'instruction sont s\u00e9rialis\u00e9es en Borsh et ont un s\u00e9lecteur Anchor de 8 octets, qui sera tout s\u00e9rialis\u00e9 lors de l'utilisation de BorshSerialize::serialize.

Les donn\u00e9es de prix oracle peuvent \u00eatre r\u00e9cup\u00e9r\u00e9es depuis cet endpoint public : https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. Les donn\u00e9es sont d\u00e9s\u00e9rialisables avec serde en utilisant la struct OraclePriceData trouv\u00e9e dans oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Exemple de r\u00e9cup\u00e9ration avec le crate reqwest :

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Avec l'ID du programme, les comptes et les donn\u00e9es d'instruction, vous devriez \u00eatre en mesure de construire l'instruction pour acheter des SOL depuis le contrat de swap DoubleZero.

"},{"location":"fr/Validator%20Multicast%20Connection/","title":"Connexion Multicast Validateur","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

Si vous n'\u00eates pas encore connect\u00e9 \u00e0 DoubleZero, veuillez compl\u00e9ter la documentation Configuration et de connexion validateur Mainnet-Beta.

Si vous \u00eates un validateur d\u00e9j\u00e0 connect\u00e9 \u00e0 DoubleZero, vous pouvez continuer ce guide.

"},{"location":"fr/Validator%20Multicast%20Connection/#jito-agave-version-319-ou-superieure","title":"Jito-Agave (version 3.1.9 ou sup\u00e9rieure)","text":"
  1. Dans votre script de d\u00e9marrage du validateur, ajoutez : --shred-receiver-address 233.84.178.1:7733

    Vous pouvez envoyer \u00e0 Jito et au groupe bebop en m\u00eame temps.

    exemple :

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...The rest of your config...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Red\u00e9marrez votre validateur.

  3. Connectez-vous au groupe multicast DoubleZero bebop en tant qu'\u00e9diteur : doublezero connect multicast --publish bebop

"},{"location":"fr/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. Dans config.toml, ajoutez :
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Red\u00e9marrez votre validateur.

  3. Connectez-vous au groupe multicast DoubleZero bebop en tant qu'\u00e9diteur : doublezero connect multicast --publish bebop

Note

Les utilisateurs Frankendancer en mode pilote XDP ne peuvent pas utiliser tcpdump. Il n'existe actuellement aucun moyen de confirmer que vous publiez, mais une solution sera bient\u00f4t disponible.

"},{"location":"fr/Validator%20Multicast%20Connection/#confirmer-que-vous-publiez","title":"Confirmer que vous publiez","text":"

Pendant votre prochain slot de leader, utilisez tcpdump pour confirmer que vous publiez vers le groupe multicast. Vous devriez voir un heartbeat toutes les 10 secondes pour v\u00e9rifier que vous publiez des shreds.

Ex\u00e9cutez : sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Exemple de sortie lors de la publication :

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"fr/architecture/","title":"Architecture","text":"

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.

Quels sont les diff\u00e9rents acteurs et composants du r\u00e9seau DoubleZero ?

Figure 1 : Composants de l'architecture r\u00e9seau"},{"location":"fr/architecture/#contributeurs","title":"Contributeurs","text":"

Le r\u00e9seau DoubleZero est compos\u00e9 de contributions en mati\u00e8re de connectivit\u00e9 et de traitement des paquets d'une communaut\u00e9 croissante de fournisseurs d'infrastructure r\u00e9seau distribu\u00e9s dans des villes du monde entier. Les contributeurs apportent des liens en c\u00e2ble fibre optique et des ressources de traitement de l'information au protocole pour fournir le r\u00e9seau maill\u00e9 d\u00e9centralis\u00e9.

"},{"location":"fr/architecture/#contributeurs-en-bande-passante-reseau","title":"Contributeurs en Bande Passante R\u00e9seau","text":"

Les contributeurs r\u00e9seau doivent fournir une bande passante d\u00e9di\u00e9e entre deux points, exploiter des dispositifs compatibles DoubleZero (DZD) \u00e0 chaque extr\u00e9mit\u00e9, et une connexion \u00e0 internet \u00e0 chaque extr\u00e9mit\u00e9. Les contributeurs r\u00e9seau doivent \u00e9galement ex\u00e9cuter le logiciel DoubleZero sur chaque DZD pour fournir des services tels que le multicast, la recherche d'utilisateurs et les services de filtration en p\u00e9riph\u00e9rie.

Les liens physiques du r\u00e9seau DoubleZero sont fournis sous forme de c\u00e2bles en fibre optique, commun\u00e9ment appel\u00e9s services \u00e0 longueur d'onde. Les contributeurs r\u00e9seau s'engagent avec des liens r\u00e9seau sous-utilis\u00e9s, poss\u00e9d\u00e9s ou lou\u00e9s aupr\u00e8s de fournisseurs d'infrastructure, entre deux ou plusieurs centres de donn\u00e9es. Ces liens sont termin\u00e9s aux deux extr\u00e9mit\u00e9s par des DoubleZero Devices, qui sont des bo\u00eetiers de commutation r\u00e9seau physiques ex\u00e9cutant des instances du logiciel DoubleZero Agent.

"},{"location":"fr/architecture/#doublezero-exchange-dzx-site-de-cross-connect","title":"DoubleZero Exchange (DZX / Site de Cross-connect)","text":"

Les DoubleZero Exchanges (DZX) sont des points d'interconnexion dans le r\u00e9seau maill\u00e9 o\u00f9 diff\u00e9rents liens de contributeurs sont reli\u00e9s ensemble. Les DZX sont situ\u00e9s dans les grandes zones m\u00e9tropolitaines du monde entier o\u00f9 se produisent les intersections de r\u00e9seau. Les contributeurs r\u00e9seau doivent cross-connecter leurs liens dans le r\u00e9seau maill\u00e9 DoubleZero plus large au niveau des DZX situ\u00e9s g\u00e9ographiquement le plus pr\u00e8s de leurs extr\u00e9mit\u00e9s de liens.

"},{"location":"fr/architecture/#contributeurs-en-ressources-informatiques","title":"Contributeurs en Ressources Informatiques","text":"

S\u00e9par\u00e9ment des contributeurs r\u00e9seau, les contributeurs en ressources sont un groupe d\u00e9centralis\u00e9 de participants r\u00e9seau qui effectuent diverses t\u00e2ches de maintenance et de surveillance n\u00e9cessaires pour maintenir l'int\u00e9grit\u00e9 technique et la fonctionnalit\u00e9 continue du r\u00e9seau DoubleZero. Plus pr\u00e9cis\u00e9ment, ils (i) suivent les transactions et les paiements des utilisateurs ; (ii) calculent les frais pour les contributeurs r\u00e9seau ; (iii) enregistrent les r\u00e9sultats de (i) et (ii) ; (iv) administrent, strictement sur une base non discr\u00e9tionnaire, les contrats intelligents qui contr\u00f4lent la tokenomique du protocole ; (v) transmettent les attestations \u00e0 la blockchain applicable ; et (vi) publient des donn\u00e9es de t\u00e9l\u00e9m\u00e9trie sur la qualit\u00e9 et l'utilisation des liens pour fournir des m\u00e9triques de performance transparentes en temps r\u00e9el pour tous les contributeurs r\u00e9seau.

"},{"location":"fr/architecture/#composants","title":"Composants","text":""},{"location":"fr/architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

Le logiciel DoubleZero Daemon s'ex\u00e9cute sur les serveurs qui ont besoin de communiquer sur le r\u00e9seau DoubleZero. Le daemon s'interface avec la pile r\u00e9seau du noyau de l'h\u00f4te pour cr\u00e9er et g\u00e9rer les interfaces de tunnel, les tables de routage et les routes.

"},{"location":"fr/architecture/#activateur","title":"Activateur","text":"

Le service Activateur, h\u00e9berg\u00e9 par un ou plusieurs membres contributeurs en ressources informatiques de la communaut\u00e9 DoubleZero, surveille les \u00e9v\u00e9nements de contrat n\u00e9cessitant des allocations d'adresses IP et des changements d'\u00e9tat, et g\u00e8re ces changements au nom du r\u00e9seau.

"},{"location":"fr/architecture/#controleur","title":"Contr\u00f4leur","text":"

Le service Contr\u00f4leur, h\u00e9berg\u00e9 par un ou plusieurs contributeurs en ressources informatiques de la communaut\u00e9 DoubleZero, sert d'interface de configuration pour que les DoubleZero Device Agents rendent leur configuration actuelle bas\u00e9e sur les \u00e9v\u00e9nements de contrat intelligent.

"},{"location":"fr/architecture/#agent","title":"Agent","text":"

Le logiciel Agent s'ex\u00e9cute directement sur les DoubleZero Devices et applique les changements de configuration aux dispositifs tels qu'interpr\u00e9t\u00e9s par le service Contr\u00f4leur. Le logiciel Agent interroge le Contr\u00f4leur pour les changements de configuration, calcule toute diff\u00e9rence entre la version canonique on-chain de l'\u00e9tat du Device et la configuration active sur le dispositif et applique les changements n\u00e9cessaires pour r\u00e9concilier la configuration active.

"},{"location":"fr/architecture/#dispositif","title":"Dispositif","text":"

Le bo\u00eetier de dispositif physique fournissant le routage et la terminaison de liens pour le r\u00e9seau DoubleZero. Les DZD ex\u00e9cutent le logiciel DoubleZero Agent et sont configur\u00e9s sur la base des donn\u00e9es lues depuis le service Contr\u00f4leur.

"},{"location":"fr/connect/","title":"Connect","text":"

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.

If you are not redirected, click here.

"},{"location":"fr/contribute-operations/","title":"Guide des Op\u00e9rations pour les Contributeurs","text":"

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.

Ce guide couvre les t\u00e2ches op\u00e9rationnelles courantes pour maintenir vos DoubleZero Devices (DZD), notamment les mises \u00e0 niveau des agents, les mises \u00e0 jour des dispositifs/interfaces, et la gestion des liens.

Pr\u00e9requis : Avant d'utiliser ce guide, assurez-vous d'avoir :

"},{"location":"fr/contribute-operations/#mises-a-jour-des-dispositifs","title":"Mises \u00e0 Jour des Dispositifs","text":"

Utilisez doublezero device update pour modifier les param\u00e8tres du dispositif apr\u00e8s le provisionnement initial.

doublezero device update --pubkey <PUBKEY_DISPOSITIF> [OPTIONS]\n

Options de mise \u00e0 jour courantes :

Option Description --device-type <TYPE> Changer le mode de fonctionnement : hybrid, transit, edge (voir Types de Dispositifs) --location <EMPLACEMENT> D\u00e9placer le dispositif vers un emplacement diff\u00e9rent --metrics-publisher <PUBKEY> Changer la cl\u00e9 de publication de m\u00e9triques"},{"location":"fr/contribute-operations/#mises-a-jour-des-interfaces","title":"Mises \u00e0 Jour des Interfaces","text":"

Utilisez doublezero device interface update pour modifier les interfaces existantes. Cette commande accepte les m\u00eames options que interface create.

doublezero device interface update <DISPOSITIF> <NOM> [OPTIONS]\n

Pour la liste compl\u00e8te des options d'interface incluant les param\u00e8tres CYOA/DIA, voir Cr\u00e9ation d'Interfaces.

Exemple - Ajouter des param\u00e8tres CYOA \u00e0 une interface existante :

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"fr/contribute-operations/#lister-les-interfaces","title":"Lister les Interfaces","text":"
doublezero device interface list              # Toutes les interfaces sur tous les dispositifs\ndoublezero device interface list <DISPOSITIF> # Interfaces pour un dispositif sp\u00e9cifique\n
"},{"location":"fr/contribute-operations/#mise-a-niveau-de-lagent-de-configuration","title":"Mise \u00e0 Niveau de l'Agent de Configuration","text":"

Lorsqu'une nouvelle version de l'Agent de Configuration est publi\u00e9e, suivez ces \u00e9tapes pour mettre \u00e0 niveau.

"},{"location":"fr/contribute-operations/#1-telecharger-la-derniere-version","title":"1. T\u00e9l\u00e9charger la derni\u00e8re version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"fr/contribute-operations/#2-arreter-lagent","title":"2. Arr\u00eater l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#3-supprimer-lancienne-version","title":"3. Supprimer l'ancienne version","text":"

D'abord, trouvez le nom de fichier de l'ancienne version :

switch# show extensions\n

Ex\u00e9cutez les commandes suivantes pour supprimer l'ancienne version. Remplacez <ANCIENNE_VERSION> par l'ancienne version de la sortie ci-dessus :

switch# delete flash:doublezero-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\n

"},{"location":"fr/contribute-operations/#4-installer-la-nouvelle-version","title":"4. Installer la nouvelle version","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-operations/#5-reactiver-lagent","title":"5. R\u00e9activer l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#6-verifier-la-mise-a-niveau","title":"6. V\u00e9rifier la mise \u00e0 niveau","text":"

Le Statut devrait \u00eatre \"A, I, B\".

switch# show extensions\n

"},{"location":"fr/contribute-operations/#7-verifier-la-sortie-de-log-de-lagent-de-configuration","title":"7. V\u00e9rifier la Sortie de Log de l'Agent de Configuration","text":"
show agent doublezero-agent log\n
"},{"location":"fr/contribute-operations/#mise-a-niveau-de-lagent-de-telemetrie","title":"Mise \u00e0 Niveau de l'Agent de T\u00e9l\u00e9m\u00e9trie","text":"

Lorsqu'une nouvelle version de l'Agent de T\u00e9l\u00e9m\u00e9trie est publi\u00e9e, suivez ces \u00e9tapes pour mettre \u00e0 niveau.

"},{"location":"fr/contribute-operations/#1-telecharger-la-derniere-version_1","title":"1. T\u00e9l\u00e9charger la derni\u00e8re version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"fr/contribute-operations/#2-arreter-lagent_1","title":"2. Arr\u00eater l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#3-supprimer-lancienne-version_1","title":"3. Supprimer l'ancienne version","text":"

D'abord, trouvez le nom de fichier de l'ancienne version :

switch# show extensions\n

Ex\u00e9cutez les commandes suivantes pour supprimer l'ancienne version. Remplacez <ANCIENNE_VERSION> par l'ancienne version de la sortie ci-dessus :

switch# delete flash:doublezero-device-telemetry-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\n

"},{"location":"fr/contribute-operations/#4-installer-la-nouvelle-version_1","title":"4. Installer la nouvelle version","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-operations/#5-reactiver-lagent_1","title":"5. R\u00e9activer l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#6-verifier-la-mise-a-niveau_1","title":"6. V\u00e9rifier la mise \u00e0 niveau","text":"

Le Statut devrait \u00eatre \"A, I, B\".

switch# show extensions\n

"},{"location":"fr/contribute-operations/#7-verifier-la-sortie-de-log-de-lagent-de-telemetrie","title":"7. V\u00e9rifier la Sortie de Log de l'Agent de T\u00e9l\u00e9m\u00e9trie","text":"
show agent doublezero-telemetry log\n
"},{"location":"fr/contribute-operations/#surveillance","title":"Surveillance","text":"

\u26a0\ufe0f Important :

  1. Pour les exemples de configuration ci-dessous, veuillez tenir compte du fait que vos agents utilisent ou non un VRF de gestion.
  2. L'agent de configuration et l'agent de t\u00e9l\u00e9m\u00e9trie utilisent le m\u00eame port d'\u00e9coute (:8080) pour leur endpoint de m\u00e9triques par d\u00e9faut. Si vous activez les m\u00e9triques sur les deux, utilisez le flag -metrics-addr pour d\u00e9finir des ports d'\u00e9coute uniques pour chaque agent.
"},{"location":"fr/contribute-operations/#metriques-de-lagent-de-configuration","title":"M\u00e9triques de l'Agent de Configuration","text":"

L'agent de configuration sur le dispositif DoubleZero a la capacit\u00e9 d'exposer des m\u00e9triques compatibles Prometheus en d\u00e9finissant le flag -metrics-enable dans la configuration du d\u00e9mon doublezero-agent. Le port d'\u00e9coute par d\u00e9faut est tcp/8080 mais peut \u00eatre chang\u00e9 pour s'adapter \u00e0 l'environnement via -metrics-addr :

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

Les m\u00e9triques sp\u00e9cifiques \u00e0 DoubleZero suivantes sont expos\u00e9es avec les m\u00e9triques de runtime sp\u00e9cifiques \u00e0 go :

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"fr/contribute-operations/#erreurs-a-haute-signification","title":"Erreurs \u00e0 Haute Signification","text":""},{"location":"fr/contribute-operations/#metriques-de-lagent-de-telemetrie","title":"M\u00e9triques de l'Agent de T\u00e9l\u00e9m\u00e9trie","text":"

L'agent de t\u00e9l\u00e9m\u00e9trie sur le dispositif DoubleZero a la capacit\u00e9 d'exposer des m\u00e9triques compatibles Prometheus en d\u00e9finissant le flag -metrics-enable dans la configuration du d\u00e9mon doublezero-telemetry. Le port d'\u00e9coute par d\u00e9faut est tcp/8080 mais peut \u00eatre chang\u00e9 pour s'adapter \u00e0 l'environnement via -metrics-addr :

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

Les m\u00e9triques sp\u00e9cifiques \u00e0 DoubleZero suivantes sont expos\u00e9es avec les m\u00e9triques de runtime sp\u00e9cifiques \u00e0 go :

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"fr/contribute-operations/#erreurs-a-haute-signification_1","title":"Erreurs \u00e0 Haute Signification","text":""},{"location":"fr/contribute-operations/#gestion-des-liens","title":"Gestion des Liens","text":""},{"location":"fr/contribute-operations/#drainage-des-liens","title":"Drainage des Liens","text":"

Le drainage des liens permet aux contributeurs de retirer gracieusement un lien du service actif pour la maintenance ou le d\u00e9pannage. Il y a deux \u00e9tats de drainage :

Statut Comportement IS-IS Description soft-drained M\u00e9trique fix\u00e9e \u00e0 1 000 000 Le lien est d\u00e9prioritis\u00e9. Le trafic utilisera des chemins alternatifs si disponibles, mais utilisera encore ce lien si c'est la seule option. hard-drained Mis en passif Le lien est compl\u00e8tement retir\u00e9 du routage. Aucun trafic ne traversera ce lien."},{"location":"fr/contribute-operations/#transitions-detat","title":"Transitions d'\u00c9tat","text":"

Les transitions d'\u00e9tat suivantes sont autoris\u00e9es :

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (doit passer par soft-drained d'abord)\n

\u26a0\ufe0f Note : Vous ne pouvez pas passer directement de hard-drained \u00e0 activated. Vous devez d'abord passer \u00e0 soft-drained, puis \u00e0 activated.

"},{"location":"fr/contribute-operations/#drainer-doucement-un-lien","title":"Drainer Doucement un Lien","text":"

Le drainage doux d\u00e9prioritise un lien en fixant sa m\u00e9trique IS-IS \u00e0 1 000 000. Le trafic pr\u00e9f\u00e9rera les chemins alternatifs mais peut encore utiliser ce lien si n\u00e9cessaire.

doublezero link update --pubkey <PUBKEY_LIEN> --status soft-drained\n
"},{"location":"fr/contribute-operations/#drainer-fortement-un-lien","title":"Drainer Fortement un Lien","text":"

Le drainage fort retire le lien du routage enti\u00e8rement en mettant IS-IS en mode passif. Aucun trafic ne traversera ce lien.

doublezero link update --pubkey <PUBKEY_LIEN> --status hard-drained\n
"},{"location":"fr/contribute-operations/#restaurer-un-lien-en-service-actif","title":"Restaurer un Lien en Service Actif","text":"

Pour remettre un lien drain\u00e9 en fonctionnement normal :

# Depuis soft-drained\ndoublezero link update --pubkey <PUBKEY_LIEN> --status activated\n\n# Depuis hard-drained (doit passer par soft-drained d'abord)\ndoublezero link update --pubkey <PUBKEY_LIEN> --status soft-drained\ndoublezero link update --pubkey <PUBKEY_LIEN> --status activated\n
"},{"location":"fr/contribute-operations/#remplacement-de-delai","title":"Remplacement de D\u00e9lai","text":"

La fonctionnalit\u00e9 de remplacement de d\u00e9lai permet aux contributeurs de modifier temporairement le d\u00e9lai effectif d'un lien sans modifier la valeur de d\u00e9lai mesur\u00e9e r\u00e9elle. Ceci est utile pour d\u00e9moter temporairement un lien du chemin principal au chemin secondaire.

"},{"location":"fr/contribute-operations/#definir-un-remplacement-de-delai","title":"D\u00e9finir un Remplacement de D\u00e9lai","text":"

Pour remplacer le d\u00e9lai d'un lien (le rendant moins pr\u00e9f\u00e9r\u00e9 dans le routage) :

doublezero link update --pubkey <PUBKEY_LIEN> --delay-override-ms 100\n

Les valeurs valides sont de 0.01 \u00e0 1000 millisecondes.

"},{"location":"fr/contribute-operations/#effacer-un-remplacement-de-delai","title":"Effacer un Remplacement de D\u00e9lai","text":"

Pour supprimer le remplacement et revenir \u00e0 l'utilisation du d\u00e9lai mesur\u00e9 r\u00e9el :

doublezero link update --pubkey <PUBKEY_LIEN> --delay-override-ms 0\n

\u26a0\ufe0f Note : Lorsqu'un lien est soft-drained, delay_ms et delay_override_ms sont tous deux remplac\u00e9s \u00e0 1000ms (1 seconde) pour assurer la d\u00e9prioritisation.

"},{"location":"fr/contribute-overview/","title":"Documentation Contributeur","text":"

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.

Terminologie

Nouveau sur DoubleZero ? Consultez le Glossaire pour les d\u00e9finitions des termes cl\u00e9s comme DZD, DZX et CYOA.

Bienvenue dans la documentation des contributeurs DoubleZero. Cette section couvre tout ce dont vous avez besoin pour devenir un contributeur r\u00e9seau.

Int\u00e9ress\u00e9 \u00e0 devenir un contributeur r\u00e9seau ?

Consultez la page Exigences et Architecture pour comprendre le mat\u00e9riel, la bande passante et la connectivit\u00e9 n\u00e9cessaires pour contribuer au r\u00e9seau DoubleZero.

"},{"location":"fr/contribute-overview/#checklist-dintegration","title":"Checklist d'Int\u00e9gration","text":"

Utilisez cette checklist pour suivre votre progression. Tous les \u00e9l\u00e9ments doivent \u00eatre compl\u00e9t\u00e9s avant que votre contribution soit techniquement op\u00e9rationnelle.

"},{"location":"fr/contribute-overview/#phase-1-prerequis","title":"Phase 1 : Pr\u00e9requis","text":""},{"location":"fr/contribute-overview/#phase-2-configuration-du-compte","title":"Phase 2 : Configuration du Compte","text":""},{"location":"fr/contribute-overview/#phase-3-provisionnement-du-dispositif","title":"Phase 3 : Provisionnement du Dispositif","text":""},{"location":"fr/contribute-overview/#phase-4-etablissement-des-liens-installation-des-agents","title":"Phase 4 : \u00c9tablissement des Liens & Installation des Agents","text":""},{"location":"fr/contribute-overview/#phase-5-burn-in-du-lien","title":"Phase 5 : Burn-in du Lien","text":""},{"location":"fr/contribute-overview/#phase-6-verification-activation","title":"Phase 6 : V\u00e9rification & Activation","text":""},{"location":"fr/contribute-overview/#obtenir-de-laide","title":"Obtenir de l'Aide","text":"

Dans le cadre de l'int\u00e9gration, DZF vous ajoutera aux canaux Slack des contributeurs :

Canal Objectif #dz-contributor-announcements Communications officielles de DZF et Malbec Labs \u2014 mises \u00e0 niveau CLI/agent, changements majeurs, annonces de s\u00e9curit\u00e9. Surveiller pour les mises \u00e0 jour critiques ; poser des questions dans les fils de discussion. #dz-contributor-incidents \u00c9v\u00e9nements impr\u00e9vus ayant un impact sur le service. Les incidents sont publi\u00e9s automatiquement via l'API/formulaire web avec la gravit\u00e9 et les dispositifs/liens affect\u00e9s. Discussion et r\u00e9solution de probl\u00e8mes dans les fils de discussion. #dz-contributor-maintenance Activit\u00e9s de maintenance planifi\u00e9es (mises \u00e0 niveau, r\u00e9parations). Planifi\u00e9es via l'API/formulaire web avec les heures de d\u00e9but/fin pr\u00e9vues. Discussion dans les fils de discussion. #dz-contributor-ops Discussion ouverte pour tous les contributeurs \u2014 questions op\u00e9rationnelles, aide CLI, partage de runbooks et de playbooks.

Vous obtiendrez \u00e9galement un canal priv\u00e9 DZ/Malbec Labs pour le support direct de votre organisation.

"},{"location":"fr/contribute-overview/#regles-du-prefixe-dz","title":"R\u00e8gles du Pr\u00e9fixe DZ","text":"

Critique : Utilisation du Pool de Pr\u00e9fixes DZ

Le pool de pr\u00e9fixes DZ que vous fournissez est g\u00e9r\u00e9 par le protocole DoubleZero pour l'allocation IP.

Comment les pr\u00e9fixes DZ sont utilis\u00e9s :

Vous NE POUVEZ PAS utiliser ces adresses pour :

Exigences :

Si vous avez besoin d'adresses pour votre propre \u00e9quipement (IP d'interface DIA, gestion, etc.), utilisez un pool d'adresses s\u00e9par\u00e9.

"},{"location":"fr/contribute-overview/#reference-rapide-termes-cles","title":"R\u00e9f\u00e9rence Rapide : Termes Cl\u00e9s","text":"

Nouveau sur DoubleZero ? Voici les termes essentiels (voir le Glossaire complet) :

Terme D\u00e9finition DZD DoubleZero Device - votre commutateur Arista physique ex\u00e9cutant les agents DZ DZX DoubleZero Exchange - point d'interconnexion m\u00e9tropolitain o\u00f9 les contributeurs font du peering CYOA Choose Your Own Adventure - m\u00e9thode de connectivit\u00e9 utilisateur (GREOverDIA, GREOverFabric, etc.) DIA Direct Internet Access - connectivit\u00e9 internet requise par tous les DZD pour le contr\u00f4leur et la t\u00e9l\u00e9m\u00e9trie, couramment utilis\u00e9e comme type CYOA pour la connectivit\u00e9 utilisateur sur les dispositifs edge/hybrides Lien WAN Lien entre vos propres DZD (m\u00eame contributeur) Lien DZX Lien vers le DZD d'un autre contributeur (n\u00e9cessite une acceptation mutuelle) Config Agent Interroge le contr\u00f4leur, applique la configuration \u00e0 votre DZD Telemetry Agent Collecte les m\u00e9triques de latence/perte TWAMP, soumet au registre on-chain Cl\u00e9 de Service Votre cl\u00e9 d'identit\u00e9 de contributeur pour les op\u00e9rations CLI Cl\u00e9 d'\u00c9diteur de M\u00e9triques Cl\u00e9 pour signer les soumissions de t\u00e9l\u00e9m\u00e9trie on-chain"},{"location":"fr/contribute-overview/#structure-de-la-documentation","title":"Structure de la Documentation","text":"Guide Description Exigences et Architecture Sp\u00e9cifications mat\u00e9rielles, architecture r\u00e9seau, options de bande passante Provisionnement des Dispositifs \u00c9tape par \u00e9tape : cl\u00e9s \u2192 acc\u00e8s au d\u00e9p\u00f4t \u2192 dispositif \u2192 liens \u2192 agents Op\u00e9rations Mises \u00e0 niveau des agents, gestion des liens, surveillance Glossaire Toute la terminologie DoubleZero d\u00e9finie"},{"location":"fr/contribute-overview/#bases-du-reseau-pour-les-non-ingenieurs-reseau","title":"Bases du R\u00e9seau pour les Non-Ing\u00e9nieurs R\u00e9seau","text":"

Si vous n'avez pas de formation en ing\u00e9nierie r\u00e9seau, voici une introduction aux concepts utilis\u00e9s dans cette documentation :

"},{"location":"fr/contribute-overview/#adressage-ip","title":"Adressage IP","text":""},{"location":"fr/contribute-overview/#couches-reseau","title":"Couches R\u00e9seau","text":""},{"location":"fr/contribute-overview/#termes-courants","title":"Termes Courants","text":""},{"location":"fr/contribute-overview/#specifique-a-doublezero","title":"Sp\u00e9cifique \u00e0 DoubleZero","text":"

Pr\u00eat \u00e0 commencer ? Commencez par Exigences et Architecture.

"},{"location":"fr/contribute-provisioning/","title":"Guide de Provisionnement des Dispositifs","text":"

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.

Ce guide vous accompagne dans le provisionnement d'un DoubleZero Device (DZD) du d\u00e9but \u00e0 la fin. Chaque phase correspond \u00e0 la Liste de Contr\u00f4le d'Int\u00e9gration.

"},{"location":"fr/contribute-provisioning/#vue-densemble","title":"Vue d'Ensemble","text":"

Avant de plonger dans les \u00e9tapes, voici la vue d'ensemble de ce que vous construisez :

flowchart TB\n    subgraph Onchain\n        SC[Registre DoubleZero]\n    end\n\n    subgraph Votre Infrastructure\n        MGMT[Serveur de Gestion<br/>CLI DoubleZero]\n        DZD[Votre DZD<br/>Commutateur Arista]\n        DZD ---|Lien WAN| DZD2[Votre autre DZD]\n    end\n\n    subgraph Autre Contributeur\n        OtherDZD[Leur DZD]\n    end\n\n    subgraph Utilisateurs\n        VAL[Validateurs]\n        RPC[N\u0153uds RPC]\n    end\n\n    MGMT -.->|Enregistre dispositifs,<br/>liens, interfaces| SC\n    DZD ---|Lien DZX| OtherDZD\n    VAL ---|Connexion via Internet| DZD\n    RPC ---|Connexion via Internet| DZD
"},{"location":"fr/contribute-provisioning/#phase-1-prerequis","title":"Phase 1 : Pr\u00e9requis","text":"

Avant de pouvoir provisionner un dispositif, vous avez besoin du mat\u00e9riel physique configur\u00e9 et de quelques adresses IP allou\u00e9es.

"},{"location":"fr/contribute-provisioning/#ce-dont-vous-avez-besoin","title":"Ce Dont Vous Avez Besoin","text":"Exigence Pourquoi C'est N\u00e9cessaire Mat\u00e9riel DZD Commutateur Arista 7280CR3A (voir sp\u00e9cifications mat\u00e9rielles) Espace Baie 4U avec une ventilation appropri\u00e9e Alimentation Alimentations redondantes, ~4KW recommand\u00e9 Acc\u00e8s Gestion Acc\u00e8s SSH/console pour configurer le commutateur Connectivit\u00e9 Internet Pour la publication de m\u00e9triques et pour r\u00e9cup\u00e9rer la configuration depuis le contr\u00f4leur Bloc IPv4 Public Minimum /29 pour le pool de pr\u00e9fixes DZ (voir ci-dessous)"},{"location":"fr/contribute-provisioning/#installer-la-cli-doublezero","title":"Installer la CLI DoubleZero","text":"

La CLI DoubleZero (doublezero) est utilis\u00e9e tout au long du provisionnement pour enregistrer les dispositifs, cr\u00e9er des liens et g\u00e9rer votre contribution. Elle doit \u00eatre install\u00e9e sur un serveur de gestion ou une VM \u2014 pas sur le commutateur DZD lui-m\u00eame. Le commutateur n'ex\u00e9cute que l'Agent de Configuration et l'Agent de T\u00e9l\u00e9m\u00e9trie (install\u00e9s dans la Phase 4).

Ubuntu / Debian :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

V\u00e9rifiez que le d\u00e9mon est en cours d'ex\u00e9cution :

sudo systemctl status doublezerod\n

"},{"location":"fr/contribute-provisioning/#comprendre-votre-prefixe-dz","title":"Comprendre Votre Pr\u00e9fixe DZ","text":"

Votre pr\u00e9fixe DZ est un bloc d'adresses IP publiques que le protocole DoubleZero g\u00e8re pour l'allocation IP.

flowchart LR\n    subgraph \"Votre Bloc /29 (8 IPs)\"\n        IP1[\"Premi\u00e8re IP<br/>R\u00e9serv\u00e9e pour<br/>votre dispositif\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Attribu\u00e9e \u00e0| LO[Loopback100<br/>sur votre DZD]\n    IP2 -->|Allou\u00e9e \u00e0| U1[Utilisateur 1]\n    IP3 -->|Allou\u00e9e \u00e0| U2[Utilisateur 2]

Comment les pr\u00e9fixes DZ sont utilis\u00e9s :

R\u00e8gles du Pr\u00e9fixe DZ

Vous NE POUVEZ PAS utiliser ces adresses pour :

Exigences :

Si vous avez besoin d'adresses pour votre propre \u00e9quipement (IPs d'interface DIA, gestion, etc.), utilisez un pool d'adresses s\u00e9par\u00e9.

"},{"location":"fr/contribute-provisioning/#phase-2-configuration-du-compte","title":"Phase 2 : Configuration du Compte","text":"

Dans cette phase, vous cr\u00e9ez les cl\u00e9s cryptographiques qui vous identifient, vous et vos dispositifs, sur le r\u00e9seau.

"},{"location":"fr/contribute-provisioning/#ou-executer-la-cli","title":"O\u00f9 Ex\u00e9cuter la CLI","text":"

N'installez PAS la CLI sur votre commutateur

La CLI DoubleZero (doublezero) doit \u00eatre install\u00e9e sur un serveur de gestion ou une VM, pas sur votre commutateur Arista.

flowchart LR\n    subgraph \"Serveur/VM de Gestion\"\n        CLI[CLI DoubleZero]\n        KEYS[Vos Paires de Cl\u00e9s]\n    end\n\n    subgraph \"Votre Commutateur DZD\"\n        CA[Agent de Configuration]\n        TA[Agent de T\u00e9l\u00e9m\u00e9trie]\n    end\n\n    CLI -->|Cr\u00e9e dispositifs, liens| BC[Blockchain]\n    CA -->|R\u00e9cup\u00e8re la config| CTRL[Contr\u00f4leur]\n    TA -->|Soumet les m\u00e9triques| BC
Installer sur le Serveur de Gestion Installer sur le Commutateur CLI doublezero Agent de Configuration Votre cl\u00e9 de service Agent de T\u00e9l\u00e9m\u00e9trie Votre cl\u00e9 de publication de m\u00e9triques Cl\u00e9 de publication de m\u00e9triques (copie)"},{"location":"fr/contribute-provisioning/#quest-ce-que-les-cles","title":"Qu'est-ce que les Cl\u00e9s ?","text":"

Pensez aux cl\u00e9s comme des identifiants de connexion s\u00e9curis\u00e9s :

Les deux sont des paires de cl\u00e9s cryptographiques (une cl\u00e9 publique que vous partagez, une cl\u00e9 priv\u00e9e que vous gardez secr\u00e8te).

flowchart LR\n    subgraph \"Vos Cl\u00e9s\"\n        SK[Cl\u00e9 de Service<br/>~/.config/solana/id.json]\n        MK[Cl\u00e9 de Publication de M\u00e9triques<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Utilis\u00e9e pour| CLI[Commandes CLI<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Utilis\u00e9e pour| TEL[Agent de T\u00e9l\u00e9m\u00e9trie<br/>Soumet les m\u00e9triques onchain]
"},{"location":"fr/contribute-provisioning/#etape-21-generer-votre-cle-de-service","title":"\u00c9tape 2.1 : G\u00e9n\u00e9rer Votre Cl\u00e9 de Service","text":"

C'est votre identit\u00e9 principale pour interagir avec DoubleZero.

doublezero keygen\n

Cela cr\u00e9e une paire de cl\u00e9s \u00e0 l'emplacement par d\u00e9faut. La sortie montre votre cl\u00e9 publique \u2014 c'est ce que vous partagerez avec DZF.

"},{"location":"fr/contribute-provisioning/#etape-22-generer-votre-cle-de-publication-de-metriques","title":"\u00c9tape 2.2 : G\u00e9n\u00e9rer Votre Cl\u00e9 de Publication de M\u00e9triques","text":"

Cette cl\u00e9 est utilis\u00e9e par l'Agent de T\u00e9l\u00e9m\u00e9trie pour signer les soumissions de m\u00e9triques.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"fr/contribute-provisioning/#etape-23-soumettre-les-cles-a-dzf","title":"\u00c9tape 2.3 : Soumettre les Cl\u00e9s \u00e0 DZF","text":"

Contactez la DoubleZero Foundation ou Malbec Labs et fournissez :

  1. Votre cl\u00e9 publique de service
  2. Votre nom d'utilisateur GitHub (pour l'acc\u00e8s au d\u00e9p\u00f4t)

Ils vont :

"},{"location":"fr/contribute-provisioning/#etape-24-verifier-votre-compte","title":"\u00c9tape 2.4 : V\u00e9rifier Votre Compte","text":"

Une fois confirm\u00e9, v\u00e9rifiez que votre compte de contributeur existe :

doublezero contributor list\n

Vous devriez voir votre code de contributeur dans la liste.

"},{"location":"fr/contribute-provisioning/#etape-25-acceder-au-depot-des-contributeurs","title":"\u00c9tape 2.5 : Acc\u00e9der au D\u00e9p\u00f4t des Contributeurs","text":"

Le d\u00e9p\u00f4t malbeclabs/contributors contient :

Suivez les instructions l\u00e0-bas pour la configuration sp\u00e9cifique au dispositif.

"},{"location":"fr/contribute-provisioning/#phase-3-provisionnement-du-dispositif","title":"Phase 3 : Provisionnement du Dispositif","text":"

Vous allez maintenant enregistrer votre dispositif physique sur la blockchain et configurer ses interfaces.

"},{"location":"fr/contribute-provisioning/#comprendre-les-types-de-dispositifs","title":"Comprendre les Types de Dispositifs","text":"
flowchart TB\n    subgraph \"Dispositif P\u00e9riph\u00e9rique\"\n        E[DZD P\u00e9riph\u00e9rique]\n        EU[Les utilisateurs se connectent ici]\n        EU --> E\n        E <-->|Lien DZX| ED[Autre DZD]\n    end\n\n    subgraph \"Dispositif de Transit\"\n        T[DZD de Transit]\n        T <-->|Lien WAN| T2[Un autre DZD]\n        T <-->|Lien DZX| TD[Autre DZD]\n    end\n\n    subgraph \"Dispositif Hybride\"\n        H[DZD Hybride]\n        HU[Les utilisateurs se connectent ici]\n        HU --> H\n        H <-->|Lien WAN| H2[Un autre DZD]\n        H <-->|Lien DZX| HD[Autre DZD]\n    end
Type Ce Qu'il Fait Quand l'Utiliser P\u00e9riph\u00e9rique Accepte uniquement les connexions utilisateurs Emplacement unique, orient\u00e9 utilisateurs uniquement Transit D\u00e9place le trafic entre dispositifs Connectivit\u00e9 backbone, sans utilisateurs Hybride Connexions utilisateurs ET backbone Le plus courant \u2014 fait tout"},{"location":"fr/contribute-provisioning/#etape-31-trouver-votre-emplacement-et-exchange","title":"\u00c9tape 3.1 : Trouver Votre Emplacement et Exchange","text":"

Avant de cr\u00e9er votre dispositif, recherchez les codes de votre emplacement de centre de donn\u00e9es et de l'exchange le plus proche :

# Lister les emplacements disponibles (centres de donn\u00e9es)\ndoublezero location list\n\n# Lister les exchanges disponibles (points d'interconnexion)\ndoublezero exchange list\n
"},{"location":"fr/contribute-provisioning/#etape-32-creer-votre-dispositif-onchain","title":"\u00c9tape 3.2 : Cr\u00e9er Votre Dispositif Onchain","text":"

Enregistrez votre dispositif sur la blockchain :

doublezero device create \\\n  --code <VOTRE_CODE_DISPOSITIF> \\\n  --contributor <VOTRE_CODE_CONTRIBUTEUR> \\\n  --device-type hybrid \\\n  --location <CODE_EMPLACEMENT> \\\n  --exchange <CODE_EXCHANGE> \\\n  --public-ip <IP_PUBLIQUE_DISPOSITIF> \\\n  --dz-prefixes <VOTRE_PREFIXE_DZ>\n

Exemple :

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Sortie attendue :

Signature: 4vKz8H...truncated...7xPq2\n

V\u00e9rifiez que votre dispositif a \u00e9t\u00e9 cr\u00e9\u00e9 :

doublezero device list | grep nyc-dz001\n

Param\u00e8tres expliqu\u00e9s :

Param\u00e8tre Ce Qu'il Signifie --code Un nom unique pour votre dispositif (par exemple, nyc-dz001) --contributor Votre code de contributeur (donn\u00e9 par DZF) --device-type hybrid, transit, ou edge --location Code du centre de donn\u00e9es de location list --exchange Code de l'exchange le plus proche de exchange list --public-ip L'IP publique o\u00f9 les utilisateurs se connectent \u00e0 votre dispositif via internet --dz-prefixes Votre bloc IP allou\u00e9 pour les utilisateurs"},{"location":"fr/contribute-provisioning/#etape-33-creer-les-interfaces-loopback-requises","title":"\u00c9tape 3.3 : Cr\u00e9er les Interfaces Loopback Requises","text":"

Chaque dispositif a besoin de deux interfaces loopback pour le routage interne :

# Loopback VPNv4\ndoublezero device interface create <CODE_DISPOSITIF> Loopback255 --loopback-type vpnv4\n\n# Loopback IPv4\ndoublezero device interface create <CODE_DISPOSITIF> Loopback256 --loopback-type ipv4\n

Sortie attendue (pour chaque commande) :

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"fr/contribute-provisioning/#etape-34-creer-les-interfaces-physiques","title":"\u00c9tape 3.4 : Cr\u00e9er les Interfaces Physiques","text":"

Enregistrez les ports physiques que vous utiliserez :

# Interface de base\ndoublezero device interface create <CODE_DISPOSITIF> Ethernet1/1\n

Sortie attendue :

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"fr/contribute-provisioning/#etape-35-creer-linterface-cyoa-pour-les-dispositifs-peripheriqueshybrides","title":"\u00c9tape 3.5 : Cr\u00e9er l'Interface CYOA (pour les dispositifs P\u00e9riph\u00e9riques/Hybrides)","text":"

Si votre dispositif accepte des connexions utilisateurs, vous avez besoin d'une interface CYOA (Choose Your Own Adventure). Cela indique au syst\u00e8me comment les utilisateurs se connectent \u00e0 vous.

Types CYOA Expliqu\u00e9s :

Type Explication Simple Quand Utiliser gre-over-dia Les utilisateurs se connectent via internet normal Le plus courant \u2014 les utilisateurs se connectent via le DIA \u00e0 votre DZD gre-over-private-peering Les utilisateurs se connectent via lien priv\u00e9 Les utilisateurs ont une connexion directe \u00e0 votre r\u00e9seau gre-over-public-peering Les utilisateurs se connectent via IX Les utilisateurs peerent avec vous \u00e0 un internet exchange gre-over-fabric Les utilisateurs sur le m\u00eame r\u00e9seau local Les utilisateurs dans le m\u00eame centre de donn\u00e9es gre-over-cable C\u00e2ble direct vers l'utilisateur Utilisateur d\u00e9di\u00e9 unique

Exemple - Utilisateurs internet standard :

doublezero device interface create <CODE_DISPOSITIF> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Sortie attendue :

Signature: 2wLp8N...truncated...5vHt3\n

Param\u00e8tres expliqu\u00e9s :

Param\u00e8tre Ce Qu'il Signifie --interface-cyoa Comment les utilisateurs se connectent (voir tableau ci-dessus) --interface-dia dia si c'est un port orient\u00e9 internet --bandwidth Vitesse du port en Mbps (10000 = 10Gbps) --cir D\u00e9bit engag\u00e9 en Mbps (bande passante garantie) --user-tunnel-endpoint Ce port accepte les tunnels utilisateurs"},{"location":"fr/contribute-provisioning/#etape-36-verifier-votre-dispositif","title":"\u00c9tape 3.6 : V\u00e9rifier Votre Dispositif","text":"
doublezero device list\n

Exemple de sortie :

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Votre dispositif devrait appara\u00eetre avec le statut activated.

"},{"location":"fr/contribute-provisioning/#phase-4-etablissement-des-liens-et-installation-des-agents","title":"Phase 4 : \u00c9tablissement des Liens et Installation des Agents","text":"

Les liens connectent votre dispositif au reste du r\u00e9seau DoubleZero.

"},{"location":"fr/contribute-provisioning/#comprendre-les-liens","title":"Comprendre les Liens","text":"
flowchart LR\n    subgraph \"Votre R\u00e9seau\"\n        D1[Votre DZD 1<br/>NYC]\n        D2[Votre DZD 2<br/>LAX]\n    end\n\n    subgraph \"Autre Contributeur\"\n        O1[Leur DZD<br/>NYC]\n    end\n\n    D1 ---|Lien WAN<br/>M\u00eame contributeur| D2\n    D1 ---|Lien DZX<br/>Contributeurs diff\u00e9rents| O1
Type de Lien Connecte Acceptation Lien WAN Deux de VOS dispositifs Automatique (vous poss\u00e9dez les deux) Lien DZX Votre dispositif \u00e0 un AUTRE contributeur N\u00e9cessite leur acceptation"},{"location":"fr/contribute-provisioning/#etape-41-creer-des-liens-wan-si-vous-avez-plusieurs-dispositifs","title":"\u00c9tape 4.1 : Cr\u00e9er des Liens WAN (si vous avez plusieurs dispositifs)","text":"

Les liens WAN connectent vos propres dispositifs :

doublezero link create wan \\\n  --code <CODE_LIEN> \\\n  --contributor <VOTRE_CONTRIBUTEUR> \\\n  --side-a <CODE_DISPOSITIF_1> \\\n  --side-a-interface <INTERFACE_SUR_DISPOSITIF_1> \\\n  --side-z <CODE_DISPOSITIF_2> \\\n  --side-z-interface <INTERFACE_SUR_DISPOSITIF_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Exemple :

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Sortie attendue :

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"fr/contribute-provisioning/#etape-42-creer-des-liens-dzx","title":"\u00c9tape 4.2 : Cr\u00e9er des Liens DZX","text":"

Les liens DZX connectent votre dispositif directement au DZD d'un autre contributeur :

doublezero link create dzx \\\n  --code <CODE_DISPOSITIF_A:CODE_DISPOSITIF_Z> \\\n  --contributor <VOTRE_CONTRIBUTEUR> \\\n  --side-a <VOTRE_CODE_DISPOSITIF> \\\n  --side-a-interface <VOTRE_INTERFACE> \\\n  --side-z <CODE_AUTRE_DISPOSITIF> \\\n  --bandwidth <BANDE_PASSANTE en Kbps, Mbps, ou Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAI> \\\n  --jitter-ms <GIGUE>\n

Sortie attendue :

Signature: 8mKp3W...truncated...2nRx7\n

Apr\u00e8s avoir cr\u00e9\u00e9 un lien DZX, l'autre contributeur doit l'accepter :

# L'AUTRE contributeur ex\u00e9cute ceci\ndoublezero link accept \\\n  --code <CODE_LIEN> \\\n  --side-z-interface <LEUR_INTERFACE>\n

Sortie attendue (pour le contributeur qui accepte) :

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"fr/contribute-provisioning/#etape-43-verifier-les-liens","title":"\u00c9tape 4.3 : V\u00e9rifier les Liens","text":"
doublezero link list\n

Exemple de sortie :

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Les liens devraient afficher le statut activated une fois les deux c\u00f4t\u00e9s configur\u00e9s.

"},{"location":"fr/contribute-provisioning/#installation-des-agents","title":"Installation des Agents","text":"

Deux agents logiciels s'ex\u00e9cutent sur votre DZD :

flowchart TB\n    subgraph \"Votre DZD\"\n        CA[Agent de Configuration]\n        TA[Agent de T\u00e9l\u00e9m\u00e9trie]\n        HW[Mat\u00e9riel/Logiciel du Commutateur]\n    end\n\n    CA -->|Interroge la config| CTRL[Service Contr\u00f4leur]\n    CA -->|Applique la config| HW\n\n    HW -->|M\u00e9triques| TA\n    TA -->|Soumet onchain| BC[Registre DoubleZero]
Agent Ce Qu'il Fait Agent de Configuration R\u00e9cup\u00e8re la configuration depuis le contr\u00f4leur, l'applique \u00e0 votre commutateur Agent de T\u00e9l\u00e9m\u00e9trie Mesure la latence/perte vers les autres dispositifs, rapporte les m\u00e9triques onchain"},{"location":"fr/contribute-provisioning/#etape-44-installer-lagent-de-configuration","title":"\u00c9tape 4.4 : Installer l'Agent de Configuration","text":""},{"location":"fr/contribute-provisioning/#activer-lapi-sur-votre-commutateur","title":"Activer l'API sur votre commutateur","text":"

Ajouter \u00e0 la configuration EOS :

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Note VRF

Remplacez default par votre nom de VRF de gestion si diff\u00e9rent (par exemple, management).

"},{"location":"fr/contribute-provisioning/#telecharger-et-installer-lagent","title":"T\u00e9l\u00e9charger et installer l'agent","text":"
# Entrer dans bash sur le commutateur\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Installer comme extension EOS\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-provisioning/#verifier-lextension","title":"V\u00e9rifier l'extension","text":"
switch# show extensions\n

Le Statut devrait \u00eatre \"A, I, B\" :

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"fr/contribute-provisioning/#configurer-et-demarrer-lagent","title":"Configurer et d\u00e9marrer l'agent","text":"

Ajouter \u00e0 la configuration EOS :

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <VOTRE_PUBKEY_DISPOSITIF>\n    no shut\n

Note VRF

Si votre VRF de gestion n'est pas default (c'est-\u00e0-dire que le namespace n'est pas ns-default), pr\u00e9fixez la commande exec avec exec /sbin/ip netns exec ns-<VRF>. Par exemple, si votre VRF est management :

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <VOTRE_PUBKEY_DISPOSITIF>\n    no shut\n

Obtenez la pubkey de votre dispositif depuis doublezero device list (colonne account).

"},{"location":"fr/contribute-provisioning/#verifier-quil-fonctionne","title":"V\u00e9rifier qu'il fonctionne","text":"
switch# show agent doublezero-agent logs\n

Vous devriez voir \"Starting doublezero-agent\" et des connexions r\u00e9ussies au contr\u00f4leur.

"},{"location":"fr/contribute-provisioning/#etape-45-installer-lagent-de-telemetrie","title":"\u00c9tape 4.5 : Installer l'Agent de T\u00e9l\u00e9m\u00e9trie","text":""},{"location":"fr/contribute-provisioning/#copier-la-cle-de-publication-de-metriques-sur-votre-dispositif","title":"Copier la cl\u00e9 de publication de m\u00e9triques sur votre dispositif","text":"
scp ~/.config/doublezero/metrics-publisher.json <IP_COMMUTATEUR>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"fr/contribute-provisioning/#enregistrer-la-publication-de-metriques-onchain","title":"Enregistrer la publication de m\u00e9triques onchain","text":"
doublezero device update \\\n  --pubkey <COMPTE_DISPOSITIF> \\\n  --metrics-publisher <PUBKEY_PUBLICATION_METRIQUES>\n

Obtenez la pubkey depuis votre fichier metrics-publisher.json.

"},{"location":"fr/contribute-provisioning/#telecharger-et-installer-lagent_1","title":"T\u00e9l\u00e9charger et installer l'agent","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Installer comme extension EOS\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-provisioning/#verifier-lextension_1","title":"V\u00e9rifier l'extension","text":"
switch# show extensions\n

Le Statut devrait \u00eatre \"A, I, B\" :

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"fr/contribute-provisioning/#configurer-et-demarrer-lagent_1","title":"Configurer et d\u00e9marrer l'agent","text":"

Ajouter \u00e0 la configuration EOS :

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <COMPTE_DISPOSITIF> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Note VRF

Si votre VRF de gestion n'est pas default (c'est-\u00e0-dire que le namespace n'est pas ns-default), ajoutez --management-namespace ns-<VRF> \u00e0 la commande exec. Par exemple, si votre VRF est management :

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <COMPTE_DISPOSITIF> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"fr/contribute-provisioning/#verifier-quil-fonctionne_1","title":"V\u00e9rifier qu'il fonctionne","text":"
switch# show agent doublezero-telemetry logs\n

Vous devriez voir \"Starting telemetry collector\" et \"Starting submission loop\".

"},{"location":"fr/contribute-provisioning/#phase-5-rodage-du-lien","title":"Phase 5 : Rodage du Lien","text":"

Tous les nouveaux liens doivent \u00eatre rod\u00e9s avant de transporter du trafic

Les nouveaux liens doivent \u00eatre drain\u00e9s pendant au moins 24 heures avant d'\u00eatre activ\u00e9s pour le trafic de production. Cette exigence de rodage est d\u00e9finie dans RFC12: Network Provisioning, qui sp\u00e9cifie ~200 000 slots du Registre DZ (~20 heures) de m\u00e9triques propres avant qu'un lien soit pr\u00eat pour le service.

Avec les agents install\u00e9s et en cours d'ex\u00e9cution, surveillez vos liens sur metrics.doublezero.xyz pendant au moins 24 heures cons\u00e9cutives :

Ne d\u00e9drainer le lien qu'une fois que la p\u00e9riode de rodage montre un lien propre avec z\u00e9ro perte et z\u00e9ro erreurs.

"},{"location":"fr/contribute-provisioning/#phase-6-verification-et-activation","title":"Phase 6 : V\u00e9rification et Activation","text":"

Parcourez cette liste de contr\u00f4le pour confirmer que tout fonctionne.

Votre dispositif commence verrouill\u00e9 (max_users = 0)

Lorsqu'un dispositif est cr\u00e9\u00e9, max_users est fix\u00e9 \u00e0 0 par d\u00e9faut. Cela signifie qu'aucun utilisateur ne peut encore s'y connecter. C'est intentionnel \u2014 vous devez v\u00e9rifier que tout fonctionne avant d'accepter le trafic utilisateurs.

Avant de d\u00e9finir max_users au-dessus de 0, vous devez :

  1. Confirmer que tous les liens ont compl\u00e9t\u00e9 leur rodage de 24 heures avec z\u00e9ro perte/erreurs sur metrics.doublezero.xyz
  2. Coordonner avec DZ/Malbec Labs pour ex\u00e9cuter un test de connectivit\u00e9 :
    • Un utilisateur de test peut-il se connecter \u00e0 votre dispositif ?
    • L'utilisateur re\u00e7oit-il des routes sur le r\u00e9seau DZ ?
    • L'utilisateur peut-il router le trafic sur le r\u00e9seau DZ de bout en bout ?
  3. Seulement apr\u00e8s que DZ/ML confirme que les tests r\u00e9ussissent, d\u00e9finissez max_users \u00e0 96 :
doublezero device update --pubkey <COMPTE_DISPOSITIF> --max-users 96\n
"},{"location":"fr/contribute-provisioning/#verifications-du-dispositif","title":"V\u00e9rifications du Dispositif","text":"
# Votre dispositif devrait appara\u00eetre avec le statut \"activated\"\ndoublezero device list | grep <VOTRE_CODE_DISPOSITIF>\n

Sortie attendue :

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Vos interfaces devraient \u00eatre list\u00e9es\ndoublezero device interface list | grep <VOTRE_CODE_DISPOSITIF>\n

Sortie attendue :

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"fr/contribute-provisioning/#verifications-des-liens","title":"V\u00e9rifications des Liens","text":"
# Les liens devraient afficher le statut \"activated\"\ndoublezero link list | grep <VOTRE_CODE_DISPOSITIF>\n

Sortie attendue :

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"fr/contribute-provisioning/#verifications-des-agents","title":"V\u00e9rifications des Agents","text":"

Sur le commutateur :

# L'agent de configuration devrait afficher des extractions de configuration r\u00e9ussies\nswitch# show agent doublezero-agent logs | tail -20\n\n# L'agent de t\u00e9l\u00e9m\u00e9trie devrait afficher des soumissions r\u00e9ussies\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"fr/contribute-provisioning/#diagramme-de-verification-finale","title":"Diagramme de V\u00e9rification Finale","text":"
flowchart TB\n    subgraph \"Liste de V\u00e9rification\"\n        D[Statut Dispositif : activ\u00e9 ?]\n        I[Interfaces : enregistr\u00e9es ?]\n        L[Liens : activ\u00e9s ?]\n        CA[Agent de Config : r\u00e9cup\u00e9ration de config ?]\n        TA[Agent de T\u00e9l\u00e9m\u00e9trie : soumission de m\u00e9triques ?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[Toutes les V\u00e9rifications R\u00e9ussies] --> NOTIFY[Notifier DZF/Malbec Labs<br/>Vous \u00eates techniquement pr\u00eat !]
"},{"location":"fr/contribute-provisioning/#depannage","title":"D\u00e9pannage","text":""},{"location":"fr/contribute-provisioning/#la-creation-du-dispositif-echoue","title":"La cr\u00e9ation du dispositif \u00e9choue","text":""},{"location":"fr/contribute-provisioning/#lien-bloque-dans-le-statut-requested","title":"Lien bloqu\u00e9 dans le statut \"requested\"","text":""},{"location":"fr/contribute-provisioning/#lagent-de-configuration-ne-se-connecte-pas","title":"L'Agent de Configuration ne se connecte pas","text":""},{"location":"fr/contribute-provisioning/#lagent-de-telemetrie-ne-soumet-pas","title":"L'Agent de T\u00e9l\u00e9m\u00e9trie ne soumet pas","text":""},{"location":"fr/contribute-provisioning/#prochaines-etapes","title":"Prochaines \u00c9tapes","text":""},{"location":"fr/contribute/","title":"Exigences et Architecture des Contributeurs","text":"

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.

"},{"location":"fr/contribute/#resume","title":"R\u00e9sum\u00e9","text":"

Toute personne souhaitant mon\u00e9tiser ses c\u00e2bles \u00e0 fibre optique et son mat\u00e9riel r\u00e9seau sous-utilis\u00e9s peut contribuer au r\u00e9seau DoubleZero. Les contributeurs r\u00e9seau doivent fournir une bande passante d\u00e9di\u00e9e entre deux points, exploiter des dispositifs compatibles DoubleZero (DZD) \u00e0 chaque extr\u00e9mit\u00e9, et une connexion \u00e0 l'internet public \u00e0 chaque extr\u00e9mit\u00e9. Les contributeurs r\u00e9seau doivent \u00e9galement ex\u00e9cuter des logiciels DoubleZero sur chaque DZD pour fournir des services comme le multicast, la recherche d'utilisateurs, et le filtrage en p\u00e9riph\u00e9rie.

Le contrat intelligent DoubleZero est la pierre angulaire pour garantir que le r\u00e9seau maintient des liaisons de haute qualit\u00e9 qui peuvent \u00eatre mesur\u00e9es et int\u00e9gr\u00e9es dans la topologie, permettant \u00e0 nos contr\u00f4leurs de r\u00e9seau de d\u00e9velopper le chemin le plus efficace de bout en bout entre nos diff\u00e9rents utilisateurs et points d'extr\u00e9mit\u00e9. Lors de l'ex\u00e9cution du contrat intelligent et du d\u00e9ploiement du mat\u00e9riel r\u00e9seau et de la bande passante, une entit\u00e9 est classifi\u00e9e comme contributeur r\u00e9seau. Voir DoubleZero Economics pour mieux comprendre les aspects \u00e9conomiques de la participation \u00e0 DoubleZero en tant que contributeur r\u00e9seau.

"},{"location":"fr/contribute/#exigences-pour-etre-un-contributeur-reseau-doublezero","title":"Exigences pour \u00eatre un Contributeur R\u00e9seau DoubleZero","text":""},{"location":"fr/contribute/#guide-de-demarrage-rapide","title":"Guide de D\u00e9marrage Rapide","text":"

En tant que contributeur r\u00e9seau, la fa\u00e7on la plus simple de commencer avec DoubleZero est d'identifier la capacit\u00e9 dans votre r\u00e9seau qui peut \u00eatre d\u00e9di\u00e9e \u00e0 DoubleZero. Une fois identifi\u00e9s, des DZD doivent \u00eatre d\u00e9ploy\u00e9s, facilitant le r\u00e9seau superpos\u00e9 DoubleZero qui ne n\u00e9cessite que la connectivit\u00e9 IPv4 et un MTU minimum de 2048 octets comme d\u00e9pendances du r\u00e9seau du contributeur.

La figure 1 met en \u00e9vidence le mod\u00e8le le plus simple pour contribuer des services de bande passante et d'envoi et de traitement de paquets. Un DZD est d\u00e9ploy\u00e9 dans chaque centre de donn\u00e9es, s'interfa\u00e7ant avec le r\u00e9seau interne du contributeur r\u00e9seau pour fournir une connectivit\u00e9 WAN DoubleZero. Cela est compl\u00e9t\u00e9 par un internet local, g\u00e9n\u00e9ralement une solution d'Acc\u00e8s Direct \u00e0 Internet (DIA), qui est utilis\u00e9 comme points d'entr\u00e9e pour les utilisateurs DoubleZero. Bien qu'il soit pr\u00e9vu que DIA sera l'option pr\u00e9f\u00e9r\u00e9e pour faciliter l'acc\u00e8s aux utilisateurs de DoubleZero, de nombreux mod\u00e8les de connectivit\u00e9 sont possibles, par exemple le c\u00e2blage physique vers des serveurs, l'extension de fabric r\u00e9seau, etc. Nous appelons ces options Choose Your Own Adventure (CYOA), offrant au contributeur la flexibilit\u00e9 de connecter des utilisateurs locaux ou distants d'une mani\u00e8re qui convient le mieux \u00e0 leurs politiques r\u00e9seau internes.

Comme pour tout r\u00e9seau, la connectivit\u00e9 est une partie fondamentale de l'architecture, car les contributeurs r\u00e9seau ne peuvent pas vivre en isolement. En tant que tel, le DZD doit avoir un lien vers un DoubleZero Exchange (DZX) pour cr\u00e9er un r\u00e9seau contigu entre les participants.

Figure 1 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 2 Centres de Donn\u00e9es - Contributeur Unique"},{"location":"fr/contribute/#exemples-de-contributions","title":"Exemples de Contributions","text":"

Les fa\u00e7ons dont un contributeur r\u00e9seau peut d\u00e9velopper ses contributions DoubleZero sont nombreuses, notamment :

"},{"location":"fr/contribute/#exemple-1-contributeur-unique-3-centres-de-donnees-deux-liens","title":"Exemple 1 : Contributeur Unique, 3 Centres de Donn\u00e9es, Deux Liens","text":"Figure 2 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 3 Centres de Donn\u00e9es - Contributeur Unique

Un seul DZD peut prendre en charge plusieurs liens contribu\u00e9s \u00e0 DoubleZero. La figure 2 illustre une topologie potentielle si un seul centre de donn\u00e9es, d\u00e9sign\u00e9 comme 1, termine la bande passante vers deux centres de donn\u00e9es distants diff\u00e9rents 2 et 3. Dans ce sc\u00e9nario, chaque centre de donn\u00e9es ne contient qu'un seul DZD. Tous les DZD utilisent DIA pour les points d'entr\u00e9e des utilisateurs comme interface CYOA.

"},{"location":"fr/contribute/#exemple-2-contributeur-unique-3-centres-de-donnees-trois-liens","title":"Exemple 2 : Contributeur Unique, 3 Centres de Donn\u00e9es, Trois Liens","text":"

La figure 3 d\u00e9crit la topologie DoubleZero lorsqu'un seul contributeur d\u00e9ploie trois liens dans une topologie en triangle entre 3 centres de donn\u00e9es. Dans un sc\u00e9nario similaire \u00e0 l'exemple 1, un seul DZD est d\u00e9ploy\u00e9 dans les centres de donn\u00e9es 1, 2 et 3, chacun prenant en charge 2 liens r\u00e9seau ind\u00e9pendants. La topologie r\u00e9sultante est un triangle ou anneau entre les centres de donn\u00e9es.

Figure 3 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 3 Centres de Donn\u00e9es - Contributeur Unique"},{"location":"fr/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

La cr\u00e9ation d'un r\u00e9seau contigu est un \u00e9l\u00e9ment fondamental de l'architecture DoubleZero. Les contributeurs s'interfacent via un DoubleZero Exchange (DZX) dans une zone m\u00e9tropolitaine, qui est une ville comme New York (NYC), Londres (LON) ou Tokyo (TYO). Un DZX est une fabric r\u00e9seau similaire \u00e0 un Internet Exchange, permettant le peering et l'\u00e9change de routes.

Dans la figure 4, le contributeur r\u00e9seau 1 op\u00e8re dans les centres de donn\u00e9es 1, 2 et 3, tandis que le contributeur r\u00e9seau 2 op\u00e8re dans les centres de donn\u00e9es 2, 4 et 5. En s'interconnectant dans le centre de donn\u00e9es 2, la port\u00e9e du r\u00e9seau DoubleZero s'\u00e9tend \u00e0 5 centres de donn\u00e9es contigus.

Figure 4 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 2 Contributeurs de Bande Passante R\u00e9seau"},{"location":"fr/contribute/#options-de-contribution-de-bande-passante","title":"Options de Contribution de Bande Passante","text":"

DoubleZero exige qu'un contributeur r\u00e9seau offre une connectivit\u00e9 int\u00e9gr\u00e9e via une bande passante garantie, un profil de latence et de gigue entre les DZD de deux centres de donn\u00e9es de terminaison, exprim\u00e9 via un contrat intelligent. DoubleZero ne mandate pas la fa\u00e7on dont un contributeur r\u00e9seau met en \u0153uvre sa contribution ; cependant, dans les sections suivantes, nous fournissons des options indicatives \u00e0 leur usage \u00e0 leur seule discr\u00e9tion.

Les domaines importants \u00e0 consid\u00e9rer pour un contributeur r\u00e9seau pourraient \u00eatre :

"},{"location":"fr/contribute/#bande-passante-de-couche-1","title":"Bande Passante de Couche 1","text":"Figure 5 : Services Optiques de Couche 1

La bande passante de couche 1, plus formellement d\u00e9crite comme services de longueur d'onde, peut voir une capacit\u00e9 d\u00e9di\u00e9e provisionn\u00e9e sur une infrastructure optique existante, telle que DWDM, CWDM ou via des multiplexeurs optiques (MUX). Dans la figure 5, les DZD utilisent une optique color\u00e9e c\u00e2bl\u00e9e \u00e0 un MUX L1, qui entrelace la longueur d'onde du DZD sur une fibre noire existante.

Cette solution pr\u00e9sente de nombreux avantages pour les contributeurs r\u00e9seau qui exploitent d\u00e9j\u00e0 un r\u00e9seau c\u0153ur existant. Les changements op\u00e9rationnels it\u00e9ratifs, ainsi que les exigences suppl\u00e9mentaires en CAPEX et OPEX, sont modestes. Cette option est particuli\u00e8rement robuste pour offrir la s\u00e9gr\u00e9gation des services r\u00e9seau du contributeur.

"},{"location":"fr/contribute/#bande-passante-commutee-par-paquets","title":"Bande Passante Commut\u00e9e par Paquets","text":"

Les r\u00e9seaux commut\u00e9s par paquets peuvent \u00eatre consid\u00e9r\u00e9s comme un r\u00e9seau d'entreprise typique, ex\u00e9cutant des protocoles de routage et de commutation standard prenant en charge des applications commerciales. Il existe de nombreuses technologies r\u00e9seau qui permettent la connectivit\u00e9, par exemple, les extensions de couche 2 (L2) utilisant des balises VLAN.

"},{"location":"fr/contribute/#extension-l2","title":"Extension L2","text":"Figure 6 : R\u00e9seaux Commut\u00e9s par Paquets - Extension L2

Une extension L2 comme illustr\u00e9e dans la Figure 6 peut \u00eatre facilit\u00e9e par le balisage VLAN. Le port d'un DZD peut \u00eatre c\u00e2bl\u00e9 au commutateur du r\u00e9seau interne d'un contributeur, avec le port de commutation configur\u00e9 en mode acc\u00e8s dans, par exemple, VLAN 10. Via le balisage 802.1q, ce VLAN peut \u00eatre transport\u00e9 sur plusieurs sauts de commutation sur le r\u00e9seau du contributeur, se terminant au commutateur interfa\u00e7ant avec le DZD distant.

Cette solution b\u00e9n\u00e9ficie d'un large support et d'une mise en \u0153uvre relativement facile tout en cr\u00e9ant une segmentation entre DoubleZero et les services de couche 3 internes. La bande passante peut \u00eatre contr\u00f4l\u00e9e en fonction de la vitesse d'interface du commutateur ou routeur interne du contributeur. Une attention particuli\u00e8re doit \u00eatre accord\u00e9e aux performances sur le r\u00e9seau L2 interne partag\u00e9 via des technologies telles que la Qualit\u00e9 de Service (QoS) ou d'autres politiques de gestion du trafic. Cependant, les investissements suppl\u00e9mentaires en CAPEX et OPEX devraient \u00eatre modestes si la capacit\u00e9 existante est disponible dans le r\u00e9seau c\u0153ur du contributeur.

"},{"location":"fr/contribute/#bande-passante-tierce-dediee","title":"Bande Passante Tierce D\u00e9di\u00e9e","text":"Figure 7 : Bande Passante Tierce D\u00e9di\u00e9e

Bien que la r\u00e9utilisation de la capacit\u00e9 disponible soit attrayante pour de nombreux contributeurs r\u00e9seau, on peut \u00e9galement d\u00e9dier une bande passante nouvellement acquise \u00e0 DoubleZero. Dans un tel sc\u00e9nario, le DZD se connecterait directement au transporteur tiers sans aucun dispositif interne du contributeur en ligne (figure 7).

Cette option est attrayante car elle garantit une bande passante d\u00e9di\u00e9e pour DoubleZero, est simple op\u00e9rationnellement et assure une s\u00e9gr\u00e9gation compl\u00e8te de tout autre service r\u00e9seau. Cette option aura probablement la plus forte augmentation d'OPEX et n\u00e9cessite de nouveaux contrats de service avec des transporteurs tiers.

"},{"location":"fr/contribute/#exigences-materielles","title":"Exigences Mat\u00e9rielles","text":""},{"location":"fr/contribute/#contribution-de-bande-passante-100gbps","title":"Contribution de Bande Passante 100Gbps","text":"

Notez que les quantit\u00e9s ci-dessous refl\u00e8tent le mat\u00e9riel n\u00e9cessaire dans deux centres de donn\u00e9es, c'est-\u00e0-dire le mat\u00e9riel total n\u00e9cessaire pour d\u00e9ployer 1 c\u00e2ble \u00e0 fibre optique pour la contribution de bande passante.

*Tous les FPGA sont soumis \u00e0 des tests finaux. Les contributions 10G peuvent \u00eatre prises en charge \u00e0 l'aide de commutateurs Arista 7130LBR avec FPGA Virtex\u00ae UltraScale+\u2122 double int\u00e9gr\u00e9 (si vous avez des questions, la DoubleZero Foundation / Malbec Labs sont heureux de fournir plus d'informations)."},{"location":"fr/contribute/#exigences-de-fonction-et-de-port","title":"Exigences de Fonction et de Port","text":"Fonction Vitesse de Port Exigence DZ QTY Note Bande Passante Priv\u00e9e 100G Oui 1 Acc\u00e8s Direct \u00e0 Internet (DIA) 10G Oui 2 DoubleZero eXchange (DZX) 100G Oui* 1 Doit \u00eatre pris en charge une fois que plus de 3 fournisseurs op\u00e8rent dans la m\u00eame zone m\u00e9tropolitaine, avant cela, des interconnexions crois\u00e9es ou d'autres arrangements de peering peuvent \u00eatre utilis\u00e9s pour s'interconnecter avec d'autres fournisseurs. Gestion Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur. Console Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur."},{"location":"fr/contribute/#materiel-reseau-dzd","title":"Mat\u00e9riel R\u00e9seau DZD","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note AMD* V80* 24540474 Oui 4 Arista 7280CR3A DCS-7280CR3A-32S Oui 2 Des alternatives peuvent \u00eatre possibles si les d\u00e9lais de livraison sont difficiles."},{"location":"fr/contribute/#optiques-100g","title":"Optiques - 100G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR Non 16 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. 100G requis pour connecter les FPGA."},{"location":"fr/contribute/#optiques-10g","title":"Optiques - 10G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 10GBASE-LR SFP-10G-LR Non 2 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA Non 2 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur."},{"location":"fr/contribute/#adressage-ip","title":"Adressage IP","text":"Adressage IP Taille de Sous-r\u00e9seau Minimale Exigence DZ Note IPv4 Public /29 Oui (pour DZD de p\u00e9riph\u00e9rie/hybrides) Doit \u00eatre routable via DIA. Nous pourrions \u00e9liminer ce besoin au fil du temps.

Veuillez vous assurer que le pool /29 complet est disponible pour le protocole DZ. Les exigences pour l'adressage point \u00e0 point, par exemple sur les interfaces DIA, doivent \u00eatre g\u00e9r\u00e9es via un pool d'adresses diff\u00e9rent.

"},{"location":"fr/contribute/#contribution-de-bande-passante-10gbps","title":"Contribution de Bande Passante 10Gbps","text":"

Notez que les quantit\u00e9s refl\u00e8tent le mat\u00e9riel de deux centres de donn\u00e9es, c'est-\u00e0-dire le mat\u00e9riel total n\u00e9cessaire pour d\u00e9ployer 1 contribution de bande passante.

"},{"location":"fr/contribute/#exigences-de-fonction-et-de-port_1","title":"Exigences de Fonction et de Port","text":"Fonction Vitesse de Port Exigence DZ QTY Note Bande Passante Priv\u00e9e 10G Oui 1 Acc\u00e8s Direct \u00e0 Internet (DIA) 10G Oui 2 DoubleZero eXchange (DZX) 100G Oui* 1 Doit \u00eatre pris en charge une fois que plus de 3 fournisseurs op\u00e8rent dans la m\u00eame zone m\u00e9tropolitaine ; avant cela, des interconnexions crois\u00e9es ou d'autres arrangements de peering peuvent \u00eatre utilis\u00e9s pour s'interconnecter avec d'autres fournisseurs. Gestion Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur. Console Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur."},{"location":"fr/contribute/#materiel","title":"Mat\u00e9riel","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note AMD* V80* 24540474* Oui 4 Arista 7280CR3A DCS-7280CR3A-32S Oui 2 Des alternatives peuvent \u00eatre possibles si les d\u00e9lais de livraison sont difficiles."},{"location":"fr/contribute/#optiques-100g_1","title":"Optiques - 100G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR Non 14 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. 100G requis pour connecter les FPGA."},{"location":"fr/contribute/#optiques-10g_1","title":"Optiques - 10G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 10GBASE-LR SFP-10G-LR Non 4 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA Non 4 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. ---"},{"location":"fr/contribute/#adressage-ip_1","title":"Adressage IP","text":"Adressage IP Taille de Sous-r\u00e9seau Minimale Exigence DZ Note IPv4 Public /29 Oui (pour DZD de p\u00e9riph\u00e9rie/hybrides) Doit \u00eatre routable via DIA. Nous pourrions \u00e9liminer ce besoin au fil du temps.

Veuillez vous assurer que le pool /29 complet est disponible pour le protocole DZ. Les exigences pour l'adressage point \u00e0 point, par exemple sur les interfaces DIA, doivent \u00eatre g\u00e9r\u00e9es via un pool d'adresses diff\u00e9rent.

"},{"location":"fr/contribute/#exigences-du-centre-de-donnees","title":"Exigences du Centre de Donn\u00e9es","text":""},{"location":"fr/contribute/#exigences-de-baie-et-dalimentation","title":"Exigences de Baie et d'Alimentation","text":"Exigence Sp\u00e9cification Espace Baie 4U Alimentation 4KW (recommand\u00e9)"},{"location":"fr/contribute/#prochaines-etapes","title":"Prochaines \u00c9tapes","text":"

Pr\u00eat \u00e0 provisionner votre premier DZD ? Continuez avec le Guide de Provisionnement des Dispositifs.

"},{"location":"fr/glossary/","title":"Glossaire","text":"

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.

Cette page d\u00e9finit la terminologie sp\u00e9cifique \u00e0 DoubleZero utilis\u00e9e dans toute la documentation.

"},{"location":"fr/glossary/#infrastructure-reseau","title":"Infrastructure R\u00e9seau","text":""},{"location":"fr/glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

Le mat\u00e9riel de commutation r\u00e9seau physique qui termine les liens DoubleZero et ex\u00e9cute le logiciel DoubleZero Agent. Les DZD sont d\u00e9ploy\u00e9s dans des centres de donn\u00e9es et fournissent des services de routage, de traitement des paquets et de connectivit\u00e9 utilisateur. Chaque DZD n\u00e9cessite des sp\u00e9cifications mat\u00e9rielles sp\u00e9cifiques et ex\u00e9cute \u00e0 la fois le Config Agent et le Telemetry Agent.

"},{"location":"fr/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Points d'interconnexion dans le r\u00e9seau maill\u00e9 o\u00f9 diff\u00e9rents liens de contributeurs sont reli\u00e9s ensemble. Les DZX sont situ\u00e9s dans les grandes zones m\u00e9tropolitaines (p. ex., NYC, LON, TYO) o\u00f9 se produisent les intersections de r\u00e9seau. Les contributeurs r\u00e9seau doivent cross-connecter leurs liens dans le maillage DoubleZero plus large au niveau du DZX le plus proche. Concept similaire \u00e0 un Internet Exchange (IX).

"},{"location":"fr/glossary/#lien-wan","title":"Lien WAN","text":"

Un lien Wide Area Network entre deux DZD exploit\u00e9s par le m\u00eame contributeur. Les liens WAN fournissent une connectivit\u00e9 backbone au sein de l'infrastructure d'un seul contributeur.

"},{"location":"fr/glossary/#lien-dzx","title":"Lien DZX","text":"

Un lien entre des DZD exploit\u00e9s par des contributeurs diff\u00e9rents, \u00e9tabli au niveau d'un DZX. Les liens DZX n\u00e9cessitent une acceptation explicite des deux parties.

"},{"location":"fr/glossary/#prefixe-dz","title":"Pr\u00e9fixe DZ","text":"

Allocations d'adresses IP au format CIDR attribu\u00e9es \u00e0 un DZD pour l'adressage du r\u00e9seau overlay. Sp\u00e9cifi\u00e9 lors de la cr\u00e9ation du dispositif en utilisant le param\u00e8tre --dz-prefixes.

"},{"location":"fr/glossary/#types-de-dispositifs","title":"Types de Dispositifs","text":""},{"location":"fr/glossary/#dispositif-edge","title":"Dispositif Edge","text":"

Un DZD qui fournit une connectivit\u00e9 utilisateur au r\u00e9seau DoubleZero. Les dispositifs edge exploitent les interfaces CYOA pour terminer les utilisateurs (validateurs, op\u00e9rateurs RPC) et les connecter au r\u00e9seau.

"},{"location":"fr/glossary/#dispositif-transit","title":"Dispositif Transit","text":"

Un DZD qui fournit une connectivit\u00e9 backbone au sein du r\u00e9seau DoubleZero. Les dispositifs transit d\u00e9placent le trafic entre les DZD mais ne terminent pas directement les connexions utilisateur.

"},{"location":"fr/glossary/#dispositif-hybride","title":"Dispositif Hybride","text":"

Un DZD qui combine \u00e0 la fois les fonctionnalit\u00e9s edge et transit, fournissant \u00e0 la fois la connectivit\u00e9 utilisateur et le routage backbone.

"},{"location":"fr/glossary/#connectivite","title":"Connectivit\u00e9","text":""},{"location":"fr/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Types d'interfaces qui permettent aux contributeurs d'enregistrer des options de connectivit\u00e9 pour que les utilisateurs se connectent au r\u00e9seau DoubleZero. Les interfaces CYOA incluent diverses m\u00e9thodes comme DIA, les tunnels GRE et le peering priv\u00e9. Consultez Cr\u00e9ation d'Interfaces CYOA pour les d\u00e9tails de configuration.

"},{"location":"fr/glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

Un terme r\u00e9seau standard pour la connectivit\u00e9 fournie via l'internet public. Dans DoubleZero, DIA est un type d'interface CYOA o\u00f9 les utilisateurs (validateurs, op\u00e9rateurs RPC) se connectent \u00e0 un DZD via leur connexion internet existante.

"},{"location":"fr/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

Un mode de connexion qui permet aux validateurs et aux n\u0153uds RPC de se connecter \u00e0 DoubleZero sans red\u00e9marrer leurs clients blockchain. IBRL utilise l'adresse IP publique existante et \u00e9tablit un tunnel overlay vers le DZD le plus proche. Consultez Connexion Mainnet-Beta pour les instructions de configuration.

"},{"location":"fr/glossary/#multicast","title":"Multicast","text":"

Une m\u00e9thode de livraison de paquets un-vers-plusieurs prise en charge par DoubleZero. Le mode multicast a deux r\u00f4les : \u00e9diteur (envoie des paquets sur le r\u00e9seau) et abonn\u00e9 (re\u00e7oit des paquets de l'\u00e9diteur). Utilis\u00e9 par les \u00e9quipes de d\u00e9veloppement pour une distribution efficace des donn\u00e9es. Consultez Autre Connexion Multicast pour les d\u00e9tails de connexion.

"},{"location":"fr/glossary/#composants-logiciels","title":"Composants Logiciels","text":""},{"location":"fr/glossary/#doublezerod","title":"doublezerod","text":"

Le service daemon DoubleZero qui s'ex\u00e9cute sur les serveurs utilisateurs (validateurs, n\u0153uds RPC). Il g\u00e8re la connexion au r\u00e9seau DoubleZero, g\u00e8re l'\u00e9tablissement des tunnels et maintient la connectivit\u00e9 aux DZD. Configur\u00e9 via systemd et contr\u00f4l\u00e9 via l'interface de ligne de commande doublezero.

"},{"location":"fr/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

L'interface de ligne de commande pour interagir avec le r\u00e9seau DoubleZero. Utilis\u00e9e pour se connecter, g\u00e9rer les identit\u00e9s, v\u00e9rifier le statut et effectuer des op\u00e9rations administratives. Communique avec le daemon doublezerod.

"},{"location":"fr/glossary/#config-agent","title":"Config Agent","text":"

Agent logiciel s'ex\u00e9cutant sur les DZD qui g\u00e8re la configuration des dispositifs. Lit la configuration depuis le service Contr\u00f4leur et applique les changements au dispositif. Consultez Installation du Config Agent pour la configuration.

"},{"location":"fr/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Agent logiciel s'ex\u00e9cutant sur les DZD qui collecte les m\u00e9triques de performance (latence, gigue, perte de paquets) et les soumet au registre DoubleZero. Consultez Installation du Telemetry Agent pour la configuration.

"},{"location":"fr/glossary/#controleur","title":"Contr\u00f4leur","text":"

Un service qui fournit la configuration aux agents DZD. Le Contr\u00f4leur d\u00e9rive les configurations des dispositifs \u00e0 partir de l'\u00e9tat on-chain sur le registre DoubleZero.

"},{"location":"fr/glossary/#etats-des-liens","title":"\u00c9tats des Liens","text":""},{"location":"fr/glossary/#active","title":"Activ\u00e9","text":"

L'\u00e9tat op\u00e9rationnel normal pour un lien. Le trafic circule \u00e0 travers le lien et il participe aux d\u00e9cisions de routage.

"},{"location":"fr/glossary/#soft-drained","title":"Soft-Drained","text":"

Un \u00e9tat de maintenance o\u00f9 le trafic sera d\u00e9courag\u00e9 sur un lien sp\u00e9cifique. Utilis\u00e9 pour les fen\u00eatres de maintenance progressives. Peut passer \u00e0 activ\u00e9 ou hard-drained.

"},{"location":"fr/glossary/#hard-drained","title":"Hard-Drained","text":"

Un \u00e9tat de maintenance o\u00f9 le lien est compl\u00e8tement retir\u00e9 du service. Aucun trafic ne circule \u00e0 travers le lien. Doit passer \u00e0 soft-drained avant de revenir \u00e0 activ\u00e9.

"},{"location":"fr/glossary/#organisations-tokens","title":"Organisations & Tokens","text":""},{"location":"fr/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

La DoubleZero Foundation est une soci\u00e9t\u00e9 fondation des \u00celes Ca\u00efmans \u00e0 but non lucratif sans membres, cr\u00e9\u00e9e pour soutenir le d\u00e9veloppement, la d\u00e9centralisation, la s\u00e9curit\u00e9 et l'adoption du r\u00e9seau DoubleZero.

"},{"location":"fr/glossary/#token-2z","title":"Token 2Z","text":"

Le token natif du r\u00e9seau DoubleZero. Utilis\u00e9 pour payer les frais des validateurs et distribu\u00e9 comme r\u00e9compenses aux contributeurs. Les validateurs peuvent payer les frais en 2Z via un programme d'\u00e9change on-chain. Consultez Payer les Frais avec 2Z et \u00c9changer SOL contre 2Z.

"},{"location":"fr/glossary/#contributeur","title":"Contributeur","text":"

Un fournisseur d'infrastructure r\u00e9seau qui contribue de la bande passante et du mat\u00e9riel au r\u00e9seau DoubleZero. Les contributeurs exploitent des DZD, fournissent des liens WAN et DZX, et re\u00e7oivent des incitations en tokens 2Z pour leur contribution. Consultez Documentation Contributeur pour commencer.

"},{"location":"fr/glossary/#concepts-reseau","title":"Concepts R\u00e9seau","text":""},{"location":"fr/glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

La taille de paquet maximale (en octets) pouvant \u00eatre transmise sur un lien r\u00e9seau. Les liens WAN DoubleZero utilisent g\u00e9n\u00e9ralement MTU 9000 (trames jumbo) pour l'efficacit\u00e9.

"},{"location":"fr/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

Une technologie qui permet \u00e0 plusieurs tables de routage isol\u00e9es d'exister sur le m\u00eame routeur physique. Les contributeurs utilisent souvent un VRF de gestion s\u00e9par\u00e9 pour isoler le trafic de gestion du commutateur du trafic de production.

"},{"location":"fr/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

Un protocole de tunneling qui encapsule des paquets r\u00e9seau dans des paquets IP. Utilis\u00e9 par les connexions IBRL et CYOA pour cr\u00e9er des tunnels overlay entre les utilisateurs et les DZD.

"},{"location":"fr/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

Le protocole de routage utilis\u00e9 pour \u00e9changer des informations de routage entre les r\u00e9seaux sur internet. DoubleZero utilise BGP en interne avec l'ASN 65342.

"},{"location":"fr/glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

Un identifiant unique attribu\u00e9 \u00e0 un r\u00e9seau pour le routage BGP. Tous les dispositifs DoubleZero utilisent ASN 65342 pour le processus BGP interne.

"},{"location":"fr/glossary/#interface-loopback","title":"Interface Loopback","text":"

Une interface r\u00e9seau virtuelle sur un routeur/commutateur utilis\u00e9e \u00e0 des fins de gestion et de routage. Les DZD utilisent Loopback255 (VPNv4) et Loopback256 (IPv4) pour le routage interne.

"},{"location":"fr/glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

Une notation pour sp\u00e9cifier des plages d'adresses IP. Le format est IP/longueur-pr\u00e9fixe o\u00f9 la longueur du pr\u00e9fixe indique la taille du r\u00e9seau (p. ex., /29 = 8 adresses, /24 = 256 adresses).

"},{"location":"fr/glossary/#gigue-jitter","title":"Gigue (Jitter)","text":"

Variation de la latence des paquets dans le temps. Une faible gigue est essentielle pour les applications en temps r\u00e9el.

"},{"location":"fr/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

Le temps pour qu'un paquet voyage de la source \u00e0 la destination et retour. Utilis\u00e9 pour mesurer la latence r\u00e9seau entre les dispositifs.

"},{"location":"fr/glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

Un protocole pour mesurer les m\u00e9triques de performance r\u00e9seau telles que la latence et la perte de paquets. Le Telemetry Agent utilise TWAMP pour collecter des m\u00e9triques entre les DZD.

"},{"location":"fr/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

Un protocole de routage \u00e0 \u00e9tat de lien utilis\u00e9 en interne par le r\u00e9seau DoubleZero. Les m\u00e9triques IS-IS sont ajust\u00e9es lors des op\u00e9rations de vidage de lien.

"},{"location":"fr/glossary/#blockchain-cles","title":"Blockchain & Cl\u00e9s","text":""},{"location":"fr/glossary/#on-chain","title":"On-chain","text":"

Dans le contexte DoubleZero, on-chain fait r\u00e9f\u00e9rence aux donn\u00e9es et op\u00e9rations enregistr\u00e9es sur le registre DoubleZero. Contrairement aux r\u00e9seaux traditionnels o\u00f9 les configurations des dispositifs et des liens r\u00e9sident dans des syst\u00e8mes de gestion centralis\u00e9s, DoubleZero enregistre les enregistrements de dispositifs, les configurations de liens et les soumissions de t\u00e9l\u00e9m\u00e9trie on-chain \u2014 rendant l'\u00e9tat du r\u00e9seau transparent et v\u00e9rifiable par tous les participants.

"},{"location":"fr/glossary/#cle-de-service","title":"Cl\u00e9 de Service","text":"

Une paire de cl\u00e9s cryptographiques utilis\u00e9e pour authentifier les op\u00e9rations CLI. Il s'agit de votre identit\u00e9 de contributeur pour interagir avec le contrat intelligent DoubleZero. Stock\u00e9e dans ~/.config/solana/id.json.

"},{"location":"fr/glossary/#cle-dediteur-de-metriques","title":"Cl\u00e9 d'\u00c9diteur de M\u00e9triques","text":"

Une paire de cl\u00e9s cryptographiques utilis\u00e9e par le Telemetry Agent pour signer les soumissions de m\u00e9triques \u00e0 la blockchain. S\u00e9par\u00e9e de la cl\u00e9 de service pour l'isolation de s\u00e9curit\u00e9. Stock\u00e9e dans ~/.config/doublezero/metrics-publisher.json.

"},{"location":"fr/glossary/#materiel-logiciel","title":"Mat\u00e9riel & Logiciel","text":""},{"location":"fr/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

Le syst\u00e8me d'exploitation r\u00e9seau d'Arista qui s'ex\u00e9cute sur les commutateurs DZD. Les contributeurs installent le Config Agent et le Telemetry Agent comme extensions EOS.

"},{"location":"fr/glossary/#extension-eos","title":"Extension EOS","text":"

Un paquet logiciel pouvant \u00eatre install\u00e9 sur les commutateurs Arista EOS. Les agents DZ sont distribu\u00e9s sous forme de fichiers .rpm et install\u00e9s via la commande extension.

"},{"location":"fr/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"fr/multicast-admin/#gestion-des-groupes-multicast-dans-doublezero","title":"Gestion des Groupes Multicast dans DoubleZero","text":"

Un groupe multicast est une collection logique de dispositifs ou de n\u0153uds r\u00e9seau qui partagent un identifiant commun (g\u00e9n\u00e9ralement une adresse IP multicast) pour transmettre efficacement des donn\u00e9es \u00e0 plusieurs destinataires. Contrairement \u00e0 la communication unicast (un-vers-un) ou broadcast (un-vers-tous), le multicast permet \u00e0 un \u00e9metteur de transmettre un seul flux de donn\u00e9es qui est r\u00e9pliqu\u00e9 par le r\u00e9seau uniquement pour les r\u00e9cepteurs qui ont rejoint le groupe.

Cette approche optimise l'utilisation de la bande passante et r\u00e9duit la charge sur l'\u00e9metteur et sur l'infrastructure r\u00e9seau, car les paquets ne sont transmis qu'une seule fois par lien et ne sont dupliqu\u00e9s que lorsque cela est n\u00e9cessaire pour atteindre plusieurs abonn\u00e9s. Les groupes multicast sont couramment utilis\u00e9s dans des sc\u00e9narios tels que la diffusion vid\u00e9o en direct, les conf\u00e9rences, la distribution de donn\u00e9es financi\u00e8res et les syst\u00e8mes de messagerie en temps r\u00e9el.

Dans DoubleZero, les groupes multicast fournissent un m\u00e9canisme s\u00e9curis\u00e9 et contr\u00f4l\u00e9 pour g\u00e9rer qui peut envoyer (\u00e9diteurs) et recevoir (abonn\u00e9s) des donn\u00e9es au sein de chaque groupe, assurant une distribution d'informations efficace et gouvern\u00e9e.

flowchart LR\n    subgraph \u00c9diteurs\n        P1[\u00c9diteur 1]\n        P2[\u00c9diteur 2]\n        P3[\u00c9diteur 3]\n    end\n    subgraph Abonn\u00e9s\n        S1[Abonn\u00e9 1]\n        S2[Abonn\u00e9 2]\n        S3[Abonn\u00e9 3]\n        S4[Abonn\u00e9 4]\n    end\n    P1 --> B[Groupe Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

Le diagramme ci-dessus montre comment plusieurs utilisateurs peuvent publier des messages vers un groupe multicast, et plusieurs utilisateurs peuvent s'abonner pour recevoir ces messages. Le r\u00e9seau DoubleZero r\u00e9plique efficacement les paquets, s'assurant que tous les abonn\u00e9s re\u00e7oivent les messages sans surcharge de transmission inutile.

"},{"location":"fr/multicast-admin/#1-creation-et-liste-des-groupes-multicast","title":"1. Cr\u00e9ation et Liste des Groupes Multicast","text":"

Les groupes multicast sont la base d'une distribution de donn\u00e9es s\u00e9curis\u00e9e et efficace dans DoubleZero. Chaque groupe est identifi\u00e9 de mani\u00e8re unique et configur\u00e9 avec une bande passante et un propri\u00e9taire sp\u00e9cifiques. Seuls les administrateurs de la DoubleZero Foundation peuvent cr\u00e9er de nouveaux groupes multicast, assurant une bonne gouvernance et une allocation appropri\u00e9e des ressources.

Une fois cr\u00e9\u00e9s, les groupes multicast peuvent \u00eatre list\u00e9s pour fournir un aper\u00e7u de tous les groupes disponibles, de leur configuration et de leur statut actuel. Ceci est essentiel pour que les op\u00e9rateurs r\u00e9seau et les propri\u00e9taires de groupes puissent surveiller les ressources et g\u00e9rer les acc\u00e8s.

Cr\u00e9ation d'un groupe multicast :

Seule la DoubleZero Foundation peut cr\u00e9er de nouveaux groupes multicast. La commande de cr\u00e9ation n\u00e9cessite un code unique, la bande passante maximale et la cl\u00e9 publique du propri\u00e9taire (ou 'me' pour le payeur actuel).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Liste de tous les groupes multicast :

Pour lister tous les groupes multicast et afficher les informations r\u00e9capitulatives (y compris le code du groupe, l'IP multicast, la bande passante, le nombre d'\u00e9diteurs et d'abonn\u00e9s, le statut et le propri\u00e9taire) :

doublezero multicast group list\n

Exemple de sortie :

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Cette commande affiche un tableau avec tous les groupes multicast et leurs principales propri\u00e9t\u00e9s : - account : Adresse du compte du groupe - code : Code du groupe multicast - multicast_ip : Adresse IP multicast attribu\u00e9e au groupe - max_bandwidth : Bande passante maximale autoris\u00e9e pour le groupe - publishers : Nombre d'\u00e9diteurs dans le groupe - subscribers : Nombre d'abonn\u00e9s dans le groupe - status : Statut actuel (p. ex., activ\u00e9) - owner : Cl\u00e9 publique du propri\u00e9taire

Une fois qu'un groupe est cr\u00e9\u00e9, le propri\u00e9taire peut g\u00e9rer quels utilisateurs sont autoris\u00e9s \u00e0 se connecter en tant qu'\u00e9diteurs ou abonn\u00e9s.

"},{"location":"fr/multicast-admin/#2-gestion-des-listes-dautorisation-editeurabonne","title":"2. Gestion des Listes d'Autorisation \u00c9diteur/Abonn\u00e9","text":"

Les listes d'autorisation des \u00e9diteurs et des abonn\u00e9s sont essentielles pour contr\u00f4ler l'acc\u00e8s aux groupes multicast dans DoubleZero. Ces listes d\u00e9finissent explicitement quels utilisateurs sont autoris\u00e9s \u00e0 publier (envoyer des donn\u00e9es) ou \u00e0 s'abonner (recevoir des donn\u00e9es) au sein d'un groupe multicast sp\u00e9cifique.

La gestion de ces listes est la responsabilit\u00e9 du propri\u00e9taire du groupe, qui peut ajouter, supprimer ou consulter les \u00e9diteurs et abonn\u00e9s autoris\u00e9s \u00e0 l'aide de la CLI DoubleZero. Une gestion appropri\u00e9e des listes d'autorisation est essentielle pour maintenir la s\u00e9curit\u00e9, l'int\u00e9grit\u00e9 et la tra\u00e7abilit\u00e9 des communications multicast.

Note : Pour s'abonner ou publier dans un groupe multicast, un utilisateur doit d'abord \u00eatre autoris\u00e9 \u00e0 se connecter \u00e0 DoubleZero en suivant les proc\u00e9dures de connexion standard. Les commandes de liste d'autorisation d\u00e9crites ici associent uniquement un utilisateur DoubleZero d\u00e9j\u00e0 autoris\u00e9 \u00e0 un groupe multicast. L'ajout d'une nouvelle IP \u00e0 la liste d'autorisation d'un groupe multicast n'accorde pas par lui-m\u00eame l'acc\u00e8s \u00e0 DoubleZero ; l'utilisateur doit avoir d\u00e9j\u00e0 compl\u00e9t\u00e9 le processus d'autorisation g\u00e9n\u00e9ral avant d'interagir avec les groupes multicast.

"},{"location":"fr/multicast-admin/#ajouter-un-editeur-a-la-liste-dautorisation","title":"Ajouter un \u00e9diteur \u00e0 la liste d'autorisation","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#supprimer-un-editeur-de-la-liste-dautorisation","title":"Supprimer un \u00e9diteur de la liste d'autorisation","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#lister-la-liste-dautorisation-des-editeurs-pour-un-groupe","title":"Lister la liste d'autorisation des \u00e9diteurs pour un groupe","text":"

Pour lister tous les \u00e9diteurs dans la liste d'autorisation d'un groupe multicast sp\u00e9cifique, utilisez :

doublezero multicast group allowlist publisher list --code <CODE>\n

Exemple :

doublezero multicast group allowlist publisher list --code mg01\n

Exemple de sortie :

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Cette commande affiche tous les \u00e9diteurs actuellement autoris\u00e9s \u00e0 se connecter au groupe sp\u00e9cifi\u00e9, y compris leur compte, le code du groupe, l'IP du client et le payeur utilisateur.

"},{"location":"fr/multicast-admin/#ajouter-un-abonne-a-la-liste-dautorisation","title":"Ajouter un abonn\u00e9 \u00e0 la liste d'autorisation","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#supprimer-un-abonne-de-la-liste-dautorisation","title":"Supprimer un abonn\u00e9 de la liste d'autorisation","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#lister-la-liste-dautorisation-des-abonnes-pour-un-groupe","title":"Lister la liste d'autorisation des abonn\u00e9s pour un groupe","text":"

Pour lister tous les abonn\u00e9s dans la liste d'autorisation d'un groupe multicast sp\u00e9cifique, utilisez :

doublezero multicast group allowlist subscriber list --code <CODE>\n

Exemple :

doublezero multicast group allowlist subscriber list --code mg01\n

Exemple de sortie :

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Cette commande affiche tous les abonn\u00e9s actuellement autoris\u00e9s \u00e0 se connecter au groupe sp\u00e9cifi\u00e9, y compris leur compte, le code du groupe, l'IP du client et le payeur utilisateur.

Pour plus d'informations sur la connexion et l'utilisation du multicast, consultez Autre Connexion Multicast.

"},{"location":"fr/paying-fees/","title":"Tarification et Frais des Validateurs","text":"

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.

Tarification simple et align\u00e9e pour les validateurs Solana

Les frais commenceront \u00e0 l'\u00e9poque 859, qui d\u00e9bute le samedi 4 octobre \u00e0 4h du matin ET. Des frais fixes de 5 % sont pr\u00e9lev\u00e9s sur les r\u00e9compenses de signature de blocs et les frais de priorit\u00e9.

Les frais financent directement l'infrastructure qui rend DoubleZero possible. Y compris les lignes de fibre physiques et l'\u00e9quipement dans les centres de donn\u00e9es.

Une exploration approfondie de la raison d'\u00eatre des frais et du mod\u00e8le de tarification des validateurs se trouve ici.

Ce guide se concentre sur la fa\u00e7on dont les frais sont pay\u00e9s d'un point de vue technique.

"},{"location":"fr/paying-fees/#modele-de-reglement","title":"Mod\u00e8le de R\u00e8glement","text":""},{"location":"fr/paying-fees/#estimation-des-frais","title":"Estimation des Frais","text":"

Les estimations historiques et les donn\u00e9es par cl\u00e9 publique sont disponibles dans le D\u00e9p\u00f4t d'Estimation des Frais. Le d\u00e9p\u00f4t ne remplace pas les donn\u00e9es on-chain. Vous \u00eates responsable du solde on-chain, pas du solde dans ce d\u00e9p\u00f4t.

Questions ? Contactez Nihar Shah \u00e0 nihar@doublezero.us

"},{"location":"fr/paying-fees/#details-pour-les-developpeurs","title":"D\u00e9tails pour les D\u00e9veloppeurs","text":""},{"location":"fr/paying-fees/#interface-de-ligne-de-commande","title":"Interface de Ligne de Commande","text":"

La CLI DoubleZero fournit des commandes pour g\u00e9rer les d\u00e9p\u00f4ts des validateurs et surveiller les soldes. Vous aurez besoin de SOL dans le compte depuis lequel vous ex\u00e9cutez ces commandes pour payer les frais de gaz.

"},{"location":"fr/paying-fees/#etape-1-comprendre-la-dette-due","title":"\u00c9tape 1 : Comprendre la Dette Due","text":"

Pour consulter la dette \u00e0 une adresse sp\u00e9cifique, vous pouvez utiliser ce format :

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Nous examinerons un exemple de sortie ci-dessous :

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
Dans l'exemple de sortie, deux r\u00e9sultats diff\u00e9rents sont possibles sous note. Not funded signifie que le compte n'a pas \u00e9t\u00e9 financ\u00e9. Dans l'exemple, 0.632515639 SOL needed est le montant SOL restant n\u00e9cessaire pour payer toutes les dettes actuellement dues associ\u00e9es \u00e0 l'ID Validateur cible.

"},{"location":"fr/paying-fees/#etape-2-payer-la-dette-due","title":"\u00c9tape 2 : Payer la Dette Due","text":"

Note

Vous pouvez planifier l'ex\u00e9cution de cette commande \u00e0 intervalles r\u00e9guliers.

Pour rembourser la dette due, vous pouvez utiliser la commande suivante. Cela utilisera automatiquement la keypair par d\u00e9faut dans $HOME/.config/solana/id.json

Vous pouvez sp\u00e9cifier la keypair avec laquelle vous souhaitez payer votre dette en ajoutant l'argument -k path/to/keypair.json \u00e0 la fin de la commande.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
Un exemple de sortie est fourni ci-dessous

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: renvoie le compte de d\u00e9p\u00f4t qui a \u00e9t\u00e9 financ\u00e9

Funded: renvoie le hash de transaction, que vous pouvez consulter dans votre explorateur Solana pr\u00e9f\u00e9r\u00e9

Node ID: renvoie l'ID Validateur pour lequel le paiement a \u00e9t\u00e9 effectu\u00e9

Balance: renvoie le montant de SOL dans le compte de d\u00e9p\u00f4t, apr\u00e8s le transfert termin\u00e9

"},{"location":"fr/paying-fees2z/","title":"Paying fees2z","text":"

Lisez le Avertissement avant d'acc\u00e9der ou d'utiliser le code ou tout mat\u00e9riel associ\u00e9.

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.

Avertissement

Ce document et le code associ\u00e9 sont fournis \u00e0 des fins d'information et techniques uniquement. La fonctionnalit\u00e9 de conversion de tokens d\u00e9crite ici est non-custodiale \u2014 les utilisateurs interagissent directement avec les contrats intelligents sous-jacents et conservent le plein contr\u00f4le de leurs actifs \u00e0 tout moment.

Le syst\u00e8me peut s'appuyer sur ou interagir avec du code tiers, des sources de donn\u00e9es, ou des m\u00e9canismes de tarification et de frais (par exemple, des contrats intelligents, des API, ou des \u00e9changes d\u00e9centralis\u00e9s) qui ne sont pas d\u00e9velopp\u00e9s, contr\u00f4l\u00e9s, ou examin\u00e9s par le(s) d\u00e9veloppeur(s) ou \u00e9diteur(s). Aucune repr\u00e9sentation ou garantie n'est faite quant \u00e0 l'exactitude, la fonctionnalit\u00e9, ou la s\u00e9curit\u00e9 de tout composant tiers. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) de ce code ne garantissent pas son exactitude, son exhaustivit\u00e9, ou sa disponibilit\u00e9 continue. Le code et les mat\u00e9riaux associ\u00e9s sont fournis \"tels quels\", et peuvent contenir des bugs, des erreurs, ou des vuln\u00e9rabilit\u00e9s. L'utilisation est enti\u00e8rement \u00e0 vos propres risques. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) ne re\u00e7oivent aucuns frais en rapport avec l'utilisation de ces contrats. Ils n'ont aucune obligation de maintenir, mettre \u00e0 jour, ou soutenir le code ou la documentation associ\u00e9e.

Ce document ne constitue pas une offre de vente, une sollicitation d'achat, ou une recommandation de participer \u00e0 une conversion de tokens, un \u00e9change ou une autre transaction. Aucun conseil juridique, financier, ou d'investissement n'est fourni. Les utilisateurs sont seuls responsables de d\u00e9terminer la l\u00e9galit\u00e9 de leurs activit\u00e9s. Ils doivent examiner les lois et r\u00e9glementations applicables dans leur juridiction et consulter des conseillers ind\u00e9pendants avant d'utiliser le code ou de participer \u00e0 une conversion. L'utilisation est interdite l\u00e0 o\u00f9 elle serait ill\u00e9gale, y compris par des personnes ou entit\u00e9s soumises \u00e0 des sanctions ou dans des juridictions restreintes.

Dans la mesure maximale permise par la loi, le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) d\u00e9clinent toute responsabilit\u00e9 pour toute perte, dommage, ou r\u00e9clamation d\u00e9coulant de ou en rapport avec l'utilisation du code ou la participation \u00e0 la conversion.

L'examen et l'utilisation de ce document et du code associ\u00e9 sont soumis aux Conditions G\u00e9n\u00e9rales du Site Web et aux Conditions G\u00e9n\u00e9rales du Protocole.

Les validateurs peuvent payer leurs frais en 2Z via un programme de swap onchain. Le swap est effectu\u00e9 en \u00e9changeant des 2Z contre des SOL. Le solde SOL de votre compte de d\u00e9p\u00f4t sera mis \u00e0 jour en fonction du swap.

Ce processus utilisera toujours des incr\u00e9ments de 1 SOL. Le r\u00e9sultat de ce swap sera toujours d\u00e9pos\u00e9 directement dans votre compte de d\u00e9p\u00f4t. C'est un sens unique, vous ne pouvez pas r\u00e9cup\u00e9rer les 2Z ou SOL de cette transaction. Ils seront envoy\u00e9s \u00e0 un module de distribution onchain.

"},{"location":"fr/paying-fees2z/#etape-1","title":"\u00c9tape 1","text":"

D\u00e9terminez d'abord quel est le taux de conversion actuel

doublezero-solana revenue-distribution fetch sol-conversion\n

sortie :

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"fr/paying-fees2z/#etape-2","title":"\u00c9tape 2","text":"

Placez un ordre limit\u00e9. Vous ex\u00e9cuterez ce swap \u00e0 vos propres risques. Nous ne faisons pas de recommandations sur le profil de risque, et les exemples fournis ici sont \u00e0 des fins \u00e9ducatives.

"},{"location":"fr/paying-fees2z/#comment-structurer-un-ordre-limite","title":"Comment structurer un ordre limit\u00e9","text":"

Sur la base de l'exemple ci-dessus, nous allons maintenant placer un ordre limit\u00e9 5% au-dessus du prix cot\u00e9. 797.76 * 1.05 = 837.65

Dans cet exemple, nous supposons que le compte de d\u00e9p\u00f4t a 0 SOL.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Remarquez dans la commande ci-dessus --fund 1, cela finance explicitement 1 SOL dans le compte de d\u00e9p\u00f4t.

Si vous choisissez un nombre autre que 1, vous d\u00e9clencherez une erreur indiquant le montant incorrect :

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Il vous sera demand\u00e9 de confirmer la transaction :

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

sortie :

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Remarquez que lors d'un swap r\u00e9ussi, le Balance: a \u00e9t\u00e9 mis \u00e0 jour \u00e0 1 SOL.

Si un prix est hors de la plage sp\u00e9cifi\u00e9e, vous rencontrerez une erreur telle que :

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"fr/quick-connect/","title":"Connexion Rapide","text":"

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.

R\u00e9pondez \u00e0 quelques questions et nous g\u00e9n\u00e9rerons un guide de connexion personnalis\u00e9 avec les \u00e9tapes et commandes exactes pour votre configuration.

Guide Simplifi\u00e9

Cet assistant fournit des extraits cl\u00e9s de la documentation compl\u00e8te pour vous connecter aussi rapidement que possible. Pour des d\u00e9tails complets, consultez les guides Configuration et Tenant.

\u00c0 quel r\u00e9seau vous connectez-vous ? Mainnet-Beta R\u00e9seau de production pour les validateurs actifs et les op\u00e9rateurs RPC Testnet R\u00e9seau de test et de d\u00e9veloppement Quel syst\u00e8me d'exploitation votre serveur utilise-t-il ? Ubuntu / Debian Ubuntu 22.04+ ou Debian 11+ Rocky Linux / RHEL Rocky Linux ou RHEL 8+ Quel \u00e9cosyst\u00e8me ? Solana Validateurs et op\u00e9rateurs RPC sur Solana Shelby RPC et N\u0153uds de Stockage sur Shelby (Testnet uniquement) Nouveau Tenant Autres \u00e9cosyst\u00e8mes Quel outil de pare-feu utilisez-vous ? iptables R\u00e8gles iptables directes UFW Uncomplicated Firewall Quel type de n\u0153ud ex\u00e9cutez-vous ? Validateur Validateur Solana planifi\u00e9 par leader avec keypair d'identit\u00e9 Non-validateur (RPC) N\u0153ud RPC ou infrastructure MEV De quel mode de connexion avez-vous besoin ? Unicast (IBRL) Connexion point \u00e0 point standard Multicast Livraison de paquets un-vers-plusieurs (\u00e9diteur/abonn\u00e9) Les deux Tunnels unicast et multicast simultan\u00e9s Quel est votre r\u00f4le multicast ? \u00c9diteur Envoyer des donn\u00e9es \u00e0 un groupe multicast (p. ex., producteur de blocs) Abonn\u00e9 Recevoir des donn\u00e9es d'un groupe multicast"},{"location":"fr/setup/","title":"Configuration de DoubleZero","text":"

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.

Terminologie

Nouveau sur DoubleZero ? Consultez le Glossaire pour les d\u00e9finitions des termes comme doublezerod, IBRL, DZD et autres.

En vous connectant \u00e0 DoubleZero, vous acceptez les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/setup/#prerequis","title":"Pr\u00e9requis","text":"

Warning

Pour les validateurs : DoubleZero doit \u00eatre install\u00e9 directement sur l'h\u00f4te du validateur, pas dans un conteneur.

"},{"location":"fr/setup/#connexion-a-doublezero","title":"Connexion \u00e0 DoubleZero","text":"

Le Testnet DoubleZero et le Mainnet Beta DoubleZero sont des r\u00e9seaux physiquement distincts. Choisissez le r\u00e9seau appropri\u00e9 lors de l'installation.

En rejoignant DoubleZero, vous \u00e9tablissez une identit\u00e9 DoubleZero (une cl\u00e9 publique appel\u00e9e DoubleZero ID). Cette cl\u00e9 est l'un des moyens par lesquels DoubleZero identifie votre machine.

"},{"location":"fr/setup/#1-installer-le-paquet-doublezero","title":"1. Installer le paquet DoubleZero","text":"

Version Actuelle

Paquet Mainnet Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Suivez les instructions ci-dessous selon votre syst\u00e8me d'exploitation :

"},{"location":"fr/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

D\u00e9ploiement actuel recommand\u00e9 pour Mainnet Beta :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

D\u00e9ploiement actuel recommand\u00e9 pour Testnet :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"fr/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

D\u00e9ploiement actuel recommand\u00e9 pour Mainnet Beta :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

D\u00e9ploiement actuel recommand\u00e9 pour Testnet :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Utilisateurs existants uniquement : Passer du paquet Testnet \u00e0 Mainnet Beta, ou de Mainnet Beta \u00e0 Testnet

En installant depuis les d\u00e9p\u00f4ts de paquets ci-dessus, le Testnet DoubleZero ou le Mainnet Beta DoubleZero disposent chacun de leur propre d\u00e9p\u00f4t d\u00e9di\u00e9. Si vous devez changer de r\u00e9seau \u00e0 un moment donn\u00e9, vous devrez supprimer le d\u00e9p\u00f4t de paquets pr\u00e9c\u00e9demment install\u00e9 et mettre \u00e0 jour vers le d\u00e9p\u00f4t cible.

Cet exemple montre la migration de Testnet vers Mainnet Beta.

En suivant les m\u00eames \u00e9tapes mais en rempla\u00e7ant l'\u00e9tape 3 par la commande d'installation Testnet ci-dessus, il est possible de compl\u00e9ter la migration de Mainnet Beta vers Testnet.

  1. Trouver les anciens fichiers de d\u00e9p\u00f4t

    Premi\u00e8rement, identifiez les fichiers de configuration de d\u00e9p\u00f4t DoubleZero existants sur le syst\u00e8me :

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Supprimer les anciens fichiers de d\u00e9p\u00f4t

    Supprimez les anciens fichiers de d\u00e9p\u00f4t trouv\u00e9s \u00e0 l'\u00e9tape pr\u00e9c\u00e9dente. Par exemple :

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Installer depuis le nouveau d\u00e9p\u00f4t

    Ajoutez le nouveau d\u00e9p\u00f4t Mainnet Beta et installez le dernier paquet :

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<version_actuelle_recommand\u00e9e_ci-dessus>\n
"},{"location":"fr/setup/#verifier-letat-de-doublezerod","title":"V\u00e9rifier l'\u00e9tat de doublezerod","text":"

Apr\u00e8s l'installation du paquet, une nouvelle unit\u00e9 systemd sera install\u00e9e, activ\u00e9e et d\u00e9marr\u00e9e. Pour v\u00e9rifier l'\u00e9tat, ex\u00e9cutez la commande suivante :

sudo systemctl status doublezerod\n

"},{"location":"fr/setup/#configuration-du-pare-feu-pour-gre-et-bgp","title":"Configuration du Pare-feu pour GRE et BGP","text":"

DoubleZero utilise des tunnels GRE (protocole IP 47) et le routage BGP (tcp/179 pour les adresses link-local). Assurez-vous que votre pare-feu autorise ces protocoles :

Autoriser GRE et BGP avec iptables :

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

Ou autoriser GRE et BGP avec UFW :

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"fr/setup/#2-creer-une-nouvelle-identite-doublezero","title":"2. Cr\u00e9er une Nouvelle Identit\u00e9 DoubleZero","text":"

Utilisez la commande suivante pour cr\u00e9er une identit\u00e9 DoubleZero sur le serveur :

doublezero keygen\n

Info

Si vous avez un ID existant que vous souhaitez utiliser, vous pouvez suivre les \u00e9tapes optionnelles ci-dessous.

Cr\u00e9ez le r\u00e9pertoire de configuration de doublezerod

mkdir -p ~/.config/doublezero\n

Copiez ou liez le fichier id.json que vous souhaitez utiliser dans DoubleZero dans le r\u00e9pertoire de configuration doublezero.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"fr/setup/#3-obtenir-lidentite-doublezero-du-serveur","title":"3. Obtenir l'Identit\u00e9 DoubleZero du Serveur","text":"

Confirmez votre identit\u00e9 DoubleZero. Cette identit\u00e9 est utilis\u00e9e pour cr\u00e9er la connexion entre votre machine et DoubleZero.

doublezero address\n

Sortie :

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"fr/setup/#4-confirmer-que-doublezerod-a-detecte-les-dispositifs-dz","title":"4. Confirmer que doublezerod a D\u00e9tect\u00e9 les Dispositifs DZ","text":"

Avant de vous connecter, confirmez que doublezerod a d\u00e9tect\u00e9 et ping\u00e9 chaque commutateur DZ testnet disponible :

doublezero latency\n

Exemple de sortie :

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Si les dispositifs n'apparaissent pas dans la sortie, attendez 10 \u00e0 20 secondes et r\u00e9essayez.

"},{"location":"fr/setup/#5-se-deconnecter-de-doublezero","title":"5. Se D\u00e9connecter de DoubleZero","text":"

La section suivante configurera l'environnement DoubleZero. Pour garantir le succ\u00e8s, d\u00e9connectez la session actuelle. Cela \u00e9vite les probl\u00e8mes li\u00e9s \u00e0 plusieurs tunnels ouverts sur la machine.

Confirmez

doublezero status\n

Si le statut est up, ex\u00e9cutez :

doublezero disconnect\n
"},{"location":"fr/setup/#prochaine-etape-tenant","title":"Prochaine \u00c9tape : Tenant","text":"

La connexion \u00e0 DoubleZero varie selon le cas d'utilisation. Dans DoubleZero, les tenants sont des groupes avec des profils utilisateurs similaires. Par exemple : blockchain, couches de transfert de donn\u00e9es, etc.

"},{"location":"fr/setup/#selectionnez-le-tenant-et-continuez-ici","title":"S\u00e9lectionnez le Tenant et Continuez ici","text":""},{"location":"fr/setup/#optionnel-activer-les-metriques-prometheus","title":"Optionnel : Activer les M\u00e9triques Prometheus","text":"

Les op\u00e9rateurs familiers avec les m\u00e9triques Prometheus pourraient vouloir les activer pour la surveillance DoubleZero. Cela vous permettra d'obtenir des informations sur les performances du client DoubleZero, l'\u00e9tat de la connexion et la sant\u00e9 op\u00e9rationnelle.

"},{"location":"fr/setup/#metriques-disponibles","title":"M\u00e9triques Disponibles","text":"

DoubleZero expose plusieurs m\u00e9triques cl\u00e9s : - Informations de build : version, hash de commit, date de build - \u00c9tat de la session : si la session DoubleZero est active - M\u00e9triques de connexion : latence et informations de connexion - Donn\u00e9es de performance : d\u00e9bit et taux d'erreur

"},{"location":"fr/setup/#activation-des-metriques-prometheus","title":"Activation des M\u00e9triques Prometheus","text":"

Pour activer les m\u00e9triques Prometheus sur le client DoubleZero, suivez ces \u00e9tapes :

"},{"location":"fr/setup/#1-modifier-la-commande-de-demarrage-du-service-systemd-doublezerod","title":"1. Modifier la commande de d\u00e9marrage du service systemd doublezerod","text":"

Cr\u00e9ez ou modifiez la configuration de remplacement systemd :

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Remplacez par cette configuration :

Le flag -env doit pointer vers testnet ou mainnet-beta selon le r\u00e9seau depuis lequel vous souhaitez collecter des donn\u00e9es. Dans l'exemple de bloc, testnet est utilis\u00e9. Si n\u00e9cessaire, il peut \u00eatre chang\u00e9 en mainnet-beta.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"fr/setup/#2-recharger-et-redemarrer-le-service","title":"2. Recharger et red\u00e9marrer le service","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"fr/setup/#3-confirmer-que-les-metriques-sont-disponibles","title":"3. Confirmer que les m\u00e9triques sont disponibles","text":"

Confirmez que l'endpoint des m\u00e9triques r\u00e9pond :

curl -s localhost:2113/metrics | grep doublezero\n

Sortie attendue :

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"fr/setup/#resolution-des-problemes","title":"R\u00e9solution des Probl\u00e8mes","text":"

Si les m\u00e9triques ne s'affichent pas :

  1. V\u00e9rifiez l'\u00e9tat du service : sudo systemctl status doublezerod
  2. V\u00e9rifiez la configuration : sudo systemctl cat doublezerod
  3. V\u00e9rifiez les logs : sudo journalctl -u doublezerod -f
  4. Testez l'endpoint : curl -v localhost:2113/metrics
  5. V\u00e9rifiez le port : netstat -tlnp | grep 2113
"},{"location":"fr/setup/#configuration-du-serveur-prometheus","title":"Configuration du Serveur Prometheus","text":"

La configuration et la s\u00e9curit\u00e9 d\u00e9passent le cadre de ce document. Grafana est une excellente option pour la visualisation, et la documentation Grafana ici d\u00e9crit comment collecter les m\u00e9triques Prometheus.

"},{"location":"fr/setup/#tableau-de-bord-grafana-optionnel","title":"Tableau de Bord Grafana (Optionnel)","text":"

Pour la visualisation, vous pouvez cr\u00e9er un tableau de bord Grafana avec les m\u00e9triques DoubleZero. Les panneaux courants incluent : - \u00c9tat de la session dans le temps - Informations de build - Tendances de latence de connexion - Surveillance du taux d'erreur

"},{"location":"fr/tenant/","title":"Tenants","text":"

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.

Les tenants sur DoubleZero sont des groupes d'utilisateurs aux profils et aux exigences de connexion similaires, repr\u00e9sentant g\u00e9n\u00e9ralement diff\u00e9rents \u00e9cosyst\u00e8mes blockchain, couches de transfert de donn\u00e9es ou syst\u00e8mes distribu\u00e9s.

Examinez le tableau ci-dessous et choisissez le cas d'utilisation qui d\u00e9crit le mieux la fa\u00e7on dont vous envisagez d'interagir avec le r\u00e9seau DoubleZero.

Solana

Cas d'Utilisation Prochaine \u00c9tape Validateur Solana Mainnet, y compris les sauvegardes Connexion DoubleZero Mainnet-Beta Validateur Solana Testnet, y compris les sauvegardes Connexion DoubleZero Testnet Non-Validateurs - RPC, et autres. Connexion DoubleZero Mainnet-Beta et Testnet

Shelby

Cas d'Utilisation Prochaine \u00c9tape RPC Shelby Testnet et N\u0153uds de Stockage Connexion DoubleZero Testnet

Nouveau Tenant

Cas d'Utilisation Prochaine \u00c9tape Vous avez un nouveau protocole, une application ou un autre cas d'utilisation pour tirer parti de DoubleZero Ajouter un Nouveau Tenant"},{"location":"fr/troubleshooting/","title":"R\u00e9solution des Probl\u00e8mes","text":"

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.

Ce guide couvre une vari\u00e9t\u00e9 de probl\u00e8mes et est en cours d'\u00e9laboration. Si vous avez compl\u00e9t\u00e9 le guide, vous pouvez chercher une aide suppl\u00e9mentaire sur le discord DoubleZero Tech.

"},{"location":"fr/troubleshooting/#commandes-courantes-et-sorties","title":"Commandes Courantes et Sorties","text":"

Pour commencer, examinez la sortie des commandes suivantes et leur sortie attendue. Elles vous aideront \u00e0 r\u00e9soudre les probl\u00e8mes de mani\u00e8re plus d\u00e9taill\u00e9e. Si vous ouvrez un ticket, on pourrait vous demander leur sortie.

"},{"location":"fr/troubleshooting/#1-verifier-la-version","title":"1. V\u00e9rifier la Version","text":"

Commande :

doublezero --version

Exemple de sortie :

DoubleZero 0.6.3\n

"},{"location":"fr/troubleshooting/#2-verifier-ladresse-doublezero","title":"2. V\u00e9rifier l'Adresse DoubleZero","text":"

Commande :

doublezero address

Exemple de sortie :

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"fr/troubleshooting/#3-verifier-votre-pass-dacces","title":"3. V\u00e9rifier votre Pass d'Acc\u00e8s","text":"

Exemple de cl\u00e9 publique : MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 remplacez cela par votre cl\u00e9 publique lors de l'ex\u00e9cution de la commande.

Commande :

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Sortie : [notez que nous utilisons doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' pour afficher l'en-t\u00eate dans cette sortie]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"fr/troubleshooting/#4-verifier-les-credits-du-registre-doublezero","title":"4. V\u00e9rifier les Cr\u00e9dits du Registre DoubleZero","text":"

Commande :

doublezero balance

Exemple de sortie :

0.78 Credits\n

"},{"location":"fr/troubleshooting/#5-verifier-letat-de-la-connexion","title":"5. V\u00e9rifier l'\u00c9tat de la Connexion","text":"

Commande :

doublezero status

Exemple de sortie :

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"fr/troubleshooting/#6-verifier-la-latence","title":"6. V\u00e9rifier la Latence","text":"

Commande :

doublezero latency

Exemple de sortie :

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"fr/troubleshooting/#exemples-de-resolution-des-problemes","title":"Exemples de R\u00e9solution des Probl\u00e8mes","text":"

Maintenant que nous avons examin\u00e9 les sorties de base et ce qui est attendu dans un d\u00e9ploiement sain, nous pouvons examiner quelques exemples courants de r\u00e9solution de probl\u00e8mes.

"},{"location":"fr/troubleshooting/#probleme-erreur-lors-de-la-creation-dun-utilisateur","title":"Probl\u00e8me : \u274c Erreur lors de la cr\u00e9ation d'un utilisateur","text":"

Ce probl\u00e8me est g\u00e9n\u00e9ralement li\u00e9 \u00e0 une discordance entre la combinaison cl\u00e9 publique/IP attendue et la combinaison cl\u00e9 publique/IP avec laquelle l'utilisateur essaie d'acc\u00e9der \u00e0 DoubleZero.

Sympt\u00f4mes : - Lors de la connexion avec doublezero connect ibrl, l'utilisateur rencontre \u274c Error creating user

Solutions : 1. V\u00e9rifiez

`doublezero address`\n\nExemple de sortie :\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. V\u00e9rifiez que cette adresse est dans la liste autoris\u00e9e :

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Exemple de sortie :

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    La cl\u00e9 publique de doublezero address doit correspondre \u00e0 la cl\u00e9 publique user_payer et l'adresse IP depuis laquelle vous essayez de vous connecter doit correspondre \u00e0 l'IP dans le Pass d'Acc\u00e8s. doublezero address est sourc\u00e9 depuis le fichier id.json dans ~/.config/doublezero/ par d\u00e9faut. Voir l'\u00e9tape 6 ici

  2. Si ce qui pr\u00e9c\u00e8de semble correct et que vous obtenez une erreur lors de la connexion, ou si le mappage ci-dessus est incorrect, veuillez contacter le support sur DoubleZero Tech

"},{"location":"fr/troubleshooting/#probleme-erreur-de-provisionnement-du-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Probl\u00e8me : \u274c Erreur de provisionnement du service : malformed stuff: cannot provision multiple tunnels at the same time","text":"

Cette erreur indique qu'un dispositif est d\u00e9j\u00e0 connect\u00e9 \u00e0 DoubleZero.

Sympt\u00f4mes : - L'utilisateur essaie de se connecter \u00e0 DoubleZero - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time est rencontr\u00e9.

Solutions : 1. V\u00e9rifiez doublezero status

Sortie :\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. -up- indique une connexion saine.
  2. L'erreur appara\u00eet parce qu'un tunnel vers DoubleZero avec l'IP DoubleZero sp\u00e9cifique est d\u00e9j\u00e0 actif sur cette machine.

    Cette erreur est souvent rencontr\u00e9e apr\u00e8s une mise \u00e0 niveau du client DoubleZero. Les mises \u00e0 niveau DoubleZero red\u00e9marrent automatiquement le service doublezerod et vous reconnecteront si vous \u00e9tiez connect\u00e9 avant le red\u00e9marrage du service.

"},{"location":"fr/troubleshooting/#probleme-le-statut-doublezero-est-inconnu-ou-down","title":"Probl\u00e8me : Le statut DoubleZero est inconnu ou down","text":"

Ce probl\u00e8me est souvent li\u00e9 au tunnel GRE qui a \u00e9t\u00e9 activ\u00e9 avec succ\u00e8s entre le serveur et le DoubleZero Device, mais un pare-feu emp\u00eache l'\u00e9tablissement de la session BGP. \u00c0 cause de cela, vous ne recevez pas de routes depuis le r\u00e9seau ou n'envoyez pas de trafic via DoubleZero.

Sympt\u00f4mes : - doublezero connect ibrl a r\u00e9ussi. Cependant, doublezero status retourne down ou unknown

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

Solutions : 1. V\u00e9rifiez vos r\u00e8gles de pare-feu !

DoubleZero utilise l'espace d'adresses link-local : 169.254.0.0/16 pour les interfaces de tunnel GRE entre votre machine et le DoubleZero Device. 169.254.0.0/16 est typiquement un espace \u00ab non routable \u00bb et donc les bonnes pratiques de s\u00e9curit\u00e9 recommandent de bloquer les communications vers/depuis cet espace. Vous devrez autoriser une r\u00e8gle dans votre pare-feu qui permet \u00e0 src 169.254.0.0/16 de communiquer avec dst 169.254.0.0/16 sur le port tcp 179. Cette r\u00e8gle devra \u00eatre plac\u00e9e au-dessus de toutes les r\u00e8gles qui refusent le trafic vers 169.254.0.0/16.

Dans un pare-feu comme ufw, vous pouvez ex\u00e9cuter `sudo ufw status` pour afficher les r\u00e8gles du pare-feu et\n\nExemple de sortie qui pourrait \u00eatre similaire \u00e0 ce qu'un validateur Solana aurait.\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\nDans la sortie ci-dessus, vous voyez que tout le trafic vers 169.254.0.0/16, sauf pour les ports sp\u00e9cifi\u00e9s, est refus\u00e9.\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` pour ins\u00e9rer la r\u00e8gle \u00e0 la position <N>. c'est-\u00e0-dire que si N = 1, vous ins\u00e9rerez cette r\u00e8gle comme premi\u00e8re r\u00e8gle.\n`sudo ufw status numbered` vous montrera l'ordre num\u00e9rique des r\u00e8gles.\n
"},{"location":"fr/troubleshooting/#probleme-le-dispositif-doublezero-le-plus-proche-a-change","title":"Probl\u00e8me : Le dispositif DoubleZero le plus proche a chang\u00e9","text":"

Ce n'est pas une erreur, mais cela peut \u00eatre une optimisation. Voici une bonne pratique qui peut \u00eatre ex\u00e9cut\u00e9e de temps en temps ou automatis\u00e9e.

Solutions :

  1. V\u00e9rifiez la latence vers le dispositif le plus proche

    • ex\u00e9cutez doublezero latency

      sortie

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      notez ci-dessus que le dispositif le plus proche est dz-ny7-sw01

      Nous voulons nous connecter \u00e0 ce dispositif. :

  2. D\u00e9terminez si vous \u00eates d\u00e9j\u00e0 connect\u00e9 au dispositif cible

    • ex\u00e9cutez doublezero user list --env testnet | grep 111.11.11.11 remplacez 111.11.11.11 par l'adresse IPv4 publique de votre dispositif connect\u00e9 \u00e0 DoubleZero. Vous pouvez \u00e9galement utiliser votre ID de validateur ou l'ID doublezero.

      sortie

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      Dans cet exemple, nous sommes d\u00e9j\u00e0 connect\u00e9s au dispositif le plus proche. Plus d'\u00e9tapes ne sont n\u00e9cessaires, nous pouvons nous arr\u00eater ici.

      Consid\u00e9rons plut\u00f4t si la sortie \u00e9tait account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn Ce serait une connexion sous-optimale. Consid\u00e9rons si une reconnexion est n\u00e9cessaire.

      Avant la connexion, nous v\u00e9rifierons si le dispositif a des tunnels utilisateur disponibles.

  3. Optionnel : examiner le r\u00e9seau pour les dispositifs disponibles

    \u00c0 des fins \u00e9ducatives, nous allons d'abord : - ex\u00e9cuter doublezero device list pour une liste compl\u00e8te des dispositifs. Nous avons extrait 2 dispositifs comme exemple pour expliquer la sortie.

    sortie :\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n```\nNotez ci-dessus que `ams001-dz002` a 69 utilisateurs et 128 utilisateurs maximum. Ce dispositif peut accueillir 59 utilisateurs suppl\u00e9mentaires.\n\nCependant, `dz-fr5-sw01` a 0 utilisateurs et 0 utilisateurs maximum. Vous ne pourrez pas vous connecter \u00e0 ce dispositif. Avec un max_users de 0, le dispositif n'accepte aucune connexion.\n\nRevenons maintenant \u00e0 la connexion \u00e0 notre dispositif le plus proche.\n
  4. D\u00e9terminez si le dispositif cible a une connexion disponible

    • ex\u00e9cutez doublezero device list | grep dz-ny7-sw01 remplacez dz-ny7-sw01 par votre dispositif cible

      sortie

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      ici nous pouvons voir que dz-ny7-sw01 dispose d'espace disponible pour la connexion.

  5. Se connecter au dispositif DoubleZero le plus proche

    Nous allons nous d\u00e9connecter, puis nous reconnecter \u00e0 doublezero.

    Ex\u00e9cutez d'abord - doublezero disconnect

    sortie

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    maintenant nous v\u00e9rifions le statut pour confirmer notre d\u00e9connexion avec - doublezero status

    sortie

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type\ndisconnected  | no session data     |             |            |            |               |\n
    Enfin nous nous reconnecterons avec - doublezero connect ibrl

    sortie

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    notez dans la sortie ci-dessus que nous avons Connected to device: dz-ny7-sw01 c'est le r\u00e9sultat souhait\u00e9 de notre enqu\u00eate initiale \u00e0 l'\u00e9tape 1, o\u00f9 nous avons d\u00e9couvert que dz-ny7-sw01 \u00e9tait le dispositif avec la latence la plus faible.

"},{"location":"fr/troubleshooting/#probleme-doublezero-status-retourne-certains-champs-avec-na","title":"Probl\u00e8me : doublezero status retourne certains champs avec N/A","text":"

Ce probl\u00e8me est g\u00e9n\u00e9ralement li\u00e9 \u00e0 une discordance entre le daemon et le client actuels, par rapport au daemon et au client avec lesquels le tunnel DZ connect\u00e9 a \u00e9t\u00e9 \u00e9tabli.

Sympt\u00f4mes : - Lors de l'ex\u00e9cution de doublezero status, l'utilisateur rencontre N/A dans certains champs

Solutions : 1. Ex\u00e9cutez doublezero status

Exemple :\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\nNotez dans notre exemple de sortie ci-dessus que le `Tunnel status` est `up`. Notre `Network` est `mainnet-beta`. Cependant, `Current Device` et `Metro` sont `N/A`\n\nCela indique un tunnel ouvert sur votre machine qui n'est pas dans votre environnement actuel.\nDans ce cas, le statut `up`, sans `Current Device` trouv\u00e9 sur `mainnet-beta` nous r\u00e9v\u00e8le que notre tunnel est sur testnet !\n
  1. Changez votre environnement.

    Pour rectifier la discordance, vous changerez votre environnement vers l'oppos\u00e9 de l'environnement retournant N/A

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au mainnet-beta DoubleZero :

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. V\u00e9rifiez votre statut

    Apr\u00e8s avoir chang\u00e9 d'environnement, ex\u00e9cutez :

    doublezero status\n

    La sortie attendue devrait \u00eatre similaire \u00e0 :

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    Avec tous les champs remplis, vous \u00eates maintenant dans le bon environnement.

"},{"location":"it/","title":"Benvenuti in DoubleZero","text":"

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 \u00e8 un protocollo e una rete decentralizzati ad alte prestazioni, ottimizzati per i sistemi distribuiti, come le blockchain. Gli utenti di DoubleZero beneficiano di un servizio integrato per la trasmissione altamente ottimizzata e il pre-processing dei dati dei sistemi distribuiti.

"},{"location":"it/#a-chi-e-destinato-doublezero","title":"A chi \u00e8 destinato DoubleZero?","text":""},{"location":"it/#contributori","title":"Contributori","text":"

I contributori di DoubleZero dispongono di capacit\u00e0 di rete sotto forma di link in fibra privati sottoutilizzati e hardware (es. switch e dispositivi FPGA). La configurazione di queste risorse per estendere la rete DoubleZero crea un servizio informativo integrato. Utilizzando il protocollo DZ, i contributori di rete uniscono questa capacit\u00e0 in una rete mesh globale dinamica ed espansiva e ricevono incentivi in token per il loro contributo.

"},{"location":"it/#utenti","title":"Utenti","text":"

Gli utenti di DoubleZero partecipano a sistemi distribuiti, come le blockchain, che richiedono connettivit\u00e0 di rete ad alte prestazioni. Collegando un sistema blockchain a DoubleZero, gli utenti ottengono un insieme di funzionalit\u00e0 di ottimizzazione per accelerare gli I/O di rete.

Nella sua implementazione iniziale, la rete DoubleZero \u00e8 compatibile con i client validatori blockchain, nonch\u00e9 con i provider di infrastrutture RPC e MEV. Questi sistemi utente vengono sottoposti al controllo degli accessi verificando i loro indirizzi di chiave pubblica univoci sui rispettivi registri prima di consentire l'accesso alla rete. Man mano che la rete evolve per includere sistemi utente di altri ecosistemi, verranno aggiunte strategie di identificazione e autenticazione aggiuntive, personalizzate per ciascuna comunit\u00e0 di progetti utenti.

"},{"location":"it/#vantaggi","title":"Vantaggi","text":"

L'unica alternativa a DoubleZero \u00e8 l'internet pubblico. Rispetto all'internet pubblico, la rete DoubleZero offre due miglioramenti per le blockchain.

Primo, le transazioni in entrata possono essere filtrate al margine in modo non discrezionale a livello hardware del contributore di rete (cio\u00e8 rimozione di spam e duplicati) prima di essere inviate agli utenti (es. nodi blockchain) della rete DoubleZero. Ci\u00f2 consente alle blockchain di beneficiare di risorse di filtraggio condivise a livello di sistema, anzich\u00e9 richiedere a ogni singolo validatore di fornire risorse sufficienti. Di conseguenza, i validatori possono riallocare le proprie risorse verso attivit\u00e0 direttamente generatrici di ricavi. Questa funzionalit\u00e0 non \u00e8 ancora operativa.

Secondo, i messaggi in uscita vengono instradati in modo pi\u00f9 diretto e prioritizzati per migliorare l'efficienza. Ci\u00f2 \u00e8 possibile perch\u00e9 in DoubleZero la logica di instradamento del movimento dati globale \u00e8 ottimizzata per la velocit\u00e0, a differenza dell'internet pubblico. Pertanto, i validatori beneficiano di un jitter ridotto, definito come la quantit\u00e0 di variazione nella latenza tra due endpoint di cavo dati. In sostanza, i nodi blockchain possono inviare e ricevere blocchi pi\u00f9 velocemente.

Complessivamente, questi vantaggi della rete DoubleZero possono raggiungere livelli di prestazioni altrimenti irraggiungibili tramite l'internet pubblico.

Per ulteriori dettagli, consultare il whitepaper DoubleZero Protocol.

"},{"location":"it/#prossimi-passi","title":"Prossimi Passi","text":""},{"location":"it/DZ%20Mainnet-beta%20Connection/","title":"Connessione Validatore Mainnet-Beta in Modalit\u00e0 IBRL","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#connessione-a-mainnet-beta-in-modalita-ibrl","title":"Connessione a Mainnet-Beta in Modalit\u00e0 IBRL","text":"

Note

La modalit\u00e0 IBRL non richiede il riavvio dei client validatori, perch\u00e9 utilizza il tuo indirizzo IP pubblico esistente.

I validatori Solana Mainnet completeranno la connessione a DoubleZero Mainnet-beta, che \u00e8 dettagliata su questa pagina.

Ogni validatore Solana ha il proprio keypair di identit\u00e0; da questo, estrai la chiave pubblica nota come node ID. Questa \u00e8 l'impronta digitale univoca del validatore sulla rete Solana.

Con il DoubleZeroID e il node ID identificati, dimostrerai la propriet\u00e0 della tua macchina. Questo viene fatto creando un messaggio che include il DoubleZeroID firmato con la chiave di identit\u00e0 del validatore. La firma crittografica risultante serve come prova verificabile che controlli il validatore.

Infine, invierai una richiesta di connessione a DoubleZero. Questa richiesta comunica: \"Ecco la mia identit\u00e0, ecco la prova di propriet\u00e0, ed ecco come intendo connettermi.\" DoubleZero valida queste informazioni, accetta la prova e fornisce l'accesso alla rete per il validatore su DoubleZero.

Questa guida consente a 1 Validatore Primario di registrarsi, e fino a 3 macchine di backup/failover contemporaneamente.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#prerequisiti","title":"Prerequisiti","text":"

Info

L'ID Validatore verr\u00e0 verificato con Solana gossip per determinare l'IP target. L'IP target e il DoubleZero ID verranno poi utilizzati per aprire un tunnel GRE tra la tua macchina e il DoubleZero Device target.

Considera: Nel caso in cui tu abbia un ID junk e un ID Primario allo stesso IP, solo l'ID Primario verr\u00e0 usato nella registrazione della macchina. Questo perch\u00e9 l'ID junk non apparir\u00e0 nel gossip, e quindi non pu\u00f2 essere usato per verificare l'IP della macchina target.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

L'ultimo passo del setup era disconnettersi dalla rete. Questo serve a garantire che sia aperto solo un tunnel sulla tua macchina verso DoubleZero, e che quel tunnel sia sulla rete corretta.

Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al mainnet-beta DoubleZero:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Dovresti vedere il seguente output: \u2705 doublezerod configured for environment mainnet-beta

Dopo circa 30 secondi vedrai i dispositivi DoubleZero disponibili:

doublezero latency\n
Esempio di output (Mainnet-Beta)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
L'output del Testnet sar\u00e0 identico nella struttura, ma con meno dispositivi.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#2-apri-la-porta-44880","title":"2. Apri la porta 44880","text":"

Gli utenti devono aprire la porta 44880 per utilizzare alcune funzionalit\u00e0 di routing.

Per aprire la porta 44880 puoi aggiornare le IP tables come:

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

nota i flag -i doublezero0, -o doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

O UFW come:

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

nota i flag in on doublezero0, out on doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#3-attesta-la-proprieta-del-validatore","title":"3. Attesta la Propriet\u00e0 del Validatore","text":"

Con il tuo ambiente DoubleZero impostato, \u00e8 ora il momento di attestare la propriet\u00e0 del tuo Validatore.

Il DoubleZero ID creato nel setup del tuo validatore primario deve essere utilizzato su tutte le macchine di backup.

L'ID sulla tua macchina primaria pu\u00f2 essere trovato con doublezero address. Lo stesso ID deve essere in ~/.config/doublezero/id.json su tutte le macchine del cluster.

Per fare questo verificherai prima che la macchina da cui stai eseguendo i comandi sia il tuo Validatore Primario con:

doublezero-solana passport find-validator -u mainnet-beta\n

Questo verifica che il validatore sia registrato nel gossip e appaia nel programma leader.

Output atteso:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

Lo stesso flusso di lavoro viene utilizzato per una o pi\u00f9 macchine. Per registrare una macchina, escludi gli argomenti \"--backup-validator-ids\" o \"backup_ids=\" da qualsiasi comando in questa pagina.

Ora, su tutte le macchine di backup su cui intendi eseguire il tuo Validatore Primario, esegui il seguente comando:

doublezero-solana passport find-validator -u mainnet-beta\n

Output atteso:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Questo output \u00e8 atteso. Il nodo di backup non pu\u00f2 essere nel programma leader al momento della creazione del pass.

Eseguirai ora questo comando su tutte le macchine di backup su cui intendi utilizzare l'account di voto e l'identit\u00e0 del tuo Validatore Primario.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#prepara-la-connessione","title":"Prepara la Connessione","text":"

Esegui il seguente comando sulla macchina del Validatore Primario. Questa \u00e8 la macchina su cui hai stake attivo, che \u00e8 nel programma leader con il tuo ID validatore primario nel gossip Solana sulla macchina da cui stai eseguendo il comando:

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

Esempio di output:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Nota l'output alla fine di questo comando. \u00c8 la struttura per il passo successivo.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#4-genera-la-firma","title":"4. Genera la Firma","text":"

Alla fine dell'ultimo passo, abbiamo ricevuto un output pre-formattato per solana sign-offchain-message

Dall'output sopra eseguiremo questo comando sulla macchina del Validatore Primario.

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

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"it/DZ%20Mainnet-beta%20Connection/#5-avvia-una-richiesta-di-connessione-in-doublezero","title":"5. Avvia una Richiesta di Connessione in DoubleZero","text":"

Usa il comando request-validator-access per creare un account su Solana per la richiesta di connessione. L'agente DoubleZero Sentinel rileva il nuovo account, valida la sua identit\u00e0 e firma, e crea il pass di accesso in DoubleZero in modo che il server possa stabilire una connessione.

Usa il node ID, il DoubleZeroID e la firma.

Note

In questo esempio usiamo -k /home/user/.config/solana/id.json per trovare l'Identit\u00e0 del validatore. Usa la posizione appropriata per il tuo deployment locale.

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

Output:

Questo output pu\u00f2 essere usato per vedere la transazione su un explorer Solana. Assicurati di cambiare l'explorer su mainnet. Questa verifica \u00e8 facoltativa.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Se ha successo, DoubleZero registrer\u00e0 il primario con i suoi backup. Ora puoi fare failover tra gli IP registrati nel pass di accesso. DoubleZero manterr\u00e0 automaticamente la connettivit\u00e0 quando passi ai nodi di backup registrati in questo modo.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#6-connettiti-in-modalita-ibrl","title":"6. Connettiti in Modalit\u00e0 IBRL","text":"

Sul server, con l'utente che si connetter\u00e0 a DoubleZero, esegui il comando connect per stabilire la connessione a DoubleZero.

doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendi un minuto per il completamento del tunnel GRE. Finch\u00e9 il tunnel GRE non \u00e8 completato, l'output dello stato potrebbe restituire \"down\" o \"Unknown\"

Verifica la tua connessione:

doublezero status\n

Output:

Note

Esamina questo output. Nota che il Tunnel src e il DoubleZero IP corrispondono all'indirizzo IPv4 pubblico sulla tua macchina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Uno stato up significa che sei connesso con successo.

Potrai visualizzare le route propagate da altri utenti su DoubleZero eseguendo:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"it/DZ%20Mainnet-beta%20Connection/#passo-successivo-pubblicazione-degli-shred-via-multicast","title":"Passo Successivo: Pubblicazione degli Shred via Multicast","text":"

Se hai completato questa configurazione e prevedi di pubblicare shred via multicast, procedi alla pagina successiva.

"},{"location":"it/DZ%20Testnet%20Connection/","title":"Connessione Validatore Testnet in Modalit\u00e0 IBRL","text":"

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.

Connettendomi al testnet DoubleZero accetto i termini del Contratto di Valutazione indicati qui (clicca per espandere)

DoubleZero Testnet Contratto di Valutazione

Accedendo o utilizzando la Soluzione (definita di seguito), accetti a partire dalla prima data di tale accesso (la \"Data di Efficacia\") che il presente Contratto di Valutazione (il \"Contratto\") stabilisce i termini e le condizioni in base ai quali DoubleZero Foundation (\"DZF\") ti fornir\u00e0 (\"Utente\" o \"tu\") l'accesso alla Soluzione su base di valutazione. In considerazione delle reciproche promesse contenute nel presente, accetti quanto segue:

1. DEFINIZIONI.

1.1 \"Informazioni Riservate\" indica qualsiasi informazione divulgata da una parte all'altra che sia designata come riservata, o che dovrebbe altrimenti essere intesa come riservata, incluse, ma non limitate a, la Soluzione, piani di prodotto, piani aziendali, segreti commerciali, tecnologia o qualsiasi altra informazione proprietaria.

1.2 \"Soluzione\" indica la versione testnet dell'infrastruttura di rete ad alte prestazioni DoubleZero per progetti web3 (\"Testnet\") e il relativo servizio di filtraggio al margine con larghezza di banda integrata (\"Servizio Informativo\"), il Software DZ (definito di seguito), tutti i materiali forniti da DZF relativi al Software DZ (\"Documentazione\") e altri materiali che DZF fornisce all'Utente ai sensi del presente.

2. ACCESSO.

2.1 Accesso alla Soluzione. Subordinatamente ai termini e alle condizioni del presente Contratto, DZF fornir\u00e0 all'Utente l'accesso alla Soluzione tramite Internet. L'accesso dell'Utente \u00e8 un uso limitato, non esclusivo e non trasferibile della Soluzione per consentire all'Utente di valutare il Servizio Informativo. Con riferimento a qualsiasi software che comprende la Soluzione (\"Software DZ\"), DZF concede all'Utente una licenza limitata, revocabile, durante il Periodo di Valutazione, per copiare, scaricare, fare un numero ragionevole di copie, eseguire e distribuire (ove applicabile) tale Software DZ esclusivamente come previsto dalla Documentazione.

2.2 Restrizioni. L'Utente pu\u00f2 utilizzare la Soluzione in conformit\u00e0 al presente Contratto dalla Data di Efficacia fino alla risoluzione da parte di DZF (il \"Periodo di Valutazione\"). L'Utente comprende che qualsiasi diritto di utilizzare la Soluzione oltre il Periodo di Valutazione sar\u00e0 soggetto a un accordo commerciale separato tra le parti al riguardo, incluso il pagamento di commissioni. L'Utente non dovr\u00e0, e non dovr\u00e0 consentire a terzi di: (i) modificare o creare opere derivate basate sulla Soluzione o su qualsiasi sua parte; (ii) riprodurre la Soluzione salvo quanto espressamente consentito dal presente Contratto; (iii) sublicenziare, distribuire, vendere, prestare, affittare, trasferire o concedere diritti sulla Soluzione o fornire accesso alla Soluzione a terzi, su base di service bureau o altrimenti; o (iv) utilizzare la Soluzione diversamente da quanto previsto nel presente.

2.3 Propriet\u00e0. DZF conserva tutti i diritti, titoli e interessi, inclusi i diritti di propriet\u00e0 intellettuale, nella e sulla Soluzione.

3. FEEDBACK. DZF pu\u00f2 periodicamente richiedere che l'Utente fornisca, e l'Utente accetta di fornire a DZF, feedback sull'uso, il funzionamento e la funzionalit\u00e0 della Soluzione (\"Feedback\"). L'Utente concede a DZF un diritto e una licenza non esclusivi, mondiali, perpetui, irrevocabili, esenti da royalty, completamente pagati, completamente sublicenziabili e trasferibili per utilizzare e incorporare il Feedback in qualsiasi prodotto e servizio, per produrre, usare, vendere, offrire in vendita, importare e altrimenti sfruttare tali prodotti e servizi, e per altrimenti usare, copiare, distribuire e sfruttare il Feedback senza restrizioni.

4. DURATA E RISOLUZIONE.

4.1 Durata. Il presente Contratto avr\u00e0 inizio alla Data di Efficacia e rimarr\u00e0 in piena vigenza ed efficacia per il Periodo di Valutazione. Entrambe le parti possono risolvere il presente Contratto immediatamente per convenienza, per qualsiasi motivo o senza motivo, mediante notifica scritta all'altra parte (l'e-mail \u00e8 sufficiente).

4.1 Effetti della Risoluzione. Alla risoluzione del presente Contratto per qualsiasi motivo: (i) i diritti concessi all'Utente ai sensi del presente cesseranno immediatamente; (ii) l'Utente dovr\u00e0 immediatamente interrompere qualsiasi uso della Soluzione e restituire o distruggere tutta la Documentazione e qualsiasi Software DZ sotto il suo controllo; (iii) ciascuna parte dovr\u00e0 prontamente restituire o distruggere tutte le Informazioni Riservate e la propriet\u00e0 dell'altra parte; e (iv) le Sezioni 2.2, 2.3, 3, 4.2 e da 5 a 8 sopravvivranno.

5. RISERVATEZZA. Ciascuna parte accetta di utilizzare le Informazioni Riservate dell'altra parte esclusivamente per adempiere ai propri obblighi ed esercitare i propri diritti ai sensi del presente Contratto e non divulgher\u00e0, n\u00e9 permetter\u00e0 la divulgazione, delle stesse, salvo quanto altrimenti consentito nel presente. Tuttavia, ciascuna parte pu\u00f2 divulgare le Informazioni Riservate al proprio personale, avvocati e altri rappresentanti che abbiano necessit\u00e0 di conoscerle e siano vincolati da obblighi di riservatezza non meno protettivi di quelli stabiliti nel presente Contratto; e come richiesto dalla legge.

6. ESCLUSIONE DI GARANZIE; LIMITAZIONE DI RESPONSABILIT\u00c0.

6.1 ESCLUSIONE DI GARANZIE. LA SOLUZIONE VIENE FORNITA \"COS\u00cc COM'\u00c8\" SENZA GARANZIE DI ALCUN TIPO. DZF NON FORNISCE GARANZIE, ESPRESSE, IMPLICITE, LEGALI O DI ALTRO TIPO CON RIFERIMENTO ALLA SOLUZIONE E ALLA DOCUMENTAZIONE.

6.2 LIMITAZIONE DI RESPONSABILIT\u00c0. SALVO PER UNA VIOLAZIONE DELLE SEZIONI 2.1, 2.2 E 5, IN NESSUN CASO ALCUNA PARTE SAR\u00c0 RESPONSABILE NEI CONFRONTI DELL'ALTRA PER DANNI INDIRETTI, INCIDENTALI, SPECIALI O ALTRI DANNI CONSEQUENZIALI. IN NESSUN CASO LA RESPONSABILIT\u00c0 AGGREGATA DI DZF SUPERER\u00c0 CENTO DOLLARI ($100).

7. LEGGE APPLICABILE. Il presente Contratto e tutte le questioni derivanti da o relative al presente Contratto saranno regolati, interpretati e costruiti in conformit\u00e0 alle leggi delle Isole Cayman. Le eventuali controversie saranno risolte tramite arbitrato amministrato dal Cayman International Mediation & Arbitration Centre (CI-MAC).

8. DISPOSIZIONI GENERALI. Il presente Contratto non pu\u00f2 essere trasferito o ceduto dall'Utente senza il previo consenso scritto di DZF. DZF pu\u00f2 liberamente cedere il presente Contratto. Il presente Contratto, insieme a eventuali allegati, costituisce l'accordo completo tra le parti.

"},{"location":"it/DZ%20Testnet%20Connection/#connessione-al-testnet-in-modalita-ibrl","title":"Connessione al Testnet in Modalit\u00e0 IBRL","text":"

Note

La modalit\u00e0 IBRL non richiede il riavvio dei client validatori, perch\u00e9 utilizza il tuo indirizzo IP pubblico esistente.

I validatori Solana Testnet completeranno la connessione al Testnet DoubleZero, che \u00e8 dettagliata su questa pagina.

Ogni validatore Solana ha il proprio keypair di identit\u00e0; da questo, estrai la chiave pubblica nota come node ID. Questa \u00e8 l'impronta digitale univoca del validatore sulla rete Solana.

Con il DoubleZeroID e il node ID identificati, dimostrerai la propriet\u00e0 della tua macchina. Questo viene fatto creando un messaggio che include il DoubleZeroID firmato con la chiave di identit\u00e0 del validatore. La firma crittografica risultante serve come prova verificabile che controlli il validatore.

Infine, invierai una richiesta di connessione a DoubleZero. Questa richiesta comunica: \"Ecco la mia identit\u00e0, ecco la prova di propriet\u00e0, ed ecco come intendo connettermi.\" DoubleZero valida queste informazioni, accetta la prova e fornisce l'accesso alla rete per il validatore su DoubleZero.

Questa guida consente a 1 Validatore Primario di registrarsi, e fino a 3 macchine di backup/failover contemporaneamente.

"},{"location":"it/DZ%20Testnet%20Connection/#prerequisiti","title":"Prerequisiti","text":"

Info

L'ID Validatore verr\u00e0 verificato con Solana gossip per determinare l'IP target. L'IP target e il DoubleZero ID verranno poi utilizzati per aprire un tunnel GRE tra la tua macchina e il DoubleZero Device target.

"},{"location":"it/DZ%20Testnet%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al testnet DoubleZero:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Dovresti vedere il seguente output:
\u2705 doublezerod configured for environment testnet\n

Dopo circa 30 secondi vedrai i dispositivi DoubleZero disponibili:

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

L'output del Mainnet sar\u00e0 identico nella struttura, ma con molti pi\u00f9 dispositivi disponibili.

"},{"location":"it/DZ%20Testnet%20Connection/#2-apri-la-porta-44880","title":"2. Apri la porta 44880","text":"

Gli utenti devono aprire la porta 44880 per utilizzare alcune funzionalit\u00e0 di routing.

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

nota i flag -i doublezero0, -o doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

O UFW:

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

nota i flag in on doublezero0, out on doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

"},{"location":"it/DZ%20Testnet%20Connection/#3-attesta-la-proprieta-del-validatore","title":"3. Attesta la Propriet\u00e0 del Validatore","text":"

In ordine per fare questo verificherai prima che la macchina da cui stai eseguendo i comandi sia il tuo Validatore Primario con:

doublezero-solana passport find-validator -ut\n

Output atteso:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Ora, su tutte le macchine di backup:

doublezero-solana passport find-validator -ut\n

Output atteso:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
"},{"location":"it/DZ%20Testnet%20Connection/#prepara-la-connessione","title":"Prepara la Connessione","text":"
doublezero-solana passport prepare-validator-access -ut \\\n  --doublezero-address YourDoubleZeroAddress11111111111111111111111111111 \\\n  --primary-validator-id ValidatorIdentity111111111111111111111111111 \\\n  --backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444>\n
"},{"location":"it/DZ%20Testnet%20Connection/#4-genera-la-firma","title":"4. Genera la Firma","text":"
  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"it/DZ%20Testnet%20Connection/#5-avvia-una-richiesta-di-connessione-in-doublezero","title":"5. Avvia una Richiesta di Connessione in DoubleZero","text":"
doublezero-solana passport request-validator-access -k <path to keypair> -ut \\\n--primary-validator-id ValidatorIdentity111111111111111111111111111 \\\n--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n--signature Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7 --doublezero-address YourDoubleZeroAddress11111111111111111111111111111\n

Output:

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n
"},{"location":"it/DZ%20Testnet%20Connection/#6-connettiti-in-modalita-ibrl","title":"6. Connettiti in Modalit\u00e0 IBRL","text":"
doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

Verifica la tua connessione:

doublezero status\n
 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"it/DZ%20Testnet%20Connection/#passo-successivo-pubblicazione-degli-shred-via-multicast","title":"Passo Successivo: Pubblicazione degli Shred via Multicast","text":"

Se hai completato questa configurazione e prevedi di pubblicare shred via multicast, procedi alla pagina successiva.

"},{"location":"it/New%20Tenant/","title":"Nuovo Tenant","text":"

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.

Se desideri che il tuo sistema distribuito sfrutti la rete DoubleZero, siamo lieti di assisterti con qualsiasi domanda tecnica tu possa avere.

Modulo di Contatto

"},{"location":"it/Other%20Multicast%20Connection/","title":"Altra Connessione Multicast","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

Caso d'Uso Primo Passo Quando approvato, connettiti tramite: Iscriversi a Jito Shredstream Contatta Jito per l'approvazione. doublezero connect multicast --subscribe jito-shredstream

Informazioni dettagliate sulla connessione:

"},{"location":"it/Other%20Multicast%20Connection/#1-installazione-client-doublezero","title":"1. Installazione Client DoubleZero","text":"

Segui le istruzioni di setup per installare e configurare il client DoubleZero.

"},{"location":"it/Other%20Multicast%20Connection/#2-istruzioni-di-connessione","title":"2. Istruzioni di Connessione","text":"

Connettiti a DoubleZero in Modalit\u00e0 Multicast Come publisher:

doublezero connect multicast --publish <nome feed>

o come subscriber:

doublezero connect multicast --subscribe <nome feed>

o per pubblicare e sottoscrivere:

doublezero connect multicast --publish <nome feed> --subscribe <nome feed>

Per pubblicare o sottoscrivere a pi\u00f9 feed puoi includere pi\u00f9 nomi di feed separati da spazi. Questo pu\u00f2 essere usato anche per pubblicare e sottoscrivere feed di pubblicazione. Ad esempio doublezero connect multicast --subscribe feed1 feed2 feed3

Dovresti vedere un output simile al seguente:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"it/Other%20Multicast%20Connection/#3-verifica-la-tua-connessione-multicast-attiva","title":"3. Verifica la tua connessione multicast attiva.","text":"

Attendi 60 secondi e poi esegui

doublezero status\n
Risultato atteso: - Sessione BGP attiva sulla rete DoubleZero corretta - Se sei un publisher, il tuo IP DoubleZero sar\u00e0 diverso dall'IP Tunnel Src. \u00c8 previsto. - Se sei solo un subscriber, il tuo IP DoubleZero sar\u00e0 uguale all'IP Tunnel Src.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verifica i gruppi a cui sei connesso:

doublezero user list --client-ip <il tuo ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"it/Permissioned%20Connection/","title":"Connessione con Permesso Non-Validatore a DoubleZero in Modalit\u00e0 IBRL","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

"},{"location":"it/Permissioned%20Connection/#panoramica-dellonboarding-degli-utenti-con-permesso","title":"Panoramica dell'Onboarding degli Utenti con Permesso","text":"

L'onboarding degli utenti \u00e8 attualmente con permesso per i non-validatori e gli RPC. Per iniziare il flusso con permesso, compila questo modulo. Ecco cosa aspettarsi durante questo processo:

"},{"location":"it/Permissioned%20Connection/#connessione-a-mainnet-beta-e-testnet-in-modalita-ibrl","title":"Connessione a Mainnet-Beta e Testnet in Modalit\u00e0 IBRL","text":"

Note

La modalit\u00e0 IBRL non richiede il riavvio dei client validatori, perch\u00e9 utilizza il tuo indirizzo IP pubblico esistente.

Gli Utenti con Permesso completeranno la connessione a DoubleZero Mainnet-beta, che \u00e8 dettagliata su questa pagina.

"},{"location":"it/Permissioned%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

L'ultimo passo del setup era disconnettersi dalla rete. Questo serve a garantire che sia aperto solo un tunnel sulla tua macchina verso DoubleZero, e che quel tunnel sia sulla rete corretta.

Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al testnet DoubleZero:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al mainnet-beta DoubleZero:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Dovresti vedere il seguente output:

\u2705 doublezerod configured for environment mainnet-beta\n
Dovresti vedere il seguente output: \u2705 doublezerod configured for environment testnet

Dopo circa 30 secondi vedrai i dispositivi DoubleZero disponibili:

doublezero latency\n
Esempio di output (Testnet)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
L'output del Testnet sar\u00e0 identico nella struttura, ma con molti pi\u00f9 dispositivi disponibili.

"},{"location":"it/Permissioned%20Connection/#2-contatta-la-doublezero-foundation","title":"2. Contatta la DoubleZero Foundation","text":"

La DoubleZero Foundation. Dovrai fornire il tuo DoubleZeroID, il tuo ID Validatore (node ID) e il indirizzo IPv4 pubblico da cui ti connetterai.

"},{"location":"it/Permissioned%20Connection/#3-connettiti-in-modalita-ibrl","title":"3. Connettiti in Modalit\u00e0 IBRL","text":"

Sul server, con l'utente che si connetter\u00e0 a DoubleZero, esegui il comando connect per stabilire la connessione a DoubleZero.

doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendi un minuto per il completamento del tunnel. Finch\u00e9 il tunnel non \u00e8 completato, l'output dello stato potrebbe restituire \"down\" o \"Unknown\"

Verifica la tua connessione:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Uno stato up significa che sei connesso con successo.

Potrai visualizzare le route propagate da altri utenti su DoubleZero eseguendo:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"it/Permissioned%20Connection/#passo-successivo-multicast","title":"Passo Successivo: Multicast","text":"

Se hai completato questa configurazione e prevedi di usare il Multicast, procedi alla pagina successiva.

"},{"location":"it/Shelby%20Permissioned%20Connection/","title":"Connessione a DoubleZero in Modalit\u00e0 IBRL per Utenti Shelby Testnet","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

"},{"location":"it/Shelby%20Permissioned%20Connection/#ottieni-il-tuo-doublezeroid","title":"Ottieni il tuo DoubleZeroID","text":"

Dovrai fornire il tuo DoubleZeroID e il indirizzo IPv4 pubblico in questo modulo

"},{"location":"it/Shelby%20Permissioned%20Connection/#connessione-al-testnet-in-modalita-ibrl","title":"Connessione al Testnet in Modalit\u00e0 IBRL","text":"

Gli utenti con permesso Shelby completeranno la connessione al Testnet DoubleZero, che \u00e8 dettagliata su questa pagina.

"},{"location":"it/Shelby%20Permissioned%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

L'ultimo passo del setup era disconnettersi dalla rete. Questo serve a garantire che sia aperto solo un tunnel sulla tua macchina verso DoubleZero, e che quel tunnel sia sulla rete corretta.

Per configurare la CLI DoubleZero Client (doublezero) per connettersi al tenant Shelby su DoubleZero:

doublezero config set --tenant shelby\n

Applica regole firewall aggiuntive specifiche per Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"it/Shelby%20Permissioned%20Connection/#2-contatta-la-doublezero-foundation","title":"2. Contatta la DoubleZero Foundation","text":"

La DoubleZero Foundation. Dovrai fornire il tuo DoubleZeroID e il indirizzo IPv4 pubblico da cui ti connetterai.

"},{"location":"it/Shelby%20Permissioned%20Connection/#3-connettiti-in-modalita-ibrl","title":"3. Connettiti in Modalit\u00e0 IBRL","text":"

Sul server, con l'utente che si connetter\u00e0 a DoubleZero, esegui il comando connect per stabilire la connessione a DoubleZero.

doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendi un minuto per il completamento del tunnel. Finch\u00e9 il tunnel non \u00e8 completato, l'output dello stato potrebbe restituire \"down\" o \"Unknown\"

Verifica la tua connessione:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Uno stato up significa che sei connesso con successo.

Potrai visualizzare le route propagate da altri utenti su DoubleZero eseguendo:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"it/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Prima di accedere o utilizzare il codice o i materiali correlati, si prega di leggere il disclaimer.

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.

Disclaimer

Il presente documento e il codice correlato vengono forniti esclusivamente a scopo informativo e tecnico. La funzionalit\u00e0 di conversione token descritta in questo documento \u00e8 di tipo non-custodial. Gli utenti interagiscono direttamente con gli smart contract sottostanti, mantenendo sempre il controllo completo dei propri asset.

Il sistema pu\u00f2 dipendere da o interagire con codice di terze parti, fonti di dati o meccanismi di prezzo e commissioni (ad esempio smart contract, API o exchange decentralizzati) non sviluppati, gestiti o revisionati dagli sviluppatori e dagli emittenti. Non vengono fornite dichiarazioni o garanzie sull'accuratezza, la funzionalit\u00e0 o la sicurezza dei componenti di terze parti. Gli sviluppatori e gli emittenti di questo codice non garantiscono la sua accuratezza, completezza o disponibilit\u00e0 continua. Il codice e i materiali correlati vengono forniti \"COS\u00cc COME SONO\" e possono contenere errori, difetti o vulnerabilit\u00e0. L'utilizzo \u00e8 a proprio rischio. Gli sviluppatori e gli emittenti non riceveranno alcuna commissione per l'utilizzo di questi contratti. Non vi \u00e8 alcun obbligo di mantenimento, aggiornamento o supporto del codice o della documentazione correlata.

Il presente documento non costituisce un'offerta, una sollecitazione o una raccomandazione a partecipare alla conversione di token, allo scambio o ad altre transazioni. Non vengono forniti consulenze legali, finanziarie o di investimento. Gli utenti sono i soli responsabili della determinazione della legalit\u00e0 delle proprie attivit\u00e0. Prima di utilizzare il codice o partecipare alle conversioni, \u00e8 necessario consultare le leggi e i regolamenti applicabili nella propria giurisdizione e consultare consulenti indipendenti. L'uso \u00e8 vietato dove illegale, incluso da parte di persone o organizzazioni sanzionate o da regioni soggette a restrizioni.

Nella misura massima consentita dalla legge, gli sviluppatori e gli emittenti declinano qualsiasi responsabilit\u00e0 per perdite, danni o reclami derivanti da o correlati all'uso del codice o alla partecipazione alle conversioni.

La revisione e l'utilizzo del presente documento e del codice correlato sono soggetti ai Termini di Utilizzo del Sito Web e ai Termini di Utilizzo del Protocollo.

Il protocollo DoubleZero raccoglie le entrate dagli utenti validatori denominate in SOL, ma distribuisce le ricompense ai contributori denominate in 2Z. Pertanto, \u00e8 necessario convertire SOL in 2Z.

A tal fine, i partecipanti idonei possono negoziare con il contratto di conversione DoubleZero, acquistando SOL dal contratto e vendendo 2Z. Il pricing si basa sui feed di prezzo Pyth e su un meccanismo di sconto programmato.

Questa guida descrive come utilizzare il programma.

Prima di accedere o utilizzare questo documento e il codice correlato, si prega di leggere il disclaimer in fondo al documento.

"},{"location":"it/Swapping-sol-to-2z/#design-del-programma","title":"Design del Programma","text":"

Il programma di conversione \u00e8 essenzialmente un pool di liquidit\u00e0 unilaterale, con una dimensione batch fissa di 1 SOL per ogni transazione. I partecipanti idonei possono depositare 2Z e prelevare SOL dal programma, con il prezzo determinato dal prezzo oracolo Pyth e da uno sconto dinamico. Nel tempo, questo realizza l'obiettivo di convertire il token nativo del programma in 2Z.

Per utilizzare il programma, i trader devono fornire due prezzi Pyth recenti (SOL/USD e 2Z/USD) e la quantit\u00e0 di 2Z. Il programma calcola quindi la quantit\u00e0 di 2Z necessaria per acquistare 1 SOL basandosi sul prezzo SOL/2Z implicito. Vengono poi eseguiti alcuni passaggi aggiuntivi:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

A questo punto, se il trader fornisce abbastanza 2Z per eseguire la transazione al prezzo calcolato (incluso lo sconto), la transazione verr\u00e0 eseguita a quel prezzo. Il trader ricever\u00e0 il SOL acquistato e il 2Z in eccesso.

Il contratto non consente quindi ulteriori transazioni nello stesso slot. Questo per evitare che il contratto paghi uno slippage eccessivo nel caso in cui il prezzo Pyth si discosti troppo dal prezzo reale in qualsiasi momento (al di l\u00e0 di quanto possono catturare i filtri esistenti).

"},{"location":"it/Swapping-sol-to-2z/#esecuzione-atomica-senza-gas","title":"Esecuzione Atomica Senza Gas","text":"

Questa sezione descrive l'utilizzo del comando harvest-dz. Questo comando esegue atomicamente due operazioni: 1. Il comando richiede a Jupiter una quotazione contro il programma di conversione SOL nativo <> 2Z. 2. Se il routing Jupiter produce pi\u00f9 2Z/SOL rispetto a quanto richiesto dal programma di conversione SOL nativo, harvest-2z eseguir\u00e0 la conversione e restituir\u00e0 al portafoglio 1 SOL e la differenza in 2Z.

"},{"location":"it/Swapping-sol-to-2z/#raccolta-di-2z","title":"Raccolta di 2Z","text":"

Per eseguire, esegui il seguente comando:

doublezero-solana revenue-distribution harvest-2z\n
L'output sar\u00e0 simile al seguente:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
Il comando pu\u00f2 anche essere simulato usando il parametro --dry-run. L'esecuzione a secco generer\u00e0 log del programma e un output come il seguente:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"it/Swapping-sol-to-2z/#conversione-tramite-protocollo","title":"Conversione Tramite Protocollo","text":"

Questa sezione descrive come controllare il tasso di conversione e come eseguire la conversione usando la CLI doublezero-solana. Infine, descrive l'interfaccia per integrazioni personalizzate con il contratto di conversione DoubleZero.

"},{"location":"it/Swapping-sol-to-2z/#come-controllare-il-prezzo-di-conversione-sol2z-tramite-doublezero-solana","title":"Come controllare il prezzo di conversione SOL/2Z tramite doublezero-solana","text":"

Per controllare il tasso di conversione SOL/2Z su Mainnet Beta, esegui il seguente comando:

doublezero-solana revenue-distribution fetch sol-conversion\n

L'output visualizzato sar\u00e0 simile al seguente:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Il Journal Balance informa l'utente di quanta liquidit\u00e0 SOL \u00e8 disponibile nello smart contract di distribuzione delle entrate. Finch\u00e9 il Journal Balance supera la dimensione della transazione fissa di 1 SOL, l'utente pu\u00f2 negoziare.

La prima riga mostra il prezzo di conversione SOL/2Z \"reale\" dell'oracolo off-chain. La seconda riga \u00e8 il prezzo di conversione utilizzato dalla conversione on-chain, che \u00e8 il prezzo reale aggiustato per lo sconto algoritmico.

"},{"location":"it/Swapping-sol-to-2z/#come-convertire-2z-in-sol-tramite-doublezero-solana","title":"Come convertire 2Z in SOL tramite doublezero-solana","text":"

Per convertire token 2Z in SOL, esegui il seguente comando:

doublezero-solana revenue-distribution convert-2z\n

Per impostazione predefinita, questa transazione avr\u00e0 successo se c'\u00e8 sufficiente liquidit\u00e0 SOL e abbastanza 2Z nell'ATA per eseguire la conversione. Specificando i seguenti parametri, puoi avere un controllo pi\u00f9 granulare sulla conversione:

      --limit-price <DECIMAL>                    Il prezzo limite predefinito \u00e8 il prezzo oracolo SOL/2Z corrente\n      --source-2z-account <PUBKEY>               L'account token deve essere di propriet\u00e0 del firmatario. Se non specificato, il valore predefinito \u00e8 l'ATA del firmatario\n      --checked-sol-amount <SOL>                 Controlla esplicitamente l'importo SOL. Se specificato, questo importo verr\u00e0 verificato rispetto alla quantit\u00e0 di riempimento fissa\n

Il prezzo limite specificato determina il prezzo peggiore che sei disposto ad accettare quando esegui la conversione SOL/2Z. Ad esempio, supponiamo che il prezzo 2Z scontato di SOL sia 800 (800 token 2Z per 1 SOL). Se specifichi un prezzo limite di 790, non sei disposto a scambiare pi\u00f9 di 790 token 2Z per 1 SOL, quindi non verr\u00e0 tentata la conversione. Ma se specifichi 810, sei disposto a scambiare fino a 810 token 2Z (in questo caso, solo 800 token 2Z in questa transazione), quindi la transazione passer\u00e0.

L'account token 2Z di origine sovrascrive l'ATA predefinito, usando il firmatario come proprietario di questo ATA 2Z. Tuttavia, se hai un altro account token che vuoi usare per la conversione, fornisci la sua chiave pubblica tramite questo parametro.

Come opzione, puoi specificare l'importo SOL da verificare rispetto alla dimensione di riempimento standard (impostata a 1 SOL all'avvio). Se non corrisponde alla dimensione di riempimento del programma, la conversione fallir\u00e0. Questo riduce il rischio di non accorgersi che la dimensione di riempimento del programma \u00e8 cambiata.

"},{"location":"it/Swapping-sol-to-2z/#interfaccia-per-lacquisto-di-sol","title":"Interfaccia per l'Acquisto di SOL","text":"

L'interfaccia e la CLI doublezero-solana si trovano in questo repository. Il codice sorgente dell'interfaccia del contratto di conversione DoubleZero \u00e8 qui. Il Program ID \u00e8 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Un metodo conveniente per generare gli account necessari per l'istruzione buy SOL \u00e8 usare il metodo new (in instruction/account.rs):

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key pu\u00f2 essere ottenuto da ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // questa chiave\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

In alternativa, puoi chiamare getProgramAccounts con il discriminatore tramite Solana RPC. Tuttavia, poich\u00e9 questa chiave pubblica non cambier\u00e0 mai, si raccomanda di metterla in cache.

user_key \u00e8 il firmatario dell'istruzione buy SOL e deve essere il proprietario di user_token_account_key. Come descritto sopra, non deve essere necessariamente l'ATA. Finch\u00e9 l'account token 2Z \u00e8 di propriet\u00e0 di user_key, l'istruzione avr\u00e0 successo.

La struttura BuySolAccounts implementa Into<Vec<AccountMeta>>, quindi pu\u00f2 generare tutti i metadati degli account necessari per costruire l'istruzione.

I dati dell'istruzione sono

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Questi dati dell'istruzione sono serializzati con Borsh, con un selettore Anchor di 8 byte, serializzando tutto con BorshSerialize::serialize.

I dati del prezzo oracolo possono essere ottenuti da questo endpoint pubblico: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. I dati possono essere deserializzati usando la struttura OraclePriceData in oracle.rs tramite serde.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Esempio di recupero usando il crate reqwest:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Con il Program ID, gli account e i dati dell'istruzione, dovresti essere in grado di costruire l'istruzione per acquistare SOL dal contratto di conversione DoubleZero.

"},{"location":"it/Validator%20Multicast%20Connection/","title":"Connessione Multicast Validatore","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

Se non sei ancora connesso a DoubleZero, completa prima la documentazione di Setup e di connessione Mainnet-Beta per validatori.

Se sei un validatore gi\u00e0 connesso a DoubleZero, puoi continuare con questa guida.

"},{"location":"it/Validator%20Multicast%20Connection/#jito-agave-versione-319-o-superiore","title":"Jito-Agave (versione 3.1.9 o superiore)","text":"
  1. Nel tuo script di avvio del validatore, aggiungi: --shred-receiver-address 233.84.178.1:7733

    Puoi inviare a Jito e al gruppo bebop contemporaneamente.

    esempio:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...Il resto della tua configurazione...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Riavvia il tuo validatore.

  3. Connettiti al gruppo multicast DoubleZero bebop come publisher: doublezero connect multicast --publish bebop

"},{"location":"it/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. In config.toml, aggiungi:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Riavvia il tuo validatore.

  3. Connettiti al gruppo multicast DoubleZero bebop come publisher: doublezero connect multicast --publish bebop

Note

Gli utenti Frankendancer in modalit\u00e0 driver XDP non possono usare tcpdump. Al momento non c'\u00e8 modo di confermare che stai pubblicando, ma una soluzione sar\u00e0 disponibile a breve.

"},{"location":"it/Validator%20Multicast%20Connection/#conferma-che-stai-pubblicando","title":"Conferma che stai pubblicando","text":"

Durante il tuo prossimo slot leader, usa tcpdump per confermare che stai pubblicando nel gruppo multicast. Dovresti vedere un heartbeat ogni 10 secondi per verificare che stai pubblicando shred.

Esegui: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Esempio di output quando si pubblica:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"it/architecture/","title":"Architettura","text":"

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.

Quali sono i diversi attori e componenti della rete DoubleZero?

Figura 1: Componenti dell'architettura di rete"},{"location":"it/architecture/#contributori","title":"Contributori","text":"

La rete DoubleZero \u00e8 composta da contributi di connettivit\u00e0 ed elaborazione di pacchetti da parte di una comunit\u00e0 in crescita di provider distribuiti di infrastrutture di rete in citt\u00e0 di tutto il mondo. I contributori portano al protocollo link in fibra ottica e risorse di elaborazione delle informazioni per fornire la rete mesh decentralizzata.

"},{"location":"it/architecture/#contributori-di-larghezza-di-banda-di-rete","title":"Contributori di Larghezza di Banda di Rete","text":"

I contributori di rete devono fornire larghezza di banda dedicata tra due punti, operare dispositivi compatibili con DoubleZero (DZD) a ciascuna estremit\u00e0, e una connessione a internet a ciascuna estremit\u00e0. I contributori di rete devono anche eseguire software DoubleZero su ogni DZD per fornire servizi come multicast, ricerca utenti e servizi di filtraggio al margine.

I link fisici della rete DoubleZero sono forniti sotto forma di cavi in fibra ottica, comunemente denominati servizi a lunghezza d'onda. I contributori di rete destinano link di rete sottoutilizzati, di propriet\u00e0 o in locazione da provider di infrastrutture, tra due o pi\u00f9 data center. Questi link sono terminati ad entrambe le estremit\u00e0 da DoubleZero Device, che sono enclosure di switching di rete fisiche che eseguono istanze del software DoubleZero Agent.

"},{"location":"it/architecture/#doublezero-exchange-dzx-sito-di-cross-connect","title":"DoubleZero Exchange (DZX / Sito di Cross-connect)","text":"

Le DoubleZero Exchange (DZX) sono punti di interconnessione nella rete mesh dove diversi link dei contributori vengono collegati insieme. Le DZX sono situate nelle principali aree metropolitane del mondo dove si verificano le intersezioni di rete. I contributori di rete devono cross-connectare i propri link nella pi\u00f9 ampia rete mesh DoubleZero presso le DZX geograficamente pi\u00f9 vicine ai loro endpoint di link.

"},{"location":"it/architecture/#contributori-di-risorse-computazionali","title":"Contributori di Risorse Computazionali","text":"

Separatamente dai contributori di rete, i contributori di risorse sono un gruppo decentralizzato di partecipanti alla rete che svolgono vari compiti di manutenzione e monitoraggio necessari per sostenere l'integrit\u00e0 tecnica e la funzionalit\u00e0 continua della rete DoubleZero. Nello specifico, essi (i) tracciano le transazioni e i pagamenti degli utenti; (ii) calcolano le commissioni per i contributori di rete; (iii) registrano i risultati di (i) e (ii); (iv) amministrano, in modo strettamente non discrezionale, gli smart contract che controllano la tokenomica del protocollo; (v) trasmettono attestazioni alla blockchain applicabile; e (vi) pubblicano dati di telemetria sulla qualit\u00e0 e l'utilizzo dei link per fornire metriche di prestazione in tempo reale e trasparenti per tutti i contributori di rete.

"},{"location":"it/architecture/#componenti","title":"Componenti","text":""},{"location":"it/architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

Il software DoubleZero Daemon viene eseguito su server che necessitano di comunicare sulla rete DoubleZero. Il daemon si interfaccia con lo stack di rete del kernel dell'host per creare e gestire interfacce tunnel, tabelle di routing e route.

"},{"location":"it/architecture/#activator","title":"Activator","text":"

Il servizio Activator, ospitato da uno o pi\u00f9 membri contributori di risorse computazionali della comunit\u00e0 DoubleZero, monitora gli eventi contrattuali che richiedono allocazioni di indirizzi IP e cambiamenti di stato e gestisce tali cambiamenti per conto della rete.

"},{"location":"it/architecture/#controller","title":"Controller","text":"

Il servizio Controller, ospitato da uno o pi\u00f9 contributori di risorse computazionali della comunit\u00e0 DoubleZero, funge da interfaccia di configurazione per i DoubleZero Device Agent per rendere la loro configurazione corrente in base agli eventi degli smart contract.

"},{"location":"it/architecture/#agent","title":"Agent","text":"

Il software Agent viene eseguito direttamente sui DoubleZero Device e applica le modifiche di configurazione ai dispositivi come interpretate dal servizio Controller. Il software Agent interroga il Controller per le modifiche alla configurazione, calcola eventuali differenze tra la versione canonica on-chain dello stato del dispositivo e la configurazione attiva sul dispositivo e applica le modifiche necessarie per riconciliare la configurazione attiva.

"},{"location":"it/architecture/#device","title":"Device","text":"

L'enclosure del dispositivo fisico che fornisce il routing e la terminazione dei link per la rete DoubleZero. I DZD eseguono il software DoubleZero Agent e vengono configurati in base ai dati letti dal servizio Controller.

"},{"location":"it/connect/","title":"Connect","text":"

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.

If you are not redirected, click here.

"},{"location":"it/contribute-operations/","title":"Guida Operativa per i Contributori","text":"

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.

Questa guida descrive le attivit\u00e0 operative continuative per la manutenzione dei DoubleZero Device (DZD), inclusi gli aggiornamenti degli agent, gli aggiornamenti di dispositivi/interfacce e la gestione dei link.

Prerequisiti: Prima di utilizzare questa guida, assicurati di aver:

"},{"location":"it/contribute-operations/#aggiornamenti-del-dispositivo","title":"Aggiornamenti del Dispositivo","text":"

Usa doublezero device update per modificare le impostazioni del dispositivo dopo il provisioning iniziale.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Opzioni di aggiornamento comuni:

Opzione Descrizione --device-type <TYPE> Cambia modalit\u00e0 operativa: hybrid, transit, edge (vedi Tipi di Dispositivo) --location <LOCATION> Sposta il dispositivo in una posizione diversa --metrics-publisher <PUBKEY> Cambia la metrics publisher key"},{"location":"it/contribute-operations/#aggiornamenti-delle-interfacce","title":"Aggiornamenti delle Interfacce","text":"

Usa doublezero device interface update per modificare le interfacce esistenti. Questo comando accetta le stesse opzioni di interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

Per l'elenco completo delle opzioni dell'interfaccia incluse le impostazioni CYOA/DIA, vedi Creazione delle Interfacce.

Esempio - Aggiungere impostazioni CYOA a un'interfaccia esistente:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"it/contribute-operations/#elenca-le-interfacce","title":"Elenca le Interfacce","text":"
doublezero device interface list              # All interfaces across all devices\ndoublezero device interface list <DEVICE>     # Interfaces for a specific device\n
"},{"location":"it/contribute-operations/#aggiornamento-del-config-agent","title":"Aggiornamento del Config Agent","text":"

Quando viene rilasciata una nuova versione del Config Agent, segui questi passaggi per aggiornare.

"},{"location":"it/contribute-operations/#1-scarica-la-versione-piu-recente","title":"1. Scarica la versione pi\u00f9 recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"it/contribute-operations/#2-spegni-lagent","title":"2. Spegni l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#3-rimuovi-la-vecchia-versione","title":"3. Rimuovi la vecchia versione","text":"

Prima, trova il nome del file della vecchia versione:

switch# show extensions\n

Esegui i seguenti comandi per rimuovere la vecchia versione. Sostituisci <OLD_VERSION> con la versione precedente dall'output sopra:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"it/contribute-operations/#4-installa-la-nuova-versione","title":"4. Installa la nuova versione","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-operations/#5-riavvia-lagent","title":"5. Riavvia l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#6-verifica-laggiornamento","title":"6. Verifica l'aggiornamento","text":"

Lo stato dovrebbe essere \"A, I, B\".

switch# show extensions\n

"},{"location":"it/contribute-operations/#7-verifica-loutput-del-log-del-config-agent","title":"7. Verifica l'Output del Log del Config Agent","text":"
show agent doublezero-agent log\n
"},{"location":"it/contribute-operations/#aggiornamento-del-telemetry-agent","title":"Aggiornamento del Telemetry Agent","text":"

Quando viene rilasciata una nuova versione del Telemetry Agent, segui questi passaggi per aggiornare.

"},{"location":"it/contribute-operations/#1-scarica-la-versione-piu-recente_1","title":"1. Scarica la versione pi\u00f9 recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"it/contribute-operations/#2-spegni-lagent_1","title":"2. Spegni l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#3-rimuovi-la-vecchia-versione_1","title":"3. Rimuovi la vecchia versione","text":"

Prima, trova il nome del file della vecchia versione:

switch# show extensions\n

Esegui i seguenti comandi per rimuovere la vecchia versione. Sostituisci <OLD_VERSION> con la versione precedente dall'output sopra:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"it/contribute-operations/#4-installa-la-nuova-versione_1","title":"4. Installa la nuova versione","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-operations/#5-riavvia-lagent_1","title":"5. Riavvia l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#6-verifica-laggiornamento_1","title":"6. Verifica l'aggiornamento","text":"

Lo stato dovrebbe essere \"A, I, B\".

switch# show extensions\n

"},{"location":"it/contribute-operations/#7-verifica-loutput-del-log-del-telemetry-agent","title":"7. Verifica l'Output del Log del Telemetry Agent","text":"
show agent doublezero-telemetry log\n
"},{"location":"it/contribute-operations/#monitoraggio","title":"Monitoraggio","text":"

\u26a0\ufe0f Importante:

  1. Per gli esempi di configurazione di seguito, prestare attenzione a se i propri agent utilizzano un VRF di gestione.
  2. Il configuration agent e il telemetry agent utilizzano la stessa porta di ascolto (:8080) per il loro endpoint delle metriche per impostazione predefinita. Se si abilitano le metriche su entrambi, usare il flag -metrics-addr per impostare porte di ascolto univoche per ciascun agent.
"},{"location":"it/contribute-operations/#metriche-del-config-agent","title":"Metriche del Config Agent","text":"

Il configuration agent sul dispositivo DoubleZero ha la capacit\u00e0 di esporre metriche compatibili con prometheus impostando il flag -metrics-enable nella configurazione del daemon doublezero-agent. La porta di ascolto predefinita \u00e8 tcp/8080 ma pu\u00f2 essere modificata per adattarsi all'ambiente tramite -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

Le seguenti metriche specifiche di DoubleZero sono esposte insieme alle metriche di runtime go-specific:

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"it/contribute-operations/#errori-ad-alto-segnale","title":"Errori ad Alto Segnale","text":""},{"location":"it/contribute-operations/#metriche-del-telemetry-agent","title":"Metriche del Telemetry Agent","text":"

Il telemetry agent sul dispositivo DoubleZero ha la capacit\u00e0 di esporre metriche compatibili con prometheus impostando il flag -metrics-enable nella configurazione del daemon doublezero-telemetry. La porta di ascolto predefinita \u00e8 tcp/8080 ma pu\u00f2 essere modificata per adattarsi all'ambiente tramite -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

Le seguenti metriche specifiche di DoubleZero sono esposte insieme alle metriche di runtime go-specific:

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"it/contribute-operations/#errori-ad-alto-segnale_1","title":"Errori ad Alto Segnale","text":""},{"location":"it/contribute-operations/#gestione-dei-link","title":"Gestione dei Link","text":""},{"location":"it/contribute-operations/#drenaggio-dei-link","title":"Drenaggio dei Link","text":"

Il drenaggio dei link consente ai contributori di rimuovere gradualmente un link dal servizio attivo per manutenzione o risoluzione dei problemi. Ci sono due stati di drenaggio:

Stato Comportamento IS-IS Descrizione soft-drained Metrica impostata a 1.000.000 Il link viene depriorizzato. Il traffico utilizzer\u00e0 percorsi alternativi se disponibili, ma utilizzer\u00e0 comunque questo link se \u00e8 l'unica opzione. hard-drained Impostato a passivo Il link viene completamente rimosso dal routing. Nessun traffico attraverser\u00e0 questo link."},{"location":"it/contribute-operations/#transizioni-di-stato","title":"Transizioni di Stato","text":"

Le seguenti transizioni di stato sono consentite:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (must go through soft-drained first)\n

\u26a0\ufe0f Nota: Non \u00e8 possibile passare direttamente da hard-drained ad activated. Devi prima passare a soft-drained, poi ad activated.

"},{"location":"it/contribute-operations/#soft-drain-di-un-link","title":"Soft Drain di un Link","text":"

Il soft drain depriorizza un link impostando la sua metrica IS-IS a 1.000.000. Il traffico preferir\u00e0 percorsi alternativi ma pu\u00f2 comunque utilizzare questo link se necessario.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"it/contribute-operations/#hard-drain-di-un-link","title":"Hard Drain di un Link","text":"

L'hard drain rimuove completamente il link dal routing impostando IS-IS in modalit\u00e0 passiva. Nessun traffico attraverser\u00e0 questo link.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"it/contribute-operations/#ripristino-di-un-link-allattivo","title":"Ripristino di un Link all'Attivo","text":"

Per riportare un link drenato al normale funzionamento:

# From soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# From hard-drained (must go through soft-drained first)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"it/contribute-operations/#override-del-ritardo","title":"Override del Ritardo","text":"

La funzionalit\u00e0 di override del ritardo consente ai contributori di modificare temporaneamente il ritardo effettivo di un link senza modificare il valore di ritardo misurato effettivo. Questo \u00e8 utile per declassare temporaneamente un link da percorso primario a secondario.

"},{"location":"it/contribute-operations/#imposta-un-override-del-ritardo","title":"Imposta un Override del Ritardo","text":"

Per sovrascrivere il ritardo di un link (rendendolo meno preferito nel routing):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

I valori validi sono da 0.01 a 1000 millisecondi.

"},{"location":"it/contribute-operations/#cancella-un-override-del-ritardo","title":"Cancella un Override del Ritardo","text":"

Per rimuovere l'override e tornare a utilizzare il ritardo misurato effettivo:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Nota: Quando un link \u00e8 in soft-drain, sia delay_ms che delay_override_ms vengono sovrascritti a 1000ms (1 secondo) per garantire la depriorizzazione.

"},{"location":"it/contribute-overview/","title":"Documentazione Contributori","text":"

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.

Terminologia

Nuovo a DoubleZero? Consulta il Glossario per le definizioni dei termini chiave come DZD, DZX e CYOA.

Benvenuto alla documentazione per i contributori DoubleZero. Questa sezione copre tutto ci\u00f2 di cui hai bisogno per diventare un contributore di rete.

Interessato a diventare un contributore di rete?

Consulta la pagina Requisiti e Architettura per comprendere l'hardware, la larghezza di banda e la connettivit\u00e0 necessaria per contribuire alla rete DoubleZero.

"},{"location":"it/contribute-overview/#lista-di-controllo-per-lonboarding","title":"Lista di Controllo per l'Onboarding","text":"

Usa questa lista di controllo per monitorare i tuoi progressi. Tutti gli elementi devono essere completati prima che il tuo contributo sia tecnicamente operativo.

"},{"location":"it/contribute-overview/#fase-1-prerequisiti","title":"Fase 1: Prerequisiti","text":""},{"location":"it/contribute-overview/#fase-2-configurazione-account","title":"Fase 2: Configurazione Account","text":""},{"location":"it/contribute-overview/#fase-3-provisioning-del-dispositivo","title":"Fase 3: Provisioning del Dispositivo","text":""},{"location":"it/contribute-overview/#fase-4-creazione-link-e-installazione-agent","title":"Fase 4: Creazione Link e Installazione Agent","text":""},{"location":"it/contribute-overview/#fase-5-burn-in-del-link","title":"Fase 5: Burn-in del Link","text":""},{"location":"it/contribute-overview/#fase-6-verifica-e-attivazione","title":"Fase 6: Verifica e Attivazione","text":""},{"location":"it/contribute-overview/#ottenere-aiuto","title":"Ottenere Aiuto","text":"

Come parte dell'onboarding, DZF ti aggiunger\u00e0 ai canali Slack per i contributori:

Canale Scopo #dz-contributor-announcements Comunicazioni ufficiali da DZF e Malbec Labs \u2014 aggiornamenti CLI/agent, modifiche importanti, annunci di sicurezza. Monitora per aggiornamenti critici; fai domande nei thread. #dz-contributor-incidents Eventi non pianificati che impattano il servizio. Gli incidenti vengono pubblicati automaticamente tramite API/web form con gravit\u00e0 e dispositivi/link interessati. La discussione e la risoluzione dei problemi avvengono nei thread. #dz-contributor-maintenance Attivit\u00e0 di manutenzione pianificate (aggiornamenti, riparazioni). Pianificate tramite API/web form con orari di inizio/fine previsti. Discussione nei thread. #dz-contributor-ops Discussione aperta per tutti i contributori \u2014 domande operative, aiuto CLI, condivisione di runbook e playbook.

Riceverai anche un canale privato DZ/Malbec Labs per supporto diretto alla tua organizzazione.

"},{"location":"it/contribute-overview/#regole-dz-prefix","title":"Regole DZ Prefix","text":"

Critico: Utilizzo del Pool DZ Prefix

Il pool di DZ prefix che fornisci \u00e8 gestito dal protocollo DoubleZero per l'allocazione IP.

Come vengono utilizzati i DZ prefix:

NON puoi usare questi indirizzi per:

Requisiti:

Se hai bisogno di indirizzi per le tue apparecchiature (IP interfacce DIA, gestione, ecc.), usa un pool di indirizzi separato.

"},{"location":"it/contribute-overview/#riferimento-rapido-termini-chiave","title":"Riferimento Rapido: Termini Chiave","text":"

Nuovo a DoubleZero? Ecco i termini essenziali (vedi il Glossario completo):

Termine Definizione DZD DoubleZero Device - il tuo switch fisico Arista che esegue gli agenti DZ DZX DoubleZero Exchange - punto di interconnessione metro dove i contributori si collegano CYOA Choose Your Own Adventure - metodo di connettivit\u00e0 utente (GREOverDIA, GREOverFabric, ecc.) DIA Direct Internet Access - connettivit\u00e0 internet richiesta da tutti i DZD per controller e telemetria, comunemente usata come tipo CYOA per la connettivit\u00e0 utente su dispositivi edge/hybrid WAN Link Link tra i tuoi DZD (stesso contributore) DZX Link Link verso il DZD di un altro contributore (richiede accettazione reciproca) Config Agent Interroga il controller, applica la configurazione al tuo DZD Telemetry Agent Raccoglie metriche di latenza/perdita TWAMP, le invia al registro onchain Service Key La tua chiave di identit\u00e0 contributore per le operazioni CLI Metrics Publisher Key Chiave per firmare gli invii di telemetria onchain"},{"location":"it/contribute-overview/#struttura-della-documentazione","title":"Struttura della Documentazione","text":"Guida Descrizione Requisiti e Architettura Specifiche hardware, architettura di rete, opzioni di larghezza di banda Provisioning Dispositivo Passo per passo: chiavi \u2192 accesso repo \u2192 dispositivo \u2192 link \u2192 agenti Operazioni Aggiornamenti agent, gestione link, monitoraggio Glossario Tutta la terminologia DoubleZero definita"},{"location":"it/contribute-overview/#nozioni-di-base-di-rete-per-non-ingegneri-di-rete","title":"Nozioni di Base di Rete per Non-Ingegneri di Rete","text":"

Se non hai un background ingegneristico di rete, ecco un primer sui concetti utilizzati in questa documentazione:

"},{"location":"it/contribute-overview/#indirizzamento-ip","title":"Indirizzamento IP","text":""},{"location":"it/contribute-overview/#livelli-di-rete","title":"Livelli di Rete","text":""},{"location":"it/contribute-overview/#termini-comuni","title":"Termini Comuni","text":""},{"location":"it/contribute-overview/#specifico-di-doublezero","title":"Specifico di DoubleZero","text":"

Pronto per iniziare? Inizia con Requisiti e Architettura.

"},{"location":"it/contribute-provisioning/","title":"Guida al Provisioning dei Dispositivi","text":"

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.

Questa guida illustra il provisioning di un DoubleZero Device (DZD) dall'inizio alla fine. Ogni fase corrisponde alla Checklist di Onboarding.

"},{"location":"it/contribute-provisioning/#come-si-incastra-tutto","title":"Come Si Incastra Tutto","text":"

Prima di entrare nei dettagli, ecco il quadro generale di ci\u00f2 che stai costruendo:

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero Ledger]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[Management Server<br/>DoubleZero CLI]\n        DZD[Your DZD<br/>Arista Switch]\n        DZD ---|WAN Link| DZD2[Your other DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[Their DZD]\n    end\n\n    subgraph Users\n        VAL[Validators]\n        RPC[RPC Nodes]\n    end\n\n    MGMT -.->|Registers devices,<br/>links, interfaces| SC\n    DZD ---|DZX Link| OtherDZD\n    VAL ---|Connect via Internet| DZD\n    RPC ---|Connect via Internet| DZD
"},{"location":"it/contribute-provisioning/#fase-1-prerequisiti","title":"Fase 1: Prerequisiti","text":"

Prima di poter effettuare il provisioning di un dispositivo, \u00e8 necessario che l'hardware fisico sia configurato e alcuni indirizzi IP allocati.

"},{"location":"it/contribute-provisioning/#cosa-ti-serve","title":"Cosa Ti Serve","text":"Requisito Perch\u00e9 \u00c8 Necessario Hardware DZD Switch Arista 7280CR3A (vedi specifiche hardware) Spazio Rack 4U con adeguato flusso d'aria Alimentazione Alimentazioni ridondanti, ~4KW raccomandato Accesso di Gestione Accesso SSH/console per configurare lo switch Connettivit\u00e0 Internet Per la pubblicazione di metriche e per recuperare la configurazione dal controller Blocco IPv4 Pubblico Minimo /29 per il pool di prefissi DZ (vedi sotto)"},{"location":"it/contribute-provisioning/#installa-la-cli-doublezero","title":"Installa la CLI DoubleZero","text":"

La CLI DoubleZero (doublezero) viene utilizzata durante tutto il provisioning per registrare dispositivi, creare link e gestire il contributo. Deve essere installata su un server di gestione o VM \u2014 non sullo switch DZD stesso. Lo switch esegue solo il Config Agent e il Telemetry Agent (installati nella Fase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verifica che il daemon sia in esecuzione:

sudo systemctl status doublezerod\n

"},{"location":"it/contribute-provisioning/#comprendere-il-tuo-prefisso-dz","title":"Comprendere il Tuo Prefisso DZ","text":"

Il tuo prefisso DZ \u00e8 un blocco di indirizzi IP pubblici che il protocollo DoubleZero gestisce per l'allocazione degli IP.

flowchart LR\n    subgraph \"Your /29 Block (8 IPs)\"\n        IP1[\"First IP<br/>Reserved for<br/>your device\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Assigned to| LO[Loopback100<br/>on your DZD]\n    IP2 -->|Allocated to| U1[User 1]\n    IP3 -->|Allocated to| U2[User 2]

Come vengono usati i prefissi DZ:

Regole del Prefisso DZ

NON PUOI usare questi indirizzi per:

Requisiti:

Se hai bisogno di indirizzi per la tua infrastruttura (IP di interfaccia DIA, gestione, ecc.), usa un pool di indirizzi separato.

"},{"location":"it/contribute-provisioning/#fase-2-configurazione-dellaccount","title":"Fase 2: Configurazione dell'Account","text":"

In questa fase, crei le chiavi crittografiche che identificano te e i tuoi dispositivi sulla rete.

"},{"location":"it/contribute-provisioning/#dove-eseguire-la-cli","title":"Dove Eseguire la CLI","text":"

NON installare la CLI sul tuo switch

La CLI DoubleZero (doublezero) deve essere installata su un server di gestione o VM, non sullo switch Arista.

flowchart LR\n    subgraph \"Management Server/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[Your Keypairs]\n    end\n\n    subgraph \"Your DZD Switch\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|Creates devices, links| BC[Blockchain]\n    CA -->|Pulls config| CTRL[Controller]\n    TA -->|Submits metrics| BC
Installare sul Server di Gestione Installare sullo Switch CLI doublezero Config Agent La tua service keypair Telemetry Agent La tua metrics publisher keypair Metrics publisher keypair (copia)"},{"location":"it/contribute-provisioning/#cosa-sono-le-chiavi","title":"Cosa Sono le Chiavi?","text":"

Pensa alle chiavi come credenziali di accesso sicure:

Entrambe sono keypair crittografiche (una chiave pubblica che condividi, una chiave privata che mantieni segreta).

flowchart LR\n    subgraph \"Your Keys\"\n        SK[Service Key<br/>~/.config/solana/id.json]\n        MK[Metrics Publisher Key<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Used for| CLI[CLI Commands<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Used for| TEL[Telemetry Agent<br/>Submits metrics onchain]
"},{"location":"it/contribute-provisioning/#passo-21-genera-la-tua-service-key","title":"Passo 2.1: Genera la Tua Service Key","text":"

Questa \u00e8 la tua identit\u00e0 principale per interagire con DoubleZero.

doublezero keygen\n

Questo crea una keypair nella posizione predefinita. L'output mostra la tua chiave pubblica - questa \u00e8 quella che condividerai con DZF.

"},{"location":"it/contribute-provisioning/#passo-22-genera-la-tua-metrics-publisher-key","title":"Passo 2.2: Genera la Tua Metrics Publisher Key","text":"

Questa chiave viene utilizzata dal Telemetry Agent per firmare le submission delle metriche.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"it/contribute-provisioning/#passo-23-invia-le-chiavi-a-dzf","title":"Passo 2.3: Invia le Chiavi a DZF","text":"

Contatta la DoubleZero Foundation o Malbec Labs e fornisci:

  1. La tua chiave pubblica della service key
  2. Il tuo username GitHub (per l'accesso al repository)

Loro provvederanno a:

"},{"location":"it/contribute-provisioning/#passo-24-verifica-il-tuo-account","title":"Passo 2.4: Verifica il Tuo Account","text":"

Una volta confermato, verifica che il tuo account contributore esista:

doublezero contributor list\n

Dovresti vedere il tuo codice contributore nell'elenco.

"},{"location":"it/contribute-provisioning/#passo-25-accedi-al-repository-contributori","title":"Passo 2.5: Accedi al Repository Contributori","text":"

Il repository malbeclabs/contributors contiene:

Segui le istruzioni l\u00ec per la configurazione specifica del dispositivo.

"},{"location":"it/contribute-provisioning/#fase-3-provisioning-del-dispositivo","title":"Fase 3: Provisioning del Dispositivo","text":"

Ora registrerai il tuo dispositivo fisico sulla blockchain e configurerai le sue interfacce.

"},{"location":"it/contribute-provisioning/#comprendere-i-tipi-di-dispositivo","title":"Comprendere i Tipi di Dispositivo","text":"
flowchart TB\n    subgraph \"Edge Device\"\n        E[Edge DZD]\n        EU[Users connect here]\n        EU --> E\n        E <-->|DZX Link| ED[Other DZD]\n    end\n\n    subgraph \"Transit Device\"\n        T[Transit DZD]\n        T <-->|WAN Link| T2[Another DZD]\n        T <-->|DZX Link| TD[Other DZD]\n    end\n\n    subgraph \"Hybrid Device\"\n        H[Hybrid DZD]\n        HU[Users connect here]\n        HU --> H\n        H <-->|WAN Link| H2[Another DZD]\n        H <-->|DZX Link| HD[Other DZD]\n    end
Tipo Cosa Fa Quando Usarlo Edge Accetta solo connessioni utente Singola posizione, solo rivolto agli utenti Transit Sposta il traffico tra dispositivi Connettivit\u00e0 backbone, nessun utente Hybrid Connessioni utente E backbone Il pi\u00f9 comune - fa tutto"},{"location":"it/contribute-provisioning/#passo-31-trova-la-tua-posizione-e-lexchange","title":"Passo 3.1: Trova la Tua Posizione e l'Exchange","text":"

Prima di creare il tuo dispositivo, cerca i codici per la posizione del tuo data center e l'exchange pi\u00f9 vicino:

# List available locations (data centers)\ndoublezero location list\n\n# List available exchanges (interconnect points)\ndoublezero exchange list\n
"},{"location":"it/contribute-provisioning/#passo-32-crea-il-tuo-dispositivo-on-chain","title":"Passo 3.2: Crea il Tuo Dispositivo On-Chain","text":"

Registra il tuo dispositivo sulla blockchain:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

Esempio:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Output atteso:

Signature: 4vKz8H...truncated...7xPq2\n

Verifica che il tuo dispositivo sia stato creato:

doublezero device list | grep nyc-dz001\n

Parametri spiegati:

Parametro Cosa Significa --code Un nome univoco per il tuo dispositivo (es. nyc-dz001) --contributor Il tuo codice contributore (fornito da DZF) --device-type hybrid, transit, o edge --location Codice del data center da location list --exchange Codice dell'exchange pi\u00f9 vicino da exchange list --public-ip L'IP pubblico dove gli utenti si connettono al tuo dispositivo via internet --dz-prefixes Il tuo blocco IP allocato per gli utenti"},{"location":"it/contribute-provisioning/#passo-33-crea-le-interfacce-loopback-richieste","title":"Passo 3.3: Crea le Interfacce Loopback Richieste","text":"

Ogni dispositivo ha bisogno di due interfacce loopback per il routing interno:

# VPNv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

Output atteso (per ogni comando):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"it/contribute-provisioning/#passo-34-crea-interfacce-fisiche","title":"Passo 3.4: Crea Interfacce Fisiche","text":"

Registra le porte fisiche che utilizzerai:

# Basic interface\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

Output atteso:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"it/contribute-provisioning/#passo-35-crea-linterfaccia-cyoa-per-dispositivi-edgehybrid","title":"Passo 3.5: Crea l'Interfaccia CYOA (per dispositivi Edge/Hybrid)","text":"

Se il tuo dispositivo accetta connessioni utente, hai bisogno di un'interfaccia CYOA (Choose Your Own Adventure). Questo indica al sistema come gli utenti si connettono a te.

Tipi CYOA Spiegati:

Tipo In Italiano Semplice Quando Usarlo gre-over-dia Gli utenti si connettono tramite internet normale Il pi\u00f9 comune - gli utenti si connettono tramite il DIA al tuo DZD gre-over-private-peering Gli utenti si connettono tramite link privato Gli utenti hanno una connessione diretta alla tua rete gre-over-public-peering Gli utenti si connettono tramite IX Gli utenti fanno peering con te a un internet exchange gre-over-fabric Utenti sulla stessa rete locale Utenti nello stesso data center gre-over-cable Cavo diretto all'utente Singolo utente dedicato

Esempio - Utenti internet standard:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Output atteso:

Signature: 2wLp8N...truncated...5vHt3\n

Parametri spiegati:

Parametro Cosa Significa --interface-cyoa Come si connettono gli utenti (vedi tabella sopra) --interface-dia dia se questa \u00e8 una porta rivolta a internet --bandwidth Velocit\u00e0 della porta in Mbps (10000 = 10Gbps) --cir Velocit\u00e0 impegnata in Mbps (larghezza di banda garantita) --user-tunnel-endpoint Questa porta accetta tunnel utente"},{"location":"it/contribute-provisioning/#passo-36-verifica-il-tuo-dispositivo","title":"Passo 3.6: Verifica il Tuo Dispositivo","text":"
doublezero device list\n

Output di esempio:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Il tuo dispositivo dovrebbe apparire con stato activated.

"},{"location":"it/contribute-provisioning/#fase-4-stabilimento-del-link-e-installazione-degli-agent","title":"Fase 4: Stabilimento del Link e Installazione degli Agent","text":"

I link connettono il tuo dispositivo al resto della rete DoubleZero.

"},{"location":"it/contribute-provisioning/#comprendere-i-link","title":"Comprendere i Link","text":"
flowchart LR\n    subgraph \"Your Network\"\n        D1[Your DZD 1<br/>NYC]\n        D2[Your DZD 2<br/>LAX]\n    end\n\n    subgraph \"Other Contributor\"\n        O1[Their DZD<br/>NYC]\n    end\n\n    D1 ---|WAN Link<br/>Same contributor| D2\n    D1 ---|DZX Link<br/>Different contributors| O1
Tipo di Link Connette Accettazione WAN Link Due dei TUOI dispositivi Automatica (possiedi entrambi) DZX Link Il tuo dispositivo a quello di UN ALTRO contributore Richiede la loro accettazione"},{"location":"it/contribute-provisioning/#passo-41-crea-wan-link-se-hai-piu-dispositivi","title":"Passo 4.1: Crea WAN Link (se hai pi\u00f9 dispositivi)","text":"

I WAN link connettono i tuoi dispositivi:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Esempio:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Output atteso:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"it/contribute-provisioning/#passo-42-crea-dzx-link","title":"Passo 4.2: Crea DZX Link","text":"

I DZX link connettono il tuo dispositivo direttamente al DZD di un altro contributore:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

Output atteso:

Signature: 8mKp3W...truncated...2nRx7\n

Dopo aver creato un DZX link, l'altro contributore deve accettarlo:

# The OTHER contributor runs this\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

Output atteso (per il contributore che accetta):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"it/contribute-provisioning/#passo-43-verifica-i-link","title":"Passo 4.3: Verifica i Link","text":"
doublezero link list\n

Output di esempio:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

I link dovrebbero mostrare lo stato activated una volta che entrambi i lati sono configurati.

"},{"location":"it/contribute-provisioning/#installazione-degli-agent","title":"Installazione degli Agent","text":"

Due software agent vengono eseguiti sul tuo DZD:

flowchart TB\n    subgraph \"Your DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[Switch Hardware/Software]\n    end\n\n    CA -->|Polls for config| CTRL[Controller Service]\n    CA -->|Applies config| HW\n\n    HW -->|Metrics| TA\n    TA -->|Submits onchain| BC[DoubleZero Ledger]
Agent Cosa Fa Config Agent Recupera la configurazione dal controller, la applica al tuo switch Telemetry Agent Misura latenza/perdita verso altri dispositivi, riporta le metriche on-chain"},{"location":"it/contribute-provisioning/#passo-44-installa-il-config-agent","title":"Passo 4.4: Installa il Config Agent","text":""},{"location":"it/contribute-provisioning/#abilita-lapi-sul-tuo-switch","title":"Abilita l'API sul tuo switch","text":"

Aggiungi alla configurazione EOS:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Nota VRF

Sostituisci default con il nome del tuo VRF di gestione se diverso (es. management).

"},{"location":"it/contribute-provisioning/#scarica-e-installa-lagent","title":"Scarica e installa l'agent","text":"
# Enter bash on the switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-provisioning/#verifica-lestensione","title":"Verifica l'estensione","text":"
switch# show extensions\n

Lo stato dovrebbe essere \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"it/contribute-provisioning/#configura-e-avvia-lagent","title":"Configura e avvia l'agent","text":"

Aggiungi alla configurazione EOS:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Nota VRF

Se il tuo VRF di gestione non \u00e8 default (cio\u00e8 il namespace non \u00e8 ns-default), anteponi al comando exec exec /sbin/ip netns exec ns-<VRF>. Ad esempio, se il tuo VRF \u00e8 management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Ottieni la pubkey del tuo dispositivo da doublezero device list (la colonna account).

"},{"location":"it/contribute-provisioning/#verifica-che-sia-in-esecuzione","title":"Verifica che sia in esecuzione","text":"
switch# show agent doublezero-agent logs\n

Dovresti vedere \"Starting doublezero-agent\" e connessioni riuscite al controller.

"},{"location":"it/contribute-provisioning/#passo-45-installa-il-telemetry-agent","title":"Passo 4.5: Installa il Telemetry Agent","text":""},{"location":"it/contribute-provisioning/#copia-la-metrics-publisher-key-sul-tuo-dispositivo","title":"Copia la metrics publisher key sul tuo dispositivo","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"it/contribute-provisioning/#registra-il-metrics-publisher-on-chain","title":"Registra il metrics publisher on-chain","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

Ottieni la pubkey dal tuo file metrics-publisher.json.

"},{"location":"it/contribute-provisioning/#scarica-e-installa-lagent_1","title":"Scarica e installa l'agent","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-provisioning/#verifica-lestensione_1","title":"Verifica l'estensione","text":"
switch# show extensions\n

Lo stato dovrebbe essere \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"it/contribute-provisioning/#configura-e-avvia-lagent_1","title":"Configura e avvia l'agent","text":"

Aggiungi alla configurazione EOS:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Nota VRF

Se il tuo VRF di gestione non \u00e8 default (cio\u00e8 il namespace non \u00e8 ns-default), aggiungi --management-namespace ns-<VRF> al comando exec. Ad esempio, se il tuo VRF \u00e8 management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"it/contribute-provisioning/#verifica-che-sia-in-esecuzione_1","title":"Verifica che sia in esecuzione","text":"
switch# show agent doublezero-telemetry logs\n

Dovresti vedere \"Starting telemetry collector\" e \"Starting submission loop\".

"},{"location":"it/contribute-provisioning/#fase-5-burn-in-del-link","title":"Fase 5: Burn-in del Link","text":"

Tutti i nuovi link devono completare il burn-in prima di trasportare traffico

I nuovi link devono essere drenati per almeno 24 ore prima di essere attivati per il traffico di produzione. Questo requisito di burn-in \u00e8 definito in RFC12: Network Provisioning, che specifica ~200.000 slot del DZ Ledger (~20 ore) di metriche pulite prima che un link sia pronto per il servizio.

Con gli agent installati e in esecuzione, monitora i tuoi link su metrics.doublezero.xyz per almeno 24 ore consecutive:

Sblocca il link solo quando il periodo di burn-in mostra un link pulito con zero perdite e zero errori.

"},{"location":"it/contribute-provisioning/#fase-6-verifica-e-attivazione","title":"Fase 6: Verifica e Attivazione","text":"

Esegui questa checklist per confermare che tutto funzioni.

Il tuo dispositivo inizia bloccato (max_users = 0)

Quando viene creato un dispositivo, max_users \u00e8 impostato a 0 per impostazione predefinita. Ci\u00f2 significa che nessun utente pu\u00f2 ancora connettersi ad esso. Questo \u00e8 intenzionale \u2014 devi verificare che tutto funzioni prima di accettare traffico utente.

Prima di impostare max_users sopra 0, devi:

  1. Confermare che tutti i link abbiano completato il burn-in di 24 ore con zero perdite/errori su metrics.doublezero.xyz
  2. Coordinarsi con DZ/Malbec Labs per eseguire un test di connettivit\u00e0:
    • Un utente di test pu\u00f2 connettersi al tuo dispositivo?
    • L'utente riceve route tramite la rete DZ?
    • L'utente pu\u00f2 instradare il traffico tramite la rete DZ end-to-end?
  3. Solo dopo che DZ/ML conferma che i test sono passati, imposta max_users a 96:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"it/contribute-provisioning/#controlli-del-dispositivo","title":"Controlli del Dispositivo","text":"
# Your device should appear with status \"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

Output atteso:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Your interfaces should be listed\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

Output atteso:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"it/contribute-provisioning/#controlli-dei-link","title":"Controlli dei Link","text":"
# Links should show status \"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

Output atteso:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"it/contribute-provisioning/#controlli-degli-agent","title":"Controlli degli Agent","text":"

Sullo switch:

# Config agent should show successful config pulls\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry agent should show successful submissions\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"it/contribute-provisioning/#diagramma-di-verifica-finale","title":"Diagramma di Verifica Finale","text":"
flowchart TB\n    subgraph \"Verification Checklist\"\n        D[Device Status: activated?]\n        I[Interfaces: registered?]\n        L[Links: activated?]\n        CA[Config Agent: pulling config?]\n        TA[Telemetry Agent: submitting metrics?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[All Checks Pass] --> NOTIFY[Notify DZF/Malbec Labs<br/>You are technically ready!]
"},{"location":"it/contribute-provisioning/#risoluzione-dei-problemi","title":"Risoluzione dei Problemi","text":""},{"location":"it/contribute-provisioning/#creazione-del-dispositivo-fallisce","title":"Creazione del dispositivo fallisce","text":""},{"location":"it/contribute-provisioning/#link-bloccato-nello-stato-requested","title":"Link bloccato nello stato \"requested\"","text":""},{"location":"it/contribute-provisioning/#config-agent-non-si-connette","title":"Config Agent non si connette","text":""},{"location":"it/contribute-provisioning/#telemetry-agent-non-invia","title":"Telemetry Agent non invia","text":""},{"location":"it/contribute-provisioning/#prossimi-passi","title":"Prossimi Passi","text":""},{"location":"it/contribute/","title":"Requisiti e Architettura per i Contributori","text":"

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.

"},{"location":"it/contribute/#sommario","title":"Sommario","text":"

Chiunque desideri monetizzare i propri cavi in fibra ottica e hardware di rete sottoutilizzati pu\u00f2 contribuire alla rete DoubleZero. I contributori di rete devono fornire larghezza di banda dedicata tra due punti, operare dispositivi compatibili con DoubleZero (DZD) ad entrambe le estremit\u00e0, e una connessione alla rete internet pubblica ad entrambe le estremit\u00e0. I contributori di rete devono anche eseguire il software DoubleZero su ogni DZD per fornire servizi come multicast, ricerca utenti e filtraggio perimetrale.

Lo smart contract DoubleZero \u00e8 il pilastro fondamentale per garantire che la rete mantenga link di alta qualit\u00e0 che possono essere misurati e integrati nella topologia, consentendo ai nostri controller di rete di sviluppare il percorso end-to-end pi\u00f9 efficiente tra i diversi utenti e endpoint. A seguito dell'esecuzione dello smart contract e del deployment dell'infrastruttura di rete e della larghezza di banda, un'entit\u00e0 viene classificata come contributore di rete. Consulta DoubleZero Economics per comprendere ulteriormente l'economia alla base della partecipazione a DoubleZero come contributore di rete.

"},{"location":"it/contribute/#requisiti-per-diventare-un-contributore-di-rete-doublezero","title":"Requisiti per Diventare un Contributore di Rete DoubleZero","text":""},{"location":"it/contribute/#guida-rapida-allavvio","title":"Guida Rapida all'Avvio","text":"

Come contributore di rete, il modo pi\u00f9 semplice per iniziare con DoubleZero \u00e8 identificare la capacit\u00e0 nella propria rete che pu\u00f2 essere dedicata a DoubleZero. Una volta identificata, i DZD devono essere distribuiti, facilitando la rete overlay DoubleZero che richiede solo raggiungibilit\u00e0 IPv4 e un MTU minimo di 2048 byte come dipendenze dalla rete del contributore.

La Figura 1 illustra il modello pi\u00f9 semplice per contribuire con larghezza di banda e servizi di invio ed elaborazione dei pacchetti. Un DZD viene distribuito in ogni data center, interfacciandosi con la rete interna del contributore per fornire connettivit\u00e0 WAN DoubleZero. Questo \u00e8 integrato da un accesso internet locale, tipicamente una soluzione Direct Internet Access (DIA), utilizzata come punto di accesso per gli utenti DoubleZero. Mentre ci si aspetta che il DIA sia l'opzione preferita per facilitare l'accesso agli utenti di DoubleZero, sono possibili numerosi modelli di connettivit\u00e0, ad esempio cablaggio fisico ai server, estensione del fabric di rete, ecc. Ci riferiamo a queste opzioni come Choose Your Own Adventure (CYOA), fornendo al contributore la flessibilit\u00e0 di connettere utenti locali o remoti nel modo che meglio si adatta alle proprie politiche di rete interne.

Come in qualsiasi rete, la raggiungibilit\u00e0 \u00e8 una parte fondamentale dell'architettura poich\u00e9 i contributori di rete non possono vivere in isolamento. Pertanto, il DZD deve avere un link a un DoubleZero Exchange (DZX) per creare una rete contigua tra i partecipanti.

Figura 1: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 2 Data Center - Singolo Contributore"},{"location":"it/contribute/#esempi-di-contributo","title":"Esempi di Contributo","text":"

I modi in cui un contributore di rete pu\u00f2 ampliare i propri contributi a DoubleZero sono molteplici, tra cui:

"},{"location":"it/contribute/#esempio-1-singolo-contributore-3-data-center-due-link","title":"Esempio 1: Singolo Contributore, 3 Data Center, Due Link","text":"Figura 2: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 3 Data Center - Singolo Contributore

Un singolo DZD pu\u00f2 supportare pi\u00f9 link contribuiti a DoubleZero. La Figura 2 illustra una potenziale topologia se un singolo data center, indicato come 1, termina la larghezza di banda verso due diversi data center remoti 2 e 3. In questo scenario, ogni data center contiene solo 1 DZD. Tutti i DZD utilizzano il DIA per i punti di accesso degli utenti come interfaccia CYOA.

"},{"location":"it/contribute/#esempio-2-singolo-contributore-3-data-center-tre-link","title":"Esempio 2: Singolo Contributore, 3 Data Center, Tre Link","text":"

La Figura 3 descrive la topologia DoubleZero quando un singolo contributore distribuisce tre link in una topologia a triangolo tra 3 data center. In uno scenario simile all'esempio 1, un singolo DZD viene distribuito nei data center 1, 2 e 3, ognuno dei quali supporta 2 link di rete indipendenti. La topologia risultante \u00e8 un triangolo o anello tra i data center.

Figura 3: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 3 Data Center - Singolo Contributore"},{"location":"it/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

La creazione di una rete contigua \u00e8 un elemento fondamentale dell'architettura DoubleZero. I contributori si interfacciano tramite un DoubleZero Exchange (DZX) all'interno di un'area metropolitana, ovvero una citt\u00e0 come New York (NYC), Londra (LON) o Tokyo (TYO). Un DZX \u00e8 un fabric di rete simile a un Internet Exchange, che consente il peering e lo scambio di route.

Nella Figura 4, il contributore di rete 1 opera nei data center 1, 2 e 3, mentre il contributore di rete 2 opera nei data center 2, 4 e 5. Interconnettendosi nel data center 2, la portata della rete DoubleZero si estende a 5 data center contigui.

Figura 4: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 2 Contributori di Larghezza di Banda"},{"location":"it/contribute/#opzioni-di-contributo-della-larghezza-di-banda","title":"Opzioni di Contributo della Larghezza di Banda","text":"

DoubleZero richiede a un contributore di rete di offrire connettivit\u00e0 integrata tramite una larghezza di banda garantita, un profilo di latenza e jitter tra DZD in due data center di terminazione espresso tramite uno smart contract. DoubleZero non impone come un contributore di rete implementa il proprio contributo, tuttavia, nelle sezioni seguenti forniamo opzioni indicative per l'utilizzo a loro esclusiva discrezione.

Aree importanti da considerare per un contributore di rete potrebbero essere:

"},{"location":"it/contribute/#larghezza-di-banda-layer-1","title":"Larghezza di Banda Layer 1","text":"Figura 5: Servizi Ottici Layer 1

La larghezza di banda Layer 1, pi\u00f9 formalmente descritta come servizi a lunghezza d'onda, pu\u00f2 prevedere capacit\u00e0 dedicata su un'infrastruttura ottica esistente, come DWDM, CWDM o tramite multiplexer ottici (MUX). Nella Figura 5, i DZD utilizzano un'ottica colorata cablata a un MUX L1, che sovrappone la lunghezza d'onda del DZD su una fibra scura esistente.

Questa soluzione offre numerosi vantaggi per i contributori di rete che gi\u00e0 gestiscono una rete core esistente. Le modifiche operative iterative, cos\u00ec come i requisiti aggiuntivi di CAPEX e OPEX, sono modesti. Questa opzione \u00e8 particolarmente robusta nell'offrire segregazione dai servizi di rete del contributore.

"},{"location":"it/contribute/#larghezza-di-banda-packet-switched","title":"Larghezza di Banda Packet Switched","text":"

Le reti packet switched possono essere considerate una tipica rete aziendale, che esegue protocolli standard di routing e switching a supporto delle applicazioni aziendali. Esistono numerose tecnologie di rete che raggiungono la connettivit\u00e0, ad esempio estensioni layer 2 (L2) tramite tag VLAN.

"},{"location":"it/contribute/#estensione-l2","title":"Estensione L2","text":"Figura 6: Reti Packet Switched - Estensione L2

Un'estensione L2 come mostrato nella Figura 6 pu\u00f2 essere facilitata tramite il tagging VLAN. La porta di un DZD pu\u00f2 essere cablata a uno switch della rete interna del contributore, con la porta dello switch impostata come porta di accesso, ad esempio, nella VLAN 10. Tramite il tagging 802.1q, questa VLAN pu\u00f2 essere trasportata su pi\u00f9 hop di switch sulla rete del contributore, terminando allo switch che si interfaccia con il DZD remoto.

Questa soluzione beneficia di un'ampia compatibilit\u00e0 e di una relativa facilit\u00e0 di implementazione, creando al contempo segmentazione tra DoubleZero e i servizi layer 3 interni. La larghezza di banda pu\u00f2 essere controllata in base alla velocit\u00e0 dell'interfaccia dello switch o router interno del contributore. Occorre prestare particolare attenzione alle prestazioni attraverso la rete L2 interna condivisa tramite tecnologie come Quality of Service (QoS) o altre politiche di gestione del traffico. Tuttavia, gli investimenti aggiuntivi in CAPEX e OPEX dovrebbero essere modesti se \u00e8 disponibile capacit\u00e0 esistente nella rete core del contributore.

"},{"location":"it/contribute/#larghezza-di-banda-di-terze-parti-dedicata","title":"Larghezza di Banda di Terze Parti Dedicata","text":"Figura 7: Larghezza di Banda di Terze Parti Dedicata

Sebbene il riutilizzo della capacit\u00e0 disponibile sar\u00e0 interessante per molti contributori di rete, \u00e8 possibile anche dedicare larghezza di banda appena acquisita a DoubleZero. In tale scenario, il DZD si collegherebbe direttamente al gestore di terze parti senza alcun dispositivo interno del contributore in linea (Figura 7).

Questa opzione \u00e8 interessante in quanto garantisce larghezza di banda dedicata per DoubleZero, \u00e8 semplice dal punto di vista operativo e garantisce una completa segmentazione da qualsiasi altro servizio di rete. Questa opzione avr\u00e0 probabilmente il maggiore aumento dell'OPEX e richiede nuovi contratti di servizio con gestori di terze parti.

"},{"location":"it/contribute/#requisiti-hardware","title":"Requisiti Hardware","text":""},{"location":"it/contribute/#contributo-di-larghezza-di-banda-100gbps","title":"Contributo di Larghezza di Banda 100Gbps","text":"

Si noti che le quantit\u00e0 riportate di seguito riflettono l'attrezzatura necessaria in due data center, ovvero l'hardware totale necessario per distribuire 1 cavo in fibra ottica per il contributo di larghezza di banda.

*Tutti gli FPGA sono soggetti a test finali. I contributi 10G possono essere supportati utilizzando switch Arista 7130LBR con FPGA dual Virtex\u00ae UltraScale+\u2122 integrati (per qualsiasi domanda, DoubleZero Foundation / Malbec Labs sono lieti di fornire ulteriori informazioni)."},{"location":"it/contribute/#requisiti-di-funzione-e-porta","title":"Requisiti di Funzione e Porta","text":"Funzione Velocit\u00e0 Porta Requisito DZ QTY Note Larghezza di Banda Privata 100G S\u00ec 1 Direct Internet Access (DIA) 10G S\u00ec 2 DoubleZero eXchange (DZX) 100G S\u00ec* 1 Deve essere supportato una volta che pi\u00f9 di 3 provider operano nella stessa area metropolitana; prima di ci\u00f2, cross-connect o altri accordi di peering possono essere utilizzati per interconnettersi con altri provider. Management No 1 Determinato dalle politiche di gestione interne del contributore. Console No 1 Determinato dalle politiche di gestione interne del contributore."},{"location":"it/contribute/#hardware-di-rete-dzd","title":"Hardware di Rete DZD","text":"Produttore Modello Numero Parte Requisito DZ QTY Note AMD* V80* 24540474 S\u00ec 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ec 2 Possono essere possibili alternative se i lead time sono problematici."},{"location":"it/contribute/#ottiche-100g","title":"Ottiche - 100G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR No 16 Scelta di cablaggio e ottica a discrezione del contributore. 100G richiesto per connettere gli FPGA."},{"location":"it/contribute/#ottiche-10g","title":"Ottiche - 10G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 10GBASE-LR SFP-10G-LR No 2 Scelta di cablaggio e ottica a discrezione del contributore. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 2 Scelta di cablaggio e ottica a discrezione del contributore."},{"location":"it/contribute/#indirizzamento-ip","title":"Indirizzamento IP","text":"Indirizzamento IP Dimensione Minima Sottorete Requisito DZ Note IPv4 Pubblico /29 S\u00ec (per DZD edge/hybrid) Deve essere instradabile tramite DIA. Potremmo eliminare la necessit\u00e0 di questo nel tempo.

Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Eventuali requisiti per l'indirizzamento point-to-point, ad esempio sulle interfacce DIA, devono essere gestiti tramite un pool di indirizzi diverso.

"},{"location":"it/contribute/#contributo-di-larghezza-di-banda-10gbps","title":"Contributo di Larghezza di Banda 10Gbps","text":"

Si noti che le quantit\u00e0 riflettono l'attrezzatura di due data center, ovvero l'hardware totale necessario per distribuire 1 contributo di larghezza di banda.

"},{"location":"it/contribute/#requisiti-di-funzione-e-porta_1","title":"Requisiti di Funzione e Porta","text":"Funzione Velocit\u00e0 Porta Requisito DZ QTY Note Larghezza di Banda Privata 10G S\u00ec 1 Direct Internet Access (DIA) 10G S\u00ec 2 DoubleZero eXchange (DZX) 100G S\u00ec* 1 Deve essere supportato una volta che pi\u00f9 di 3 provider operano nella stessa area metropolitana; prima di ci\u00f2, cross-connect o altri accordi di peering possono essere utilizzati per interconnettersi con altri provider. Management No 1 Determinato dalle politiche di gestione interne del contributore. Console No 1 Determinato dalle politiche di gestione interne del contributore."},{"location":"it/contribute/#hardware","title":"Hardware","text":"Produttore Modello Numero Parte Requisito DZ QTY Note AMD* V80* 24540474* S\u00ec 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ec 2 Possono essere possibili alternative se i lead time sono problematici."},{"location":"it/contribute/#ottiche-100g_1","title":"Ottiche - 100G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR No 14 Scelta di cablaggio e ottica a discrezione del contributore. 100G richiesto per connettere gli FPGA."},{"location":"it/contribute/#ottiche-10g_1","title":"Ottiche - 10G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 10GBASE-LR SFP-10G-LR No 4 Scelta di cablaggio e ottica a discrezione del contributore. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 4 Scelta di cablaggio e ottica a discrezione del contributore."},{"location":"it/contribute/#indirizzamento-ip_1","title":"Indirizzamento IP","text":"Indirizzamento IP Dimensione Minima Sottorete Requisito DZ Note IPv4 Pubblico /29 S\u00ec (per DZD edge/hybrid) Deve essere instradabile tramite DIA. Potremmo eliminare la necessit\u00e0 di questo nel tempo.

Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Eventuali requisiti per l'indirizzamento point-to-point, ad esempio sulle interfacce DIA, devono essere gestiti tramite un pool di indirizzi diverso.

"},{"location":"it/contribute/#requisiti-del-data-center","title":"Requisiti del Data Center","text":""},{"location":"it/contribute/#requisiti-di-rack-e-alimentazione","title":"Requisiti di Rack e Alimentazione","text":"Requisito Specifica Spazio Rack 4U Alimentazione 4KW (raccomandato)"},{"location":"it/contribute/#prossimi-passi","title":"Prossimi Passi","text":"

Pronto a effettuare il provisioning del tuo primo DZD? Continua con la Guida al Provisioning dei Dispositivi.

"},{"location":"it/glossary/","title":"Glossario","text":"

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.

Questa pagina definisce la terminologia specifica di DoubleZero utilizzata in tutta la documentazione.

"},{"location":"it/glossary/#infrastruttura-di-rete","title":"Infrastruttura di Rete","text":""},{"location":"it/glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

L'hardware di switching di rete fisico che termina i link DoubleZero ed esegue il software DoubleZero Agent. I DZD vengono distribuiti nei data center e forniscono servizi di routing, elaborazione dei pacchetti e connettivit\u00e0 degli utenti. Ogni DZD richiede specifiche hardware specifiche ed esegue sia il Config Agent che il Telemetry Agent.

"},{"location":"it/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Punti di interconnessione nella rete mesh dove diversi link dei contributori vengono collegati insieme. Le DZX sono situate nelle principali aree metropolitane (es. NYC, LON, TYO) dove si verificano le intersezioni di rete. I contributori di rete devono cross-connectare i propri link nella pi\u00f9 ampia rete DoubleZero mesh presso la DZX pi\u00f9 vicina. Concettualmente simile a un Internet Exchange (IX).

"},{"location":"it/glossary/#wan-link","title":"WAN Link","text":"

Un link Wide Area Network tra due DZD operati dallo stesso contributore. I WAN link forniscono connettivit\u00e0 backbone all'interno dell'infrastruttura di un singolo contributore.

"},{"location":"it/glossary/#dzx-link","title":"DZX Link","text":"

Un link tra DZD operati da diversi contributori, stabilito presso una DZX. I DZX link richiedono accettazione esplicita da entrambe le parti.

"},{"location":"it/glossary/#dz-prefix","title":"DZ Prefix","text":"

Allocazioni di indirizzi IP in formato CIDR assegnate a un DZD per l'indirizzamento della rete overlay. Specificato durante la creazione del dispositivo usando il parametro --dz-prefixes.

"},{"location":"it/glossary/#tipi-di-dispositivo","title":"Tipi di Dispositivo","text":""},{"location":"it/glossary/#dispositivo-edge","title":"Dispositivo Edge","text":"

Un DZD che fornisce connettivit\u00e0 utente alla rete DoubleZero. I dispositivi edge sfruttano le interfacce CYOA per terminare gli utenti (validatori, operatori RPC) e connetterli alla rete.

"},{"location":"it/glossary/#dispositivo-transit","title":"Dispositivo Transit","text":"

Un DZD che fornisce connettivit\u00e0 backbone all'interno della rete DoubleZero. I dispositivi transit spostano il traffico tra i DZD ma non terminano direttamente le connessioni utente.

"},{"location":"it/glossary/#dispositivo-hybrid","title":"Dispositivo Hybrid","text":"

Un DZD che combina le funzionalit\u00e0 sia di edge che di transit, fornendo sia connettivit\u00e0 utente che routing backbone.

"},{"location":"it/glossary/#connettivita","title":"Connettivit\u00e0","text":""},{"location":"it/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Tipi di interfaccia che consentono ai contributori di registrare opzioni di connettivit\u00e0 per gli utenti per connettersi alla rete DoubleZero. Le interfacce CYOA includono vari metodi come DIA, tunnel GRE e peering privato. Consulta Creazione Interfacce CYOA per i dettagli di configurazione.

"},{"location":"it/glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

Un termine di rete standard per la connettivit\u00e0 fornita tramite l'internet pubblico. In DoubleZero, DIA \u00e8 un tipo di interfaccia CYOA dove gli utenti (validatori, operatori RPC) si connettono a un DZD tramite la loro connessione internet esistente.

"},{"location":"it/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

Una modalit\u00e0 di connessione che consente a validatori e nodi RPC di connettersi a DoubleZero senza riavviare i propri client blockchain. IBRL utilizza l'indirizzo IP pubblico esistente e stabilisce un tunnel overlay verso il DZD pi\u00f9 vicino. Consulta Connessione Mainnet-Beta per le istruzioni di configurazione.

"},{"location":"it/glossary/#multicast","title":"Multicast","text":"

Un metodo di consegna dei pacchetti one-to-many supportato da DoubleZero. La modalit\u00e0 multicast ha due ruoli: publisher (invia pacchetti attraverso la rete) e subscriber (riceve pacchetti dal publisher). Utilizzato dai team di sviluppo per la distribuzione efficiente dei dati. Consulta Altra Connessione Multicast per i dettagli di connessione.

"},{"location":"it/glossary/#componenti-software","title":"Componenti Software","text":""},{"location":"it/glossary/#doublezerod","title":"doublezerod","text":"

Il servizio daemon DoubleZero che viene eseguito sui server degli utenti (validatori, nodi RPC). Gestisce la connessione alla rete DoubleZero, gestisce la creazione dei tunnel e mantiene la connettivit\u00e0 ai DZD. Configurato tramite systemd e controllato attraverso la CLI doublezero.

"},{"location":"it/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

L'interfaccia a riga di comando per interagire con la rete DoubleZero. Utilizzata per connettersi, gestire le identit\u00e0, controllare lo stato ed eseguire operazioni amministrative. Comunica con il daemon doublezerod.

"},{"location":"it/glossary/#config-agent","title":"Config Agent","text":"

Agente software in esecuzione sui DZD che gestisce la configurazione del dispositivo. Legge la configurazione dal servizio Controller e applica le modifiche al dispositivo. Consulta Installazione Config Agent per la configurazione.

"},{"location":"it/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Agente software in esecuzione sui DZD che raccoglie metriche di prestazione (latenza, jitter, perdita di pacchetti) e le invia al registro DoubleZero. Consulta Installazione Telemetry Agent per la configurazione.

"},{"location":"it/glossary/#controller","title":"Controller","text":"

Un servizio che fornisce la configurazione agli agenti DZD. Il Controller deriva le configurazioni dei dispositivi dallo stato onchain nel registro DoubleZero.

"},{"location":"it/glossary/#stati-dei-link","title":"Stati dei Link","text":""},{"location":"it/glossary/#activated","title":"Activated","text":"

Lo stato operativo normale di un link. Il traffico scorre attraverso il link e partecipa alle decisioni di routing.

"},{"location":"it/glossary/#soft-drained","title":"Soft-Drained","text":"

Uno stato di manutenzione in cui il traffico sar\u00e0 scoraggiato su un link specifico. Utilizzato per finestre di manutenzione graduali. Pu\u00f2 passare a activated o hard-drained.

"},{"location":"it/glossary/#hard-drained","title":"Hard-Drained","text":"

Uno stato di manutenzione in cui il link \u00e8 completamente rimosso dal servizio. Nessun traffico scorre attraverso il link. Deve passare a soft-drained prima di tornare a activated.

"},{"location":"it/glossary/#organizzazioni-e-token","title":"Organizzazioni e Token","text":""},{"location":"it/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

La DoubleZero Foundation \u00e8 una societ\u00e0 fondazionale senza soci delle Isole Cayman costituita per supportare lo sviluppo, la decentralizzazione, la sicurezza e l'adozione della rete DoubleZero.

"},{"location":"it/glossary/#token-2z","title":"Token 2Z","text":"

Il token nativo della rete DoubleZero. Utilizzato per pagare le commissioni dei validatori e distribuito come ricompense ai contributori. I validatori possono pagare le commissioni in 2Z tramite un programma di swap on-chain. Consulta Pagamento Commissioni con 2Z e Scambio SOL per 2Z.

"},{"location":"it/glossary/#contributor","title":"Contributor","text":"

Un provider di infrastrutture di rete che contribuisce larghezza di banda e hardware alla rete DoubleZero. I contributori operano DZD, forniscono link WAN e DZX, e ricevono incentivi in token 2Z per il loro contributo. Consulta la Documentazione Contributori per iniziare.

"},{"location":"it/glossary/#concetti-di-rete","title":"Concetti di Rete","text":""},{"location":"it/glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

La dimensione massima del pacchetto (in byte) che pu\u00f2 essere trasmessa su un link di rete. I WAN link DoubleZero utilizzano tipicamente MTU 9000 (jumbo frame) per l'efficienza.

"},{"location":"it/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

Una tecnologia che consente a pi\u00f9 tabelle di routing isolate di esistere sullo stesso router fisico. I contributori spesso utilizzano un VRF di gestione separato per isolare il traffico di gestione degli switch dal traffico di produzione.

"},{"location":"it/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

Un protocollo di tunneling che incapsula i pacchetti di rete all'interno di pacchetti IP. Utilizzato dalle connessioni IBRL e CYOA per creare tunnel overlay tra utenti e DZD.

"},{"location":"it/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

Il protocollo di routing utilizzato per lo scambio di informazioni di routing tra reti su internet. DoubleZero utilizza BGP internamente con ASN 65342.

"},{"location":"it/glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

Un identificatore univoco assegnato a una rete per il routing BGP. Tutti i dispositivi DoubleZero utilizzano ASN 65342 per il processo BGP interno.

"},{"location":"it/glossary/#interfaccia-loopback","title":"Interfaccia Loopback","text":"

Un'interfaccia di rete virtuale su un router/switch utilizzata per scopi di gestione e routing. I DZD utilizzano Loopback255 (VPNv4) e Loopback256 (IPv4) per il routing interno.

"},{"location":"it/glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

Una notazione per specificare gli intervalli di indirizzi IP. Il formato \u00e8 IP/lunghezza-prefisso dove la lunghezza del prefisso indica le dimensioni della rete (es. /29 = 8 indirizzi, /24 = 256 indirizzi).

"},{"location":"it/glossary/#jitter","title":"Jitter","text":"

Variazione nella latenza dei pacchetti nel tempo. Il jitter basso \u00e8 fondamentale per le applicazioni in tempo reale.

"},{"location":"it/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

Il tempo necessario a un pacchetto per viaggiare dalla sorgente alla destinazione e ritorno. Utilizzato per misurare la latenza di rete tra i dispositivi.

"},{"location":"it/glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

Un protocollo per la misurazione delle metriche di prestazione di rete come latenza e perdita di pacchetti. Il Telemetry Agent utilizza TWAMP per raccogliere metriche tra i DZD.

"},{"location":"it/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

Un protocollo di routing link-state utilizzato internamente dalla rete DoubleZero. Le metriche IS-IS vengono regolate durante le operazioni di drenaggio dei link.

"},{"location":"it/glossary/#blockchain-e-chiavi","title":"Blockchain e Chiavi","text":""},{"location":"it/glossary/#onchain","title":"Onchain","text":"

Nel contesto DoubleZero, onchain si riferisce a dati e operazioni registrati nel registro DoubleZero. A differenza delle reti tradizionali dove le configurazioni di dispositivi e link risiedono in sistemi di gestione centralizzati, DoubleZero registra le registrazioni dei dispositivi, le configurazioni dei link e le trasmissioni di telemetria onchain, rendendo lo stato della rete trasparente e verificabile da tutti i partecipanti.

"},{"location":"it/glossary/#service-key","title":"Service Key","text":"

Un keypair crittografico utilizzato per autenticare le operazioni CLI. Questa \u00e8 la tua identit\u00e0 di contributore per interagire con lo smart contract DoubleZero. Memorizzata in ~/.config/solana/id.json.

"},{"location":"it/glossary/#metrics-publisher-key","title":"Metrics Publisher Key","text":"

Un keypair crittografico utilizzato dal Telemetry Agent per firmare le trasmissioni di metriche alla blockchain. Separata dalla service key per l'isolamento della sicurezza. Memorizzata in ~/.config/doublezero/metrics-publisher.json.

"},{"location":"it/glossary/#hardware-e-software","title":"Hardware e Software","text":""},{"location":"it/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

Il sistema operativo di rete di Arista che viene eseguito sugli switch DZD. I contributori installano Config Agent e Telemetry Agent come estensioni EOS.

"},{"location":"it/glossary/#eos-extension","title":"EOS Extension","text":"

Un pacchetto software che pu\u00f2 essere installato sugli switch Arista EOS. Gli agenti DZ vengono distribuiti come file .rpm e installati tramite il comando extension.

"},{"location":"it/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"it/multicast-admin/#gestione-dei-gruppi-multicast-in-doublezero","title":"Gestione dei Gruppi Multicast in DoubleZero","text":"

Un gruppo multicast \u00e8 una raccolta logica di dispositivi o nodi di rete che condividono un identificatore comune (tipicamente un indirizzo IP multicast) per trasmettere in modo efficiente i dati a pi\u00f9 destinatari. A differenza della comunicazione unicast (uno-a-uno) o broadcast (uno-a-tutti), il multicast consente a un mittente di trasmettere un singolo flusso di dati che viene replicato dalla rete solo per i ricevitori che si sono uniti al gruppo.

Questo approccio ottimizza l'utilizzo della larghezza di banda e riduce il carico sia sul mittente che sull'infrastruttura di rete, poich\u00e9 i pacchetti vengono trasmessi una sola volta per link e duplicati solo quando necessario per raggiungere pi\u00f9 subscriber. I gruppi multicast sono comunemente utilizzati in scenari come lo streaming video in diretta, le conferenze, la distribuzione di dati finanziari e i sistemi di messaggistica in tempo reale.

In DoubleZero, i gruppi multicast forniscono un meccanismo sicuro e controllato per gestire chi pu\u00f2 inviare (publisher) e ricevere (subscriber) dati all'interno di ciascun gruppo, garantendo una distribuzione delle informazioni efficiente e governata.

flowchart LR\n    subgraph Publisher\n        P1[Publisher 1]\n        P2[Publisher 2]\n        P3[Publisher 3]\n    end\n    subgraph Subscriber\n        S1[Subscriber 1]\n        S2[Subscriber 2]\n        S3[Subscriber 3]\n        S4[Subscriber 4]\n    end\n    P1 --> B[Gruppo Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

Il diagramma sopra mostra come pi\u00f9 utenti possono pubblicare messaggi in un gruppo multicast e come pi\u00f9 utenti possono sottoscrivere per ricevere quei messaggi. La rete DoubleZero replica efficientemente i pacchetti, garantendo che tutti i subscriber ricevano i messaggi senza inutile overhead di trasmissione.

"},{"location":"it/multicast-admin/#1-creazione-e-visualizzazione-dei-gruppi-multicast","title":"1. Creazione e Visualizzazione dei Gruppi Multicast","text":"

I gruppi multicast sono la base per la distribuzione sicura ed efficiente dei dati in DoubleZero. Ogni gruppo \u00e8 identificato in modo univoco e configurato con una larghezza di banda specifica e un proprietario. Solo gli amministratori della DoubleZero Foundation possono creare nuovi gruppi multicast, garantendo una corretta governance e allocazione delle risorse.

Una volta creati, i gruppi multicast possono essere elencati per fornire una panoramica di tutti i gruppi disponibili, della loro configurazione e del loro stato attuale. Questo \u00e8 essenziale per gli operatori di rete e i proprietari dei gruppi per monitorare le risorse e gestire gli accessi.

Creazione di un gruppo multicast:

Solo la DoubleZero Foundation pu\u00f2 creare nuovi gruppi multicast. Il comando di creazione richiede un codice univoco, la larghezza di banda massima e la chiave pubblica del proprietario (o 'me' per il pagante corrente).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Elenco di tutti i gruppi multicast:

Per elencare tutti i gruppi multicast e visualizzare le informazioni di riepilogo (inclusi codice gruppo, IP multicast, larghezza di banda, numero di publisher e subscriber, stato e proprietario):

doublezero multicast group list\n

Esempio di output:

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Questo comando mostra una tabella con tutti i gruppi multicast e le loro principali propriet\u00e0: - account: Indirizzo account del gruppo - code: Codice del gruppo multicast - multicast_ip: Indirizzo IP multicast assegnato al gruppo - max_bandwidth: Larghezza di banda massima consentita per il gruppo - publishers: Numero di publisher nel gruppo - subscribers: Numero di subscriber nel gruppo - status: Stato attuale (es. activated) - owner: Chiave pubblica del proprietario

Una volta creato un gruppo, il proprietario pu\u00f2 gestire quali utenti sono autorizzati a connettersi come publisher o subscriber.

"},{"location":"it/multicast-admin/#2-gestione-delle-allowlist-publishersubscriber","title":"2. Gestione delle Allowlist Publisher/Subscriber","text":"

Le allowlist di publisher e subscriber sono essenziali per controllare l'accesso ai gruppi multicast in DoubleZero. Queste liste definiscono esplicitamente quali utenti sono autorizzati a pubblicare (inviare dati) o sottoscrivere (ricevere dati) all'interno di un gruppo multicast specifico.

La gestione di queste liste \u00e8 responsabilit\u00e0 del proprietario del gruppo, che pu\u00f2 aggiungere, rimuovere o visualizzare publisher e subscriber autorizzati usando la CLI DoubleZero. Una corretta gestione delle allowlist \u00e8 fondamentale per mantenere la sicurezza, l'integrit\u00e0 e la tracciabilit\u00e0 delle comunicazioni multicast.

Nota: Per sottoscrivere o pubblicare in un gruppo multicast, un utente deve prima essere autorizzato a connettersi a DoubleZero seguendo le procedure di connessione standard. I comandi allowlist descritti qui associano solo un utente DoubleZero gi\u00e0 autorizzato a un gruppo multicast. L'aggiunta di un nuovo IP all'allowlist di un gruppo multicast non concede di per s\u00e9 l'accesso a DoubleZero; l'utente deve aver gi\u00e0 completato il processo di autorizzazione generale prima di interagire con i gruppi multicast.

"},{"location":"it/multicast-admin/#aggiunta-di-un-publisher-allallowlist","title":"Aggiunta di un publisher all'allowlist","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#rimozione-di-un-publisher-dallallowlist","title":"Rimozione di un publisher dall'allowlist","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#visualizzazione-dellallowlist-publisher-per-un-gruppo","title":"Visualizzazione dell'allowlist publisher per un gruppo","text":"

Per elencare tutti i publisher nell'allowlist per un gruppo multicast specifico, usa:

doublezero multicast group allowlist publisher list --code <CODE>\n

Esempio:

doublezero multicast group allowlist publisher list --code mg01\n

Esempio di output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Questo comando mostra tutti i publisher attualmente autorizzati a connettersi al gruppo specificato, inclusi il loro account, codice gruppo, IP client e pagante utente.

"},{"location":"it/multicast-admin/#aggiunta-di-un-subscriber-allallowlist","title":"Aggiunta di un subscriber all'allowlist","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#rimozione-di-un-subscriber-dallallowlist","title":"Rimozione di un subscriber dall'allowlist","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#visualizzazione-dellallowlist-subscriber-per-un-gruppo","title":"Visualizzazione dell'allowlist subscriber per un gruppo","text":"

Per elencare tutti i subscriber nell'allowlist per un gruppo multicast specifico, usa:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Esempio:

doublezero multicast group allowlist subscriber list --code mg01\n

Esempio di output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Questo comando mostra tutti i subscriber attualmente autorizzati a connettersi al gruppo specificato, inclusi il loro account, codice gruppo, IP client e pagante utente.

Per ulteriori informazioni sulla connessione e l'utilizzo del multicast, consulta Altra Connessione Multicast.

"},{"location":"it/paying-fees/","title":"Prezzi e Commissioni per Validatori","text":"

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.

Prezzi semplici e allineati per i validatori Solana

Le commissioni inizieranno dall'epoca 859, che inizia sabato 4 ottobre alle 4:00 ET. Viene applicata una commissione fissa del 5% sulle ricompense per la firma dei blocchi e sulle commissioni prioritarie.

Le commissioni finanziano direttamente l'infrastruttura che rende possibile DoubleZero, incluse le linee in fibra fisica e le apparecchiature nei data center.

Un'esplorazione approfondita del perch\u00e9 esistono le commissioni e del modello di prezzi per i validatori \u00e8 disponibile qui.

Questa guida si concentra su come vengono pagate le commissioni dal punto di vista tecnico.

"},{"location":"it/paying-fees/#modello-di-liquidazione","title":"Modello di Liquidazione","text":""},{"location":"it/paying-fees/#stima-delle-commissioni","title":"Stima delle Commissioni","text":"

Stime storiche e dati per chiave pubblica sono disponibili nel Repository Stime Commissioni. Il repository non sostituisce i dati on-chain. Sei responsabile del saldo on-chain, non del saldo in questo repository.

Domande? Contatta Nihar Shah a nihar@doublezero.us

"},{"location":"it/paying-fees/#dettagli-per-sviluppatori","title":"Dettagli per Sviluppatori","text":""},{"location":"it/paying-fees/#interfaccia-a-riga-di-comando","title":"Interfaccia a Riga di Comando","text":"

La CLI DoubleZero fornisce comandi per gestire i depositi dei validatori e monitorare i saldi. Avrai bisogno di SOL nell'account da cui esegui questi comandi per pagare il gas.

"},{"location":"it/paying-fees/#passo-1-comprendere-il-debito-dovuto","title":"Passo 1: Comprendere il Debito Dovuto","text":"

Per visualizzare il debito a un indirizzo specifico puoi usare questo formato:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Esaminiamo un esempio di output di seguito:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
Nell'output di esempio ci sono due possibili output sotto note. Not funded significa che l'account non \u00e8 stato finanziato. Nell'esempio, 0.632515639 SOL needed \u00e8 l'importo in sospeso di SOL necessario per pagare tutti i debiti attualmente dovuti associati all'ID Validatore target.

"},{"location":"it/paying-fees/#passo-2-pagare-il-debito-dovuto","title":"Passo 2: Pagare il Debito Dovuto","text":"

Note

Puoi pianificare l'esecuzione di questo comando a intervalli regolari.

Per pagare il debito dovuto puoi usare il seguente comando. Utilizzer\u00e0 automaticamente il keypair predefinito in $HOME/.config/solana/id.json

Puoi specificare il keypair con cui vuoi pagare il debito aggiungendo l'argomento -k path/to/keypair.json alla fine del comando.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
Di seguito \u00e8 fornito un esempio di output

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: restituisce l'account di deposito che \u00e8 stato finanziato

Funded: restituisce l'hash della transazione, che puoi cercare nel tuo explorer Solana preferito

Node ID: restituisce l'ID Validatore per cui \u00e8 stato effettuato il pagamento

Balance: restituisce l'importo di SOL nell'account di deposito, dopo il completamento del trasferimento

"},{"location":"it/paying-fees2z/","title":"Paying fees2z","text":"

Prima di accedere o utilizzare il codice o i materiali correlati, si prega di leggere il disclaimer.

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.

Disclaimer

Il presente documento e il codice correlato vengono forniti esclusivamente a scopo informativo e tecnico. La funzionalit\u00e0 di conversione token descritta in questo documento \u00e8 di tipo non-custodial. Gli utenti interagiscono direttamente con gli smart contract sottostanti, mantenendo sempre il controllo completo dei propri asset.

Il sistema pu\u00f2 dipendere da o interagire con codice di terze parti, fonti di dati o meccanismi di prezzo e commissioni (ad esempio smart contract, API o exchange decentralizzati) non sviluppati, gestiti o revisionati dagli sviluppatori e dagli emittenti. Non vengono fornite dichiarazioni o garanzie sull'accuratezza, la funzionalit\u00e0 o la sicurezza dei componenti di terze parti. Gli sviluppatori e gli emittenti di questo codice non garantiscono la sua accuratezza, completezza o disponibilit\u00e0 continua. Il codice e i materiali correlati vengono forniti \"COS\u00cc COME SONO\" e possono contenere errori, difetti o vulnerabilit\u00e0. L'utilizzo \u00e8 a proprio rischio. Gli sviluppatori e gli emittenti non riceveranno alcuna commissione per l'utilizzo di questi contratti. Non vi \u00e8 alcun obbligo di mantenimento, aggiornamento o supporto del codice o della documentazione correlata.

Il presente documento non costituisce un'offerta, una sollecitazione o una raccomandazione a partecipare alla conversione di token, allo scambio o ad altre transazioni. Non vengono forniti consulenze legali, finanziarie o di investimento. Gli utenti sono i soli responsabili della determinazione della legalit\u00e0 delle proprie attivit\u00e0. Prima di utilizzare il codice o partecipare alle conversioni, \u00e8 necessario consultare le leggi e i regolamenti applicabili nella propria giurisdizione e consultare consulenti indipendenti. L'uso \u00e8 vietato dove illegale, incluso da parte di persone o organizzazioni sanzionate o da regioni soggette a restrizioni.

Nella misura massima consentita dalla legge, gli sviluppatori e gli emittenti declinano qualsiasi responsabilit\u00e0 per perdite, danni o reclami derivanti da o correlati all'uso del codice o alla partecipazione alle conversioni.

La revisione e l'utilizzo del presente documento e del codice correlato sono soggetti ai Termini di Utilizzo del Sito Web e ai Termini di Utilizzo del Protocollo.

I validatori possono pagare le commissioni in 2Z tramite il programma di conversione on-chain. La conversione viene eseguita scambiando 2Z per SOL. Il saldo SOL dell'account di deposito viene aggiornato in base alla conversione.

Questo processo utilizza sempre incrementi di 1 SOL. Il risultato di questa conversione va sempre direttamente all'account di deposito. \u00c8 unidirezionale: non \u00e8 possibile recuperare 2Z o SOL da questa transazione. Viene inviata al modulo di distribuzione on-chain.

"},{"location":"it/paying-fees2z/#passo-1","title":"Passo 1","text":"

Prima controlla il tasso di conversione corrente

doublezero-solana revenue-distribution fetch sol-conversion\n

Output:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"it/paying-fees2z/#passo-2","title":"Passo 2","text":"

Invia un ordine a prezzo limite. Questa conversione viene eseguita a tuo rischio. Non raccomandiamo alcuna propensione al rischio; l'esempio fornito qui \u00e8 solo a scopo educativo.

"},{"location":"it/paying-fees2z/#come-costruire-un-ordine-a-prezzo-limite","title":"Come costruire un ordine a prezzo limite","text":"

Sulla base dell'esempio sopra, invieremo un ordine a prezzo limite superiore del 5% al prezzo stimato. 797.76 * 1.05 = 837.65

In questo esempio, supponiamo che ci siano 0 SOL nell'account di deposito.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Il --fund 1 nel comando sopra aggiunge esplicitamente 1 SOL all'account di deposito.

La scelta di un numero diverso da 1 risulter\u00e0 in un errore che ti notifica dell'importo errato:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Ti verr\u00e0 chiesto di confermare la transazione:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

Output:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Nota che dopo una conversione riuscita, il Balance: verr\u00e0 aggiornato a 1 SOL.

Se il prezzo supera l'intervallo specificato, si verificher\u00e0 il seguente tipo di errore:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"it/quick-connect/","title":"Connessione Rapida","text":"

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.

Rispondi ad alcune domande e genereremo una guida di connessione personalizzata con i passaggi esatti e i comandi per la tua configurazione.

Guida Semplificata

Questo wizard fornisce snippet chiave dalla documentazione completa per connetterti il pi\u00f9 rapidamente possibile. Per dettagli completi, consulta le guide Setup e Tenant.

A quale rete ti stai connettendo? Mainnet-Beta Rete di produzione per validatori attivi e operatori RPC Testnet Rete di test e sviluppo Quale sistema operativo utilizza il tuo server? Ubuntu / Debian Ubuntu 22.04+ o Debian 11+ Rocky Linux / RHEL Rocky Linux o RHEL 8+ Quale ecosistema? Solana Validatori e operatori RPC su Solana Shelby RPC e Nodi di Storage su Shelby (solo Testnet) Nuovo Tenant Altri ecosistemi Quale strumento firewall utilizzi? iptables Regole iptables dirette UFW Uncomplicated Firewall Che tipo di nodo stai eseguendo? Validatore Validatore Solana con pianificazione leader e keypair di identit\u00e0 Non-validatore (RPC) Nodo RPC o infrastruttura MEV Di quale modalit\u00e0 di connessione hai bisogno? Unicast (IBRL) Connessione punto-a-punto standard Multicast Consegna di pacchetti one-to-many (publisher/subscriber) Entrambe Tunnel unicast e multicast simultanei Qual \u00e8 il tuo ruolo multicast? Publisher Invia dati a un gruppo multicast (es. produttore di blocchi) Subscriber Ricevi dati da un gruppo multicast"},{"location":"it/setup/","title":"Configurazione di DoubleZero","text":"

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.

Terminologia

Nuovo a DoubleZero? Consulta il Glossario per le definizioni di termini come doublezerod, IBRL, DZD e altri.

Connettendosi a DoubleZero, accetti i Termini di Servizio DoubleZero

"},{"location":"it/setup/#prerequisiti","title":"Prerequisiti","text":"

Warning

Per i validatori: DoubleZero deve essere installato direttamente sull'host del validatore, non in un container.

"},{"location":"it/setup/#connessione-a-doublezero","title":"Connessione a DoubleZero","text":"

Il Testnet DoubleZero e il Mainnet Beta DoubleZero sono reti fisicamente distinte. Scegli la rete appropriata durante l'installazione.

Unendoti a DoubleZero, stabilisci una identit\u00e0 DoubleZero (una chiave pubblica chiamata DoubleZero ID). Questa chiave \u00e8 uno dei modi in cui DoubleZero identifica la tua macchina.

"},{"location":"it/setup/#1-installa-il-pacchetto-doublezero","title":"1. Installa il pacchetto DoubleZero","text":"

Versione Corrente

Pacchetto Mainnet Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Segui le istruzioni seguenti in base al tuo sistema operativo:

"},{"location":"it/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

Deployment corrente raccomandato per Mainnet Beta:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Deployment corrente raccomandato per Testnet:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"it/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

Deployment corrente raccomandato per Mainnet Beta:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Deployment corrente raccomandato per Testnet:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Solo utenti esistenti: Passaggio del pacchetto da Testnet a Mainnet Beta, o da Mainnet Beta a Testnet

Installando dai repository di pacchetti sopra, il Testnet DoubleZero o il Mainnet Beta DoubleZero hanno ciascuno il proprio repository dedicato. Se ad un certo punto devi cambiare rete, dovrai rimuovere il repository del pacchetto precedentemente installato e aggiornare al repository target.

Questo esempio mostra la migrazione da Testnet a Mainnet Beta.

Seguendo gli stessi passaggi ma sostituendo il passaggio 3 con il comando di installazione Testnet sopra, \u00e8 possibile completare la migrazione da Mainnet Beta a Testnet.

  1. Trova i vecchi file del repository

    Prima, identifica i file di configurazione del repository DoubleZero esistenti sul sistema:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Rimuovi i vecchi file del repository

    Rimuovi i vecchi file del repository trovati nel passaggio precedente. Ad esempio:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Installa dal nuovo repository

    Aggiungi il nuovo repository Mainnet Beta e installa l'ultimo pacchetto:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<versione_corrente_raccomandata_sopra>\n
"},{"location":"it/setup/#controlla-lo-stato-di-doublezerod","title":"Controlla lo stato di doublezerod","text":"

Dopo l'installazione del pacchetto, verr\u00e0 installata, abilitata e avviata una nuova unit\u00e0 systemd. Per controllare lo stato, esegui il seguente comando:

sudo systemctl status doublezerod\n

"},{"location":"it/setup/#configurazione-firewall-per-gre-e-bgp","title":"Configurazione Firewall per GRE e BGP","text":"

DoubleZero utilizza tunnel GRE (protocollo IP 47) e routing BGP (tcp/179 per indirizzi link-local). Assicurati che il tuo firewall consenta questi protocolli:

Consenti GRE e BGP con iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

O consenti GRE e BGP con UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"it/setup/#2-crea-una-nuova-identita-doublezero","title":"2. Crea una Nuova Identit\u00e0 DoubleZero","text":"

Usa il seguente comando per creare un'identit\u00e0 DoubleZero sul server:

doublezero keygen\n

Info

Se hai un ID esistente che vuoi utilizzare, puoi seguire i passaggi opzionali seguenti.

Crea la directory di configurazione di doublezerod

mkdir -p ~/.config/doublezero\n

Copia o collega il file id.json che vuoi usare in DoubleZero nella directory di configurazione doublezero.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"it/setup/#3-ottieni-lidentita-doublezero-del-server","title":"3. Ottieni l'Identit\u00e0 DoubleZero del Server","text":"

Conferma la tua identit\u00e0 DoubleZero. Questa identit\u00e0 viene utilizzata per creare la connessione tra la tua macchina e DoubleZero.

doublezero address\n

Output:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"it/setup/#4-conferma-che-doublezerod-ha-rilevato-i-dispositivi-dz","title":"4. Conferma che doublezerod ha Rilevato i Dispositivi DZ","text":"

Prima di connetterti, conferma che doublezerod ha rilevato e pingato ogni switch DZ testnet disponibile:

doublezero latency\n

Esempio di output:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Se i dispositivi non appaiono nell'output, attendi 10-20 secondi e riprova.

"},{"location":"it/setup/#5-disconnettiti-da-doublezero","title":"5. Disconnettiti da DoubleZero","text":"

La sezione successiva configurer\u00e0 l'ambiente DoubleZero. Per garantire il successo, disconnetti la sessione corrente. Questo evita problemi con pi\u00f9 tunnel aperti sulla macchina.

Conferma

doublezero status\n

Se lo stato \u00e8 up, esegui:

doublezero disconnect\n
"},{"location":"it/setup/#passo-successivo-tenant","title":"Passo Successivo: Tenant","text":"

La connessione a DoubleZero varia in base al caso d'uso. In DoubleZero, i tenant sono gruppi con profili utente simili. Ad esempio: blockchain, livelli di trasferimento dati, ecc.

"},{"location":"it/setup/#seleziona-il-tenant-e-continua-qui","title":"Seleziona il Tenant e Continua qui","text":""},{"location":"it/setup/#opzionale-abilitare-le-metriche-prometheus","title":"Opzionale: Abilitare le Metriche Prometheus","text":"

Gli operatori che conoscono le metriche Prometheus potrebbero voler abilitarle per il monitoraggio DoubleZero. Questo ti permetter\u00e0 di ottenere informazioni sulle prestazioni del client DoubleZero, sullo stato della connessione e sulla salute operativa.

"},{"location":"it/setup/#metriche-disponibili","title":"Metriche Disponibili","text":"

DoubleZero espone diverse metriche chiave: - Informazioni di build: versione, hash commit, data di build - Stato della sessione: se la sessione DoubleZero \u00e8 attiva - Metriche di connessione: latenza e informazioni di connessione - Dati di prestazione: throughput e tassi di errore

"},{"location":"it/setup/#abilitazione-delle-metriche-prometheus","title":"Abilitazione delle Metriche Prometheus","text":"

Per abilitare le metriche Prometheus sul client DoubleZero, segui questi passaggi:

"},{"location":"it/setup/#1-modifica-il-comando-di-avvio-del-servizio-systemd-doublezerod","title":"1. Modifica il comando di avvio del servizio systemd doublezerod","text":"

Crea o modifica la configurazione di override systemd:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Sostituisci con questa configurazione:

Il flag -env deve puntare a testnet o mainnet-beta a seconda della rete da cui vuoi raccogliere dati. Nel blocco di esempio viene utilizzato testnet. Se necessario, pu\u00f2 essere cambiato in mainnet-beta.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"it/setup/#2-ricarica-e-riavvia-il-servizio","title":"2. Ricarica e riavvia il servizio","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"it/setup/#3-conferma-che-le-metriche-siano-disponibili","title":"3. Conferma che le metriche siano disponibili","text":"

Conferma che l'endpoint delle metriche stia rispondendo:

curl -s localhost:2113/metrics | grep doublezero\n

Output atteso:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"it/setup/#risoluzione-dei-problemi","title":"Risoluzione dei Problemi","text":"

Se le metriche non vengono visualizzate:

  1. Controlla lo stato del servizio: sudo systemctl status doublezerod
  2. Verifica la configurazione: sudo systemctl cat doublezerod
  3. Controlla i log: sudo journalctl -u doublezerod -f
  4. Testa l'endpoint: curl -v localhost:2113/metrics
  5. Controlla la porta: netstat -tlnp | grep 2113
"},{"location":"it/setup/#configurazione-del-server-prometheus","title":"Configurazione del Server Prometheus","text":"

La configurazione e la sicurezza esulano dall'ambito di questo documento. Grafana \u00e8 un'ottima opzione per la visualizzazione, e la documentazione Grafana qui descrive come raccogliere metriche Prometheus.

"},{"location":"it/setup/#dashboard-grafana-opzionale","title":"Dashboard Grafana (Opzionale)","text":"

Per la visualizzazione, puoi creare una dashboard Grafana con le metriche DoubleZero. I pannelli comuni includono: - Stato della sessione nel tempo - Informazioni di build - Tendenze della latenza di connessione - Monitoraggio del tasso di errore

"},{"location":"it/tenant/","title":"Tenant","text":"

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.

I tenant su DoubleZero sono gruppi di utenti con profili e requisiti di connessione simili, che tipicamente rappresentano diversi ecosistemi blockchain, livelli di trasferimento dati o sistemi distribuiti.

Esamina la tabella seguente e scegli il caso d'uso che descrive meglio come intendi interagire con la rete DoubleZero.

Solana

Caso d'Uso Prossimo Passo Validatore Solana Mainnet, inclusi i backup Connessione DoubleZero Mainnet-Beta Validatore Solana Testnet, inclusi i backup Connessione DoubleZero Testnet Non-Validatori - RPC e altri. Connessione DoubleZero Mainnet-Beta e Testnet

Shelby

Caso d'Uso Prossimo Passo RPC Shelby Testnet e Nodi di Storage Connessione DoubleZero Testnet

Nuovo Tenant

Caso d'Uso Prossimo Passo Hai un nuovo protocollo, applicazione o altro caso d'uso per sfruttare DoubleZero Aggiungi un Nuovo Tenant"},{"location":"it/troubleshooting/","title":"Risoluzione dei Problemi","text":"

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.

Questa guida copre una variet\u00e0 di problemi ed \u00e8 in continuo aggiornamento. Se completi la guida puoi cercare ulteriore supporto nel Discord DoubleZero Tech.

"},{"location":"it/troubleshooting/#comandi-comuni-e-output","title":"Comandi Comuni e Output","text":"

Per iniziare, esamina l'output dei seguenti comandi e il loro output atteso. Questi ti aiuteranno nella risoluzione dei problemi pi\u00f9 dettagliata. Se apri un ticket, potrebbe essere richiesto l'output di questi comandi.

"},{"location":"it/troubleshooting/#1-controlla-la-versione","title":"1. Controlla la Versione","text":"

Comando:

doublezero --version

Output di esempio:

DoubleZero 0.6.3\n

"},{"location":"it/troubleshooting/#2-controlla-lindirizzo-doublezero","title":"2. Controlla l'Indirizzo DoubleZero","text":"

Comando:

doublezero address

Output di esempio:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"it/troubleshooting/#3-verifica-il-tuo-pass-di-accesso","title":"3. Verifica il tuo Pass di Accesso","text":"

Chiave pubblica di esempio: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 - sostituiscila con la tua chiave pubblica quando esegui il comando.

Comando:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Output: [nota che usiamo doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' per mostrare l'intestazione in questo output]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"it/troubleshooting/#4-controlla-i-crediti-del-registro-doublezero","title":"4. Controlla i Crediti del Registro DoubleZero","text":"

Comando:

doublezero balance

Output di esempio:

0.78 Credits\n

"},{"location":"it/troubleshooting/#5-controlla-lo-stato-della-connessione","title":"5. Controlla lo Stato della Connessione","text":"

Comando:

doublezero status

Output di esempio:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"it/troubleshooting/#6-controlla-la-latenza","title":"6. Controlla la Latenza","text":"

Comando:

doublezero latency

Output di esempio:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"it/troubleshooting/#esempi-di-risoluzione-dei-problemi","title":"Esempi di Risoluzione dei Problemi","text":"

Ora che abbiamo esaminato gli output di base e ci\u00f2 che \u00e8 atteso in un deployment sano, possiamo esaminare alcuni esempi comuni di risoluzione dei problemi.

"},{"location":"it/troubleshooting/#problema-error-creating-user","title":"Problema: \u274c Error creating user","text":"

Questo problema \u00e8 generalmente correlato a una mancata corrispondenza tra la coppia chiave pubblica/IP attesa e quella che l'utente sta cercando di usare per accedere a DoubleZero.

Sintomi: - Quando si connette con doublezero connect ibrl l'utente incontra \u274c Error creating user

Soluzioni: 1. Controlla

`doublezero address`\n\nOutput di esempio:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. Verifica che questo indirizzo sia nella lista consentita:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Output di esempio:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    La chiave pubblica da doublezero address deve corrispondere alla chiave pubblica user_payer e l'indirizzo IP da cui stai cercando di connetterti deve corrispondere all'IP nell'Access-Pass. doublezero address \u00e8 originato dal file id.json in ~/.config/doublezero/ per impostazione predefinita. Vedi il passaggio 6 qui

  2. Se quanto sopra sembra corretto e stai ricevendo un errore durante la connessione, o se la mappatura sopra \u00e8 errata, contatta il supporto in DoubleZero Tech

"},{"location":"it/troubleshooting/#problema-error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Problema: \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

Questo errore indica che un dispositivo \u00e8 gi\u00e0 connesso a DoubleZero.

Sintomi: - L'utente cerca di connettersi a DoubleZero - Viene incontrato \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time.

Soluzioni: 1. Controlla doublezero status

Output:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. -up- indica una connessione sana.
  2. L'errore appare perch\u00e9 un tunnel a DoubleZero con il DoubleZero IP specifico \u00e8 gi\u00e0 attivo su questa macchina.

    Questo errore si verifica spesso dopo un aggiornamento del client DoubleZero. Gli aggiornamenti DoubleZero riavviano automaticamente il servizio doublezerod e ti riconnetteranno se eri connesso prima del riavvio del servizio.

"},{"location":"it/troubleshooting/#problema-lo-stato-doublezero-e-unknown-o-down","title":"Problema: Lo Stato DoubleZero \u00e8 unknown o down","text":"

Questo problema \u00e8 spesso correlato al tunnel GRE attivato con successo tra il server e il DoubleZero Device, ma un firewall che impedisce l'instaurazione della sessione BGP. Per questo motivo non stai ricevendo route dalla rete n\u00e9 inviando traffico su DoubleZero.

Sintomi: - doublezero connect ibrl \u00e8 riuscito. Tuttavia, doublezero status restituisce down o unknown

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

Soluzioni: 1. Controlla le tue regole firewall!

DoubleZero utilizza lo spazio degli indirizzi link-local: 169.254.0.0/16 per le interfacce tunnel GRE tra la tua macchina e il DoubleZero Device. 169.254.0.0/16 \u00e8 tipicamente spazio \"non instradabile\" e pertanto le buone pratiche di sicurezza raccomandano di bloccare le comunicazioni verso/da questo spazio. Dovrai autorizzare una regola nel tuo firewall che consenta a src 169.254.0.0/16 di comunicare con dst 169.254.0.0/16 sulla porta tcp 179. Quella regola dovr\u00e0 essere posizionata sopra qualsiasi regola che nega il traffico verso 169.254.0.0/16.

In un firewall come ufw puoi eseguire `sudo ufw status` per visualizzare le regole del firewall.\n\nOutput di esempio che potrebbe essere simile a quello di un validatore Solana.\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\nNell'output sopra vedi che tutto il traffico verso 169.254.0.0/16, eccetto le porte specificate, viene negato.\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` per inserire la regola nella posizione <N>. Cio\u00e8, se N = 1 inserirai questa regola come prima regola.\n`sudo ufw status numbered` ti mostrer\u00e0 l'ordinamento numerico delle regole.\n
"},{"location":"it/troubleshooting/#problema-il-dispositivo-doublezero-piu-vicino-e-cambiato","title":"Problema: Il dispositivo DoubleZero pi\u00f9 vicino \u00e8 cambiato","text":"

Non si tratta di un errore, ma pu\u00f2 essere un'ottimizzazione. Di seguito \u00e8 riportata una best practice che pu\u00f2 essere eseguita di tanto in tanto, o automatizzata.

Soluzioni:

  1. Controlla la latenza verso il dispositivo pi\u00f9 vicino

    • esegui doublezero latency

      output

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      nota sopra che il dispositivo pi\u00f9 vicino \u00e8 dz-ny7-sw01

      Vogliamo connetterci a questo dispositivo.

  2. Determina se sei gi\u00e0 connesso al dispositivo target

    • esegui doublezero user list --env testnet | grep 111.11.11.11 sostituendo 111.11.11.11 con l'indirizzo IPv4 pubblico del tuo dispositivo connesso a DoubleZero.

      output

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      In questo esempio, siamo gi\u00e0 connessi al dispositivo pi\u00f9 vicino. Non sono necessari altri passaggi, possiamo fermarci qui.

  3. Opzionale: esamina la rete per i dispositivi disponibili

    • esegui doublezero device list per un elenco completo dei dispositivi.

      output:

      account                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      Nota che ams001-dz002 ha 69 utenti e 128 max utenti. Questo dispositivo pu\u00f2 aggiungere 59 utenti.

      Tuttavia, dz-fr5-sw01 ha 0 utenti e 0 max utenti. Non potrai connetterti a questo dispositivo.

  4. Determina se il dispositivo target ha una connessione disponibile

    • esegui doublezero device list | grep dz-ny7-sw01

      output

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n

  5. Connettiti al DoubleZero Device pi\u00f9 vicino

    Prima esegui - doublezero disconnect

    poi controlla lo stato con - doublezero status

    poi riconnettiti con - doublezero connect ibrl

    output

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"it/troubleshooting/#problema-doublezero-status-restituisce-alcuni-campi-con-na","title":"Problema: doublezero status restituisce alcuni campi con N/A","text":"

Questo problema \u00e8 generalmente correlato a una mancata corrispondenza tra il daemon e il client correnti, rispetto al daemon e al client con cui \u00e8 stato stabilito il tunnel DZ connesso.

Sintomi: - Quando si esegue doublezero status l'utente incontra N/A in alcuni campi

Soluzioni: 1. Esegui doublezero status

Esempio:\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\nNota nell'esempio sopra che il `Tunnel status` \u00e8 `up`. La nostra `Network` \u00e8 `mainnet-beta`. Tuttavia, `Current Device` e `Metro` sono `N/A`.\n\nQuesto indica un tunnel aperto sulla tua macchina che non \u00e8 nel tuo ambiente corrente.\nIn questo caso lo stato `up`, senza `Current Device` trovato su `mainnet-beta`, ci rivela che il nostro tunnel \u00e8 su testnet!\n
  1. Cambia il tuo ambiente.

    Per correggere la mancata corrispondenza cambierai il tuo ambiente all'opposto dell'ambiente che restituisce il N/A

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al mainnet-beta DoubleZero:

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Controlla il tuo stato

    Dopo aver cambiato ambiente esegui:

    doublezero status\n

    L'output atteso dovrebbe essere simile a:

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    Con tutti i campi popolati sei ora nell'ambiente corretto.

"}]} \ No newline at end of file +{"config":{"lang":["en","zh","ja","ko","pt","es","fr","it"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to DoubleZero","text":"

DoubleZero is a high-performance decentralized protocol and network, optimized for distributed systems, like blockchains. Users of DoubleZero enjoy an integrated service for highly- optimized transmission and pre-processing of distributed systems data.

"},{"location":"#who-is-doublezero-for","title":"Who is DoubleZero for?","text":""},{"location":"#contributors","title":"Contributors","text":"

DoubleZero contributors have network capacity in the form of underutilized private fiber links and hardware (e.g. switches and FPGA devices). Configuring these resources to extend the DoubleZero network creates an integrated information service. Using the DZ protocol, network contributors stitch this network capacity into a dynamic and expansive global mesh network and receive token incentives for their contribution.

"},{"location":"#users","title":"Users","text":"

DoubleZero users participate in distributed systems, such as blockchains, that require high-performance network connectivity. Interconnecting a blockchain system with DoubleZero, users gain a bundling of optimization features to accelerate their network I/O.

In its initial implementation, the DoubleZero network is compatible with blockchain validator clients as well as RPC and MEV infrastructure providers. These user systems undergo admission control by verifying their uniquely identifying public key addresses on their respective ledgers before allowing them access to the network. As the network evolves to include user systems from other ecosystems, additional identification and authentication strategies will be added tailored to each user project community.

"},{"location":"#benefits","title":"Benefits","text":"

The only alternative to DoubleZero is the public internet. Compared to the public internet, the DoubleZero network offers two improvements to blockchains.

First, inbound transactions can be edge-filtered in a non-discretionary way at the network contributor hardware level (i.e. removal of spam and duplicates) prior to being sent over to users (e.g., blockchain nodes) of the DoubleZero network. This allows blockchains to benefit from shared system-wide filtration resources rather than needing each individual validator to provision sufficient resources. As a result, validators can reallocate their resources towards directly revenue-generating activities. This feature is not yet functional.

Second, outbound messages are routed more directly and prioritized to improve efficiency. This is possible since in DoubleZero the routing logic of global data movement is optimized for speed, unlike the public internet. Thus, validators benefit from reduced jitter, which is defined as the amount of variation in latency between two data cable endpoints. In essence, blockchain nodes can send and receive blocks faster.

Taken together, these DoubleZero network benefits can achieve levels of performance that are otherwise unobtainable via the public internet.

For more details, see the DoubleZero Protocol whitepaper.

"},{"location":"#next-steps","title":"Next Steps","text":""},{"location":"DZ%20Mainnet-beta%20Connection/","title":"Validator Mainnet-Beta Connection in IBRL Mode","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"DZ%20Mainnet-beta%20Connection/#connecting-to-mainnet-beta-in-ibrl-mode","title":"Connecting to Mainnet-Beta in IBRL Mode","text":"

Note

IBRL mode does not require restarting validator clients, because it uses your existing public IP address.

Solana Mainnet Validators will complete connection to DoubleZero Mainnet-beta, which is detailed on this page.

Each Solana validator has its own identity keypair; from this, extract the public key known as the node ID. This is the validator's unique fingerprint on the Solana network.

With the DoubleZeroID and node ID identified, you will prove ownership of your machine. This is done by creating a message which includes the DoubleZeroID signed with the validator's identity key. The resulting cryptographic signature serves as verifiable proof that you control the validator.

Finally, you will submit a connection request to DoubleZero. This request communicates: \"Here is my identity, here is proof of ownership, and here is how I intend to connect.\" DoubleZero validates this information, accepts the proof, and provisions network access for the validator on DoubleZero.

This guide allows for 1 Primary Validator to register itself, and up to 3 backup/failover machines at the same time.

"},{"location":"DZ%20Mainnet-beta%20Connection/#prerequisites","title":"Prerequisites","text":"

Info

The Validator ID will be checked against Solana gossip to determine the target IP. The target IP, and the DoubleZero ID will then be used when opening a GRE tunnel between your machine and the target DoubleZero Device.

Consider: In the case where you have a junk ID and Primary ID on at the same IP, only the Primary ID will be used in registration of the machine. This is because the junk ID will not appear in gossip, and therefore cannot be used to verify the IP of the target machine.

"},{"location":"DZ%20Mainnet-beta%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero mainnet-beta:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

You should see the following output: \u2705 doublezerod configured for environment mainnet-beta

After about 30 seconds you will see the DoubleZero devices available:

doublezero latency\n
Example output (Mainnet-Beta)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
Testnet output will be identical in structure, but with fewer devices.

"},{"location":"DZ%20Mainnet-beta%20Connection/#2-open-port-44880","title":"2. Open port 44880","text":"

Users need to open port 44880 to utilize some routing features.

To open port 44880 you could update IP tables such as:

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

note the -i doublezero0, -o doublezero0 flags which restrict this rule to only the DoubleZero interface

Or UFW such as:

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

note the in on doublezero0, out on doublezero0 flags which restrict this rule to only the DoubleZero interface

"},{"location":"DZ%20Mainnet-beta%20Connection/#3-attest-validator-ownership","title":"3. Attest Validator Ownership","text":"

With your DoubleZero Environment set, it is now time to attest to your Validator Ownership.

The DoubleZero ID you created in the setup of your primary validator must be used on all backup machines.

The ID on your primary machine can be found with doublezero address The same ID must be in ~/.config/doublezero/id.json on all machines in the cluster.

In order to accomplish this you will first verify the machine you are running the commands from is your Primary Validator with:

doublezero-solana passport find-validator -u mainnet-beta\n

This verifies that the validator is registered in gossip and appears in the leader schedule.

Expected output:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

The same workflow is used for one, or many machines. To register one machine exclude the arguments \"--backup-validator-ids\" or \"backup_ids=\" from any commands on this page.

Now, on all backup machines you intend to run your Primary Validator on execute the following:

doublezero-solana passport find-validator -u mainnet-beta\n

Expected output:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
This output is expected. The backup node cannot be in the leader schedule at time of pass creation.

You will now run this command on all backup machines you plan to use your Primary Validator vote account, and identity on.

"},{"location":"DZ%20Mainnet-beta%20Connection/#prepare-the-connection","title":"Prepare the Connection","text":"

Run the following command on the Primary Validator machine. This is the machine you have active stake on, that is in the leader schedule with your primary validator ID in solana gossip on the machine you are running the command from:

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

Example output:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Note the output at the end of this command. It is the structure for the next step.

"},{"location":"DZ%20Mainnet-beta%20Connection/#4-generate-signature","title":"4. Generate Signature","text":"

At the end of the last step, we received a pre-formatted output for solana sign-offchain-message

From the above output we will run this command on the Primary Validator machine.

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

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"DZ%20Mainnet-beta%20Connection/#5-initiate-a-connection-request-in-doublezero","title":"5. Initiate a Connection Request in DoubleZero","text":"

Use the request-validator-access command to create an account on Solana for the connection request. The DoubleZero Sentinel agent detects the new account, validates its identity and signature, and creates the access pass in DoubleZero so the server can establish a connection.

Use the node ID, DoubleZeroID, and signature.

Note

In this example we use -k /home/user/.config/solana/id.json to find the validator Identity. Use the appropriate location for your local deployment.

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

Output:

This output can be used to see the transaction on a Solana explorer. Be sure to change the explorer to mainnet. This verification is optional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

If successful, DoubleZero will register the primary with its backups. You may now failover between the IPs registered in the access pass. DoubleZero will maintain connectivity automatically when switching to backup nodes registered in this way.

"},{"location":"DZ%20Mainnet-beta%20Connection/#6-connect-in-ibrl-mode","title":"6. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the GRE tunnel to finish setting up. Until the GRE tunnel is done setting up, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Note

Examine this output. Notice that the Tunnel src, and the DoubleZero IP match the public ipv4 address on your machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"DZ%20Mainnet-beta%20Connection/#up-next-publishing-shreds-via-multicast","title":"Up Next: Publishing Shreds via Multicast","text":"

If you have completed this setup and plan publishing shreds via multicast, proceed to the next page.

"},{"location":"DZ%20Testnet%20Connection/","title":"Validator Testnet Connection in IBRL Mode","text":"By connecting to DoubleZero testnet I agree to the terms of the Evaluation Agreement set forth here (click to expand)

DoubleZero Testnet Evaluation Agreement

By accessing or using the Solution (defined below), you agree as of the first date of such access (the \"Effective Date\") that this Evaluation Agreement (the \"Agreement\") sets forth the terms and conditions under which DoubleZero Foundation (\"DZF\") will provide you (\"User\" or \"you\") access to the Solution on an evaluation basis. In consideration of the mutual promises herein, you agree as follows:

1. DEFINITIONS.

1.1 \"Confidential Information\" means any and all information disclosed by either party to the other which is designated as confidential, or which should otherwise be understood to be confidential, including but not limited to, the Solution, product plans, business plans, trade secrets, technology, or any other proprietary information.

1.2 \"Solution\" means the testnet version of the DoubleZero high-performance network infrastructure for web3 projects (\"Testnet\") and related edge filtering service with integrated bandwidth (\"Information Service\") the DZ Software (defined below), any and all materials provided by DZF relating to the DZ Software (\"Documentation\"), and other materials that DZF provides to User hereunder.

2. ACCESS.

2.1 Access to Solution. Subject to the terms and conditions of this Agreement, DZF will provide User access to the Solution through the Internet. User's access is a non-exclusive, non-transferable, limited use of the Solution to enable User to evaluate the Information Service only. With respect to any software comprising the Solution (\"DZ Software\"), DZF hereby grants User a limited, revocable license, during the Evaluation Period, to copy, download, make a reasonable number of copies of, run, and deploy (as applicable) such DZ Software solely as contemplated by the Documentation.

2.2 Restrictions. User may use the Solution in accordance with this Agreement from the Effective Date until terminated by DZF (the \"Evaluation Period\"). User understands that any rights to use the Solution beyond the Evaluation Period will be subject to a separate commercial agreement between the parties with respect thereto, including the payment of fees. User shall not, and shall not permit any third party to: (i) modify or create any derivative works based on the Solution or any portion thereof; (ii) reproduce the Solution except as expressly permitted by this Agreement; (iii) sublicense, distribute, sell, lend, rent, lease, transfer, or grant any rights in or to all or any portion of the Solution or provide access to the Solution to third parties, on a service bureau basis or otherwise, except as an offering of the Information Services through or in connection with User's platform or product and not on a standalone basis; or (iv) use the Solution other than as provided herein.

2.3 Ownership. DZF retains all right, title and interest, including intellectual property rights, in and to the Solution.

3 FEEDBACK. DZF may periodically request that User provide, and User agrees to provide to DZF, feedback regarding the use, operation, and functionality of the Solution (\"Feedback\"). User hereby grants DZF a non-exclusive, worldwide, perpetual, irrevocable, royalty-free, fully paid-up, fully sublicensable and transferable right and license to use and incorporate Feedback into any products and services, to make, use, sell, offer for sale, import, and otherwise exploit such products and services, and to otherwise use, copy, distribute, and otherwise exploit the Feedback without restriction.

4. TERM AND TERMINATION.

4.1 Term. This Agreement will commence as of the Effective Date and will remain in full force and effect for the Evaluation Period. Either party may terminate this Agreement immediately for convenience, for any reason or no reason, upon written notice to the other party (email to suffice).

4.1 Effects of Termination. Upon termination of this Agreement for any reason: (i) the rights granted to User hereunder will immediately terminate; (ii) User shall immediately discontinue any use of the Solution and shall return or destroy all Documentation and any DZ Software under its control; (iii) each party shall promptly return or destroy all Confidential Information and property of the other party; and (iv) Sections 2.2, 2.3, 3, 4.2, and 5 through 8 will survive.

5. CONFIDENTIALITY. Each party agrees that it will use the Confidential Information of the other party solely to perform its obligations and exercise its rights under this Agreement and it will not disclose, or permit to be disclosed, the same, except as otherwise permitted hereunder. However, either party may disclose Confidential Information to its personnel, attorneys, and other representatives who have a need to know and are bound by confidentiality obligations no less protective than those set forth in this Agreement; and as required by law (in which case the receiving party will provide the disclosing party with prior notice thereof and opportunity to contest such disclosure, and will minimize such disclosure to the extent permitted by applicable law). The obligations of confidentiality in this Section 5 shall not apply to information that: (a) is or becomes generally known or publicly available through no fault of the receiving party; (b) was properly known to the receiving party, without restriction, prior to disclosure by the disclosing party; (c) was properly disclosed to the receiving party, without restriction, by another person with the legal authority to do so; or (d) is independently developed by the receiving party without use of or reference to the disclosing party's Confidential Information. Each party agrees to exercise due care in protecting the Confidential Information of the other party from unauthorized use and disclosure. In the event of actual or threatened breach of the provisions of this Section or the licenses contained herein, the non-breaching party will be entitled to seek immediate injunctive and other equitable relief, without waiving any other rights or remedies available to it. User is responsible for maintaining the Solution and the secrecy of any passwords, seed phrases, or codes that provide access to the Solution as the Confidential Information of DZF. Nothing herein limits or restricts DZF's right or ability to use data regarding the performance, availability, usage, integrity and security of the Solution. If either party breaches, or threatens to breach the provisions of this Section 5, each party agrees that the non-breaching party will have no adequate remedy at law and is therefore entitled to immediate injunctive and other equitable relief, without bond and without the necessity of showing actual money damages.

6. WARRANTY DISCLAIMER; LIMITATION OF LIABILITY.

6.1 WARRANTY DISCLAIMER. THE SOLUTION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. DZF MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE WITH RESPECT TO THE SOLUTION AND DOCUMENTATION INCLUDING THEIR CONDITION, CONFORMITY TO ANY REPRESENTATION OR DESCRIPTION, AND DZF SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.

6.2 LIMITATION OF LIABILITY. EXCEPT FOR A BREACH OF SECTIONS 2.1, 2.2, AND 5, IN NO EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER FOR INDIRECT, INCIDENTAL, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES, INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF PROFITS OR USE OR LOSS OF DATA, INCURRED BY YOU OR ANY THIRD PARTY, ARISING OUT OF OR RELATED TO THIS AGREEMENT WHETHER IN AN ACTION IN CONTRACT, TORT, OR OTHERWISE, EVEN IF THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT SHALL DZF'S AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THIS AGREEMENT EXCEED ONE HUNDRED DOLLARS ($100), WHETHER AN ACTION IN CONTRACT, TORT, OR OTHERWISE. THE FOREGOING LIMITATIONS WILL APPLY NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY HEREIN. THE PARTIES AGREE THAT THE FOREGOING LIMITATIONS REPRESENT A REASONABLE ALLOCATION OF RISK UNDER THIS AGREEMENT.

7. GOVERNING LAW. This Agreement and all matters arising out of or relating to this Agreement shall be governed, interpreted and constructed in accordance with the laws of the Cayman Islands. Should a controversy, dispute or claim arise out of or in relation to this Agreement (\"Dispute\"), the relevant party as appropriate, must give 30 days' notice of such Dispute to the other parties (the \"Notice of Dispute\"). Should the Dispute not be resolved at the expiration of 30 days after service of the Notice of Dispute, the relevant party may commence arbitration proceedings as provided herein. Should the Dispute remain at the expiration of 30 days after service of the Notice of Dispute, the Dispute shall be settled by arbitration administered by the Cayman International Mediation & Arbitration Centre (CI-MAC) in accordance with the CI-MAC Arbitration Rules (the \"Arbitration Rules\") in force as at the date of this Agreement, which Arbitration Rules are deemed to be incorporated by reference to this clause, and governed by the Arbitration Act (as amended). The arbitration shall be seated in George Town, Grand Cayman, Cayman Islands and governed by Cayman Islands law. The language of the arbitration shall be English. The arbitration shall be determined by a sole arbitrator to be appointed in accordance with the Arbitration Rules. Any award or decision made by the arbitrator shall be in writing and shall be final and binding on the parties without any right of appeal, and judgment upon any award thus obtained may be entered in or enforced by any court having jurisdiction thereof. No action at law or in equity based upon any claim arising out of or related to this Agreement shall be instituted in any court of any jurisdiction. If any litigation or arbitration is necessary to enforce the terms of this Agreement, the prevailing party will be entitled to have their attorney fees paid by the other party. Each party waives any right it may have to assert the doctrine of forum non conveniens, to assert that it is not subject to the jurisdiction of such arbitration or courts or to object to venue to the extent any proceeding is brought in accordance herewith.

8. GENERAL PROVISIONS. This Agreement may not be transferred or assigned by User without the prior written consent of DZF. DZF may freely assign this Agreement. All notices required to be sent hereunder shall be sent by email (to DZF: legal@doublezero.xyz) and deemed received the day after sending (with transmission confirmed). If any provision of this Agreement is held to be invalid or unenforceable, the remaining provisions of this Agreement will remain in full force and effect. The waiver by either party of any default or breach of this Agreement shall not constitute a waiver of any other or subsequent default or breach. Neither party shall be liable for any delay or failure in performance due to acts of God, earthquakes, shortages of supplies, transportation difficulties, labor disputes, riots, war, fire, epidemics, and similar occurrences beyond its control, whether or not foreseeable. This Agreement together with any attachments constitutes the complete agreement between the parties and supersedes all prior or contemporaneous agreements or representations, written or oral, concerning the subject matter herein. This Agreement may not be modified or amended except in writing signed by a duly authorized representative of each party.

"},{"location":"DZ%20Testnet%20Connection/#connecting-to-testnet-in-ibrl-mode","title":"Connecting to Testnet in IBRL Mode","text":"

Note

IBRL mode does not require restarting validator clients, because it uses your existing public IP address.

Solana Testnet Validators will complete connection to DoubleZero Testnet, which is detailed on this page.

Each Solana validator has its own identity keypair; from this, extract the public key known as the node ID. This is the validator's unique fingerprint on the Solana network.

With the DoubleZeroID and node ID identified, you will prove ownership of your machine. This is done by creating a message which includes the DoubleZeroID signed with the validator's identity key. The resulting cryptographic signature serves as verifiable proof that you control the validator.

Finally, you will submit a connection request to DoubleZero. This request communicates: \"Here is my identity, here is proof of ownership, and here is how I intend to connect.\" DoubleZero validates this information, accepts the proof, and provisions network access for the validator on DoubleZero.

This guide allows for 1 Primary Validator to register itself, and up to 3 backup/failover machines at the same time.

"},{"location":"DZ%20Testnet%20Connection/#prerequisites","title":"Prerequisites","text":"

Info

The Validator ID will be checked against Solana gossip to determine the target IP. The target IP, and the DoubleZero ID will then be used when opening a GRE tunnel between your machine and the target DoubleZero Device.

Consider: In the case where you have a junk ID and Primary ID on at the same IP, only the Primary ID will be used in registration of the machine. This is because the junk ID will not appear in gossip, and therefore cannot be used to verify the IP of the target machine.

"},{"location":"DZ%20Testnet%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
You should see the following output:
\u2705 doublezerod configured for environment testnet\n

After about 30 seconds you will see the DoubleZero devices available:

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

Mainnet output will be identical in structure, but with many more available devices.

"},{"location":"DZ%20Testnet%20Connection/#2-open-port-44880","title":"2. Open port 44880","text":"

Users need to open port 44880 to utilize some routing features.

To open port 44880 you could update IP tables such as:

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

note the -i doublezero0, -o doublezero0 flags which restrict this rule to only the DoubleZero interface

Or UFW such as:

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

note the in on doublezero0, out on doublezero0 flags which restrict this rule to only the DoubleZero interface

"},{"location":"DZ%20Testnet%20Connection/#3-attest-validator-ownership","title":"3. Attest Validator Ownership","text":"

With your DoubleZero Environment set, it is now time to attest to your Validator Ownership.

The DoubleZero ID you created in the setup of your primary validator must be used on all backup machines.

The ID on your primary machine can be found with doublezero address The same ID must be in ~/.config/doublezero/id.json on all machines in the cluster.

In order to accomplish this you will first verify the machine you are running the commands from is your Primary Validator with:

doublezero-solana passport find-validator -ut\n

This verifies that the validator is registered in gossip and appears in the leader schedule.

Expected output:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

The same workflow is used for one, or many machines. To register one machine exclude the arguments \"--backup-validator-ids\" or \"backup_ids=\" from any commands on this page.

Now, on all backup machines you intend to run your Primary Validator on execute the following:

doublezero-solana passport find-validator -ut\n

Expected output:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
This output is expected. The backup node cannot be in the leader schedule at time of pass creation.

You will now run this command on all backup machines you plan to use your Primary Validator vote account, and identity on.

"},{"location":"DZ%20Testnet%20Connection/#prepare-the-connection","title":"Prepare the Connection","text":"

Run the following command on the Primary Validator machine. This is the machine you have active stake on, that is in the leader schedule with your primary validator ID in solana gossip on the machine you are running the command from:

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

Example output:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Note the output at the end of this command. It is the structure for the next step.

"},{"location":"DZ%20Testnet%20Connection/#4-generate-signature","title":"4. Generate Signature","text":"

At the end of the last step, we received a pre-formatted output for solana sign-offchain-message

From the above output we will run this command on the Primary Validator machine.

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

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"DZ%20Testnet%20Connection/#5-initiate-a-connection-request-in-doublezero","title":"5. Initiate a Connection Request in DoubleZero","text":"

Use the request-validator-access command to create an account on Solana for the connection request. The DoubleZero Sentinel agent detects the new account, validates its identity and signature, and creates the access pass in DoubleZero so the server can establish a connection.

Use the node ID, DoubleZeroID, and signature.

Note

In this example we use -k /home/user/.config/solana/id.json to find the validator Identity. Use the appropriate location for your local deployment.

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

Output:

This output can be used to see the transaction on a Solana explorer. Be sure to change the explorer to testnet. This verification is optional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

If successful, DoubleZero will register the primary with its backups. You may now failover between the IPs registered in the access pass. DoubleZero will maintain connectivity automatically when switching to backup nodes registered in this way.

"},{"location":"DZ%20Testnet%20Connection/#6-connect-in-ibrl-mode","title":"6. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the GRE tunnel to finish setting up. Until the GRE tunnel is done setting up, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Note

Examine this output. Notice that the Tunnel src, and the DoubleZero IP match the public ipv4 address on your machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"DZ%20Testnet%20Connection/#up-next-publishing-shreds-via-multicast","title":"Up Next: Publishing Shreds via Multicast","text":"

If you have completed this setup and plan publishing shreds via multicast, proceed to the next page.

"},{"location":"New%20Tenant/","title":"New Tenant","text":"

If you would like your distributed system to leverage the DoubleZero network, we\u2019re happy to assist with any technical questions you may have.

Contact Us Form

"},{"location":"Other%20Multicast%20Connection/","title":"Other Multicast Connection","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

Use Case First Step When Approve, connect via: Subscribe to Jito Shredstream Contact Jito for approval. doublezero connect multicast --subscribe jito-shredstream

Detailed connection information:

"},{"location":"Other%20Multicast%20Connection/#1-doublezero-client-installation","title":"1. DoubleZero Client Installation","text":"

Please follow the setup instructions to Install and configure the DoubleZero client.

"},{"location":"Other%20Multicast%20Connection/#2-connection-instructions","title":"2. Connection Instructions","text":"

Connect to DoubleZero in Multicast Mode As a publisher:

doublezero connect multicast --publish <feed name>

or as a subscriber:

doublezero connect multicast --subscribe <feed name>

or to publish and subscribe:

doublezero connect multicast --publish <feed name> --subscribe <feed name>

To publish or subscribe to multiple feeds you can include multiple feed names space separated. This can also be use to publish and subscribe to publish feeds. For example doublezero connect multicast --subscribe feed1 feed2 feed3

You should see output similar to the following:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"Other%20Multicast%20Connection/#3-verify-your-active-multicast-connection","title":"3. Verify your active multicast connection.","text":"

Wait for 60 seconds and then run

doublezero status\n
Expected result: - BGP Session Up on the correct DoubleZero Network - If you are a publisher, your DoubleZero IP will be different than your Tunnel Src IP. This is expected. - If you are a subscriber only, your DoubleZero IP will be the same as your Tunnel Src IP.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verify the groups you're connected to:

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"Permissioned%20Connection/","title":"Non-Validator Permissioned Connection to DoubleZero in IBRL Mode","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"Permissioned%20Connection/#permissioned-user-onboarding-overview","title":"Permissioned User Onboarding Overview","text":"

User onboarding is currently permissioned for non-validators and RPCs. To begin the permissioned flow, please fill out this form. Here is what to expect during this process:

"},{"location":"Permissioned%20Connection/#connecting-to-mainnet-beta-and-testnet-in-ibrl-mode","title":"Connecting to Mainnet-Beta and Testnet in IBRL Mode","text":"

Note

IBRL mode does not require restarting validator clients, because it uses your existing public IP address.

Permissioned Users will complete connection to DoubleZero Mainnet-beta, which is detailed on this page.

"},{"location":"Permissioned%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero mainnet-beta:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

You should see the following output:

\u2705 doublezerod configured for environment mainnet-beta\n
You should see the following output: \u2705 doublezerod configured for environment testnet

After about 30 seconds you will see the DoubleZero devices available:

doublezero latency\n
Example output (Testnet)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable \n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true      \n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true      \n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true      \n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true      \n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true      \n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true      \n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true      \n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true      \n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true      \n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true      \n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true           \n
Testnet output will be identical in structure, but with many more available devices.

"},{"location":"Permissioned%20Connection/#2-contact-the-doublezero-foundation","title":"2. Contact the DoubleZero Foundation","text":"

The DoubleZero foundation. You will need to provide your DoubleZeroID, your Validator ID (node ID), and the public ipv4 address you will be connecting from.

"},{"location":"Permissioned%20Connection/#3-connect-in-ibrl-mode","title":"3. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the tunnel to complete. Until the tunnel is completed, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100 \n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64 \n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64 \n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64 \n...\n
"},{"location":"Permissioned%20Connection/#up-next-multicast","title":"Up Next: Multicast","text":"

If you have completed this setup and plan to use Multicast, proceed to the next page.

"},{"location":"Shelby%20Permissioned%20Connection/","title":"Connection to DoubleZero in IBRL Mode for Shelby Testnet Users","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"Shelby%20Permissioned%20Connection/#get-your-doublezeroid","title":"Get your DoubleZeroID","text":"

You will need to provide your DoubleZeroID, and the public ipv4 address on this form

"},{"location":"Shelby%20Permissioned%20Connection/#connecting-to-testnet-in-ibrl-mode","title":"Connecting to Testnet in IBRL Mode","text":"

Shelby permissioned users will complete connection to DoubleZero Testnet, which is detailed on this page.

"},{"location":"Shelby%20Permissioned%20Connection/#1-environment-configuration","title":"1. Environment Configuration","text":"

Please follow the setup instructions before proceeding.

The last step in setup was to disconnect from the network. This is to ensure that only one tunnel is open on your machine to DoubleZero, and that tunnel is on the correct network.

To configure the DoubleZero Client CLI (doublezero) to connect to the Shelby tenant on DoubleZero :

doublezero config set --tenant shelby\n

Apply additional Firewall rules specific to Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"Shelby%20Permissioned%20Connection/#2-contact-the-doublezero-foundation","title":"2. Contact the DoubleZero Foundation","text":"

The DoubleZero foundation. You will need to provide your DoubleZeroID, and the public ipv4 address you will be connecting from.

"},{"location":"Shelby%20Permissioned%20Connection/#3-connect-in-ibrl-mode","title":"3. Connect in IBRL Mode","text":"

On the server, with the user which will connect to DoubleZero, run the connect command to establish the connection to DoubleZero.

doublezero connect ibrl\n

You should see output indicating provisioning, such as:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Wait one minute for the tunnel to complete. Until the tunnel is completed, your status output may return \"down\" or \"Unknown\"

Verify your connection:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
A status of up means you are successfully connected.

You will be able to view routes propagated by other users on DoubleZero by running:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Review the Disclaimer before accessing or using the code or any related materials.

Disclaimer

This document and the associated code are provided for informational and technical purposes only. The token conversion functionality described herein is non-custodial\u2014users interact directly with the underlying smart contracts and retain full control of their assets at all times.

The system may rely on or interact with third-party code, data sources, or pricing and fee mechanisms (for example, smart contracts, APIs, or decentralized exchanges) that are not developed, controlled, or reviewed by the developer(s) or publisher(s). No representation or warranty is made as to the accuracy, functionality, or security of any third-party component. The developer(s) and publisher(s) of this code do not guarantee its accuracy, completeness, or continued availability. The code and related materials are provided \u201cas is\u201d, and may contain bugs, errors, or vulnerabilities. Use is entirely at your own risk. The developer(s) and publisher(s) do not receive any fees in connection with the use of these contracts. They are under no obligation to maintain, update, or support the code or related documentation.

This document does not constitute an offer to sell, a solicitation to buy, or a recommendation to participate in any token conversion, swap or other transaction. No legal, financial, or investment advice is provided. Users are solely responsible for determining the legality of their activities. They should review the laws and regulations applicable in their jurisdiction and consult independent advisors before using the code or participating in any conversion. Use is prohibited where it would be unlawful, including by persons or entities subject to sanctions or in restricted jurisdictions.

To the maximum extent permitted by law, the developer(s) and publisher(s) disclaim all liability for any loss, damage, or claim arising from or in connection with use of the code or participation in the conversion.

Review and use of this document and the associated code are subject to the Website Terms and Conditions and Protocol Terms and Conditions.

The DoubleZero protocol collects SOL-denominated revenue from its validator users but distributes 2Z-denominated rewards to contributors. Thus, it must convert SOL into 2Z.

To do so, eligible participants can trade against a DoubleZero swap contract, purchasing SOL from the contract and selling it 2Z. Pricing is based on Pyth price feeds with a programmatic discount mechanism.

This short guide explains how to use the program.

Review the Disclaimer at the end of this document before accessing or using the code or any related materials.

"},{"location":"Swapping-sol-to-2z/#program-design","title":"Program Design","text":"

The swap program is effectively a one-sided liquidity pool that sells SOL in a fixed batch size of 1 SOL per trade. Any eligible participant can withdraw SOL from the program by depositing 2Z, at a price that is determined by an oracle price from Pyth and a dynamic discount. Over time, this executes the program\u2019s goal of turning native tokens into 2Z.

To utilize, a trader must provide two recent Pyth prices (SOL/USD and 2Z/USD) and a quantity of 2Z. The program then calculates the 2Z needed to purchase that 1 SOL based on the implied SOL/2Z price. It then takes a few additional steps:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

At this point, if the trader has provided enough 2Z to execute the transaction at this computed price (inclusive of the discount), it executes at this computed price. It returns to the trader the purchased quantity of SOL and any excess 2Z.

The contract then permits no more trades for that slot. This is to prevent the contract from paying excessively high slippage should the Pyth price be far from the true price at any given point in time in ways that the existing filters do not catch issues.

"},{"location":"Swapping-sol-to-2z/#gasless-atomic-execution","title":"Gasless Atomic Execution","text":"

This section will detail how to use the command harvest-dz. This command will atomically perform 2 actions. 1. The command requests a quote from Jupiter vs the native SOL <> 2Z conversion program. 2. When the Jupiter route yields more 2Z per SOL than the native conversion program requires, harvest-2z executes a swap, returning to your wallet 1 SOL plus the difference in 2Z.

"},{"location":"Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

To execute, run the following:

doublezero-solana revenue-distribution harvest-2z\n
Output will resemble:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
The command can also be simulated with the --dry-run argument. Dry-run will produce program logs and an output resembling:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"Swapping-sol-to-2z/#protocol-conversion","title":"Protocol Conversion","text":"

This section discusses checking conversion rates and executing the conversion using the doublezero-solana CLI. And at the end, we discuss the interface for custom-built integrations with the DoubleZero swap contract.

"},{"location":"Swapping-sol-to-2z/#how-to-check-the-sol2z-conversion-price-via-doublezero-solana","title":"How to check the SOL/2Z conversion price via doublezero-solana","text":"

To find the SOL/2Z conversion rates on mainnet-beta, run the following command:

doublezero-solana revenue-distribution fetch sol-conversion\n

And the output you would see will resemble:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

The Journal Balance informs the user how much SOL liquidity there is in the Revenue Distribution smart contract. A user can trade as long as the Journal Balance exceeds the fixed trade size of 1 SOL.

The first row displays the \"true\" SOL/2Z conversion price via an offchain oracle. The second row is the conversion price used on-chain for the swap, which simply adjusts the true price for the algorithmic discount.

"},{"location":"Swapping-sol-to-2z/#how-to-convert-your-2z-to-sol-via-doublezero-solana","title":"How to convert your 2Z to SOL via doublezero-solana","text":"

To convert your 2Z tokens to SOL, run the following command:

doublezero-solana revenue-distribution convert-2z\n

By default, if there is enough SOL liquidity and your ATA has enough 2Z to perform the swap, this transaction will succeed. You can more finely-tune the swap by specifying the following arguments:

      --limit-price <DECIMAL>                    Limit price defaults to the current SOL/2Z oracle price\n      --source-2z-account <PUBKEY>               Token account must be owned by the signer. Defaults to signer ATA if not specified\n      --checked-sol-amount <SOL>                 Explicitly check SOL amount. When specified, this amount will be checked against the fixed fill quantity\n

The specified limit price determines the worst-case price you are willing to accept when performing the SOL/2Z conversion. For example, let us say the discounted 2Z price for SOL is 800, which means 800 2Z tokens for 1 SOL. If you specify a limit price of 790, you are not willing to perform the swap because you are requiring that you only swap at most 790 2Z tokens for 1 SOL. But if you specify 810, the trade will go through because you were willing to swap at most 810 2Z tokens (and in this case, you will have only swapped 800 2Z tokens in this transaction).

The source 2Z token account overrides the default ATA using the signer as the owner of this 2Z ATA. But if you have another token account you want to use to perform the swap, provide the pubkey for it with this argument.

Optionally, you may specify the checked SOL amount to the standard fill size (set to 1 SOL at launch). If it does not align with the program\u2019s fill size, the swap fails. This mitigates the risk that the program\u2019s fill size changes and you do not notice.

"},{"location":"Swapping-sol-to-2z/#interface-to-buy-sol","title":"Interface to Buy SOL","text":"

The interface and doublezero-solana CLI live in this repo. The source code for the DoubleZero swap contract interface can be found here. The program ID is 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

A convenient way of generating the accounts needed for the buy SOL instruction is using the new method (found in instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

The fill_registry_key can be fetched either from the ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // this key\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternatively, you can call getProgramAccounts via Solana RPC with its discriminator. But we recommend caching this pubkey since it will never change.

The user_key is a signer for the buy SOL instruction and must be the owner of the user_token_account_key. As described above, this does NOT need to be an ATA. As long as your 2Z token account is owned by the user_key, this instruction will succeed.

The BuySolAccounts struct implements Into<Vec<AccountMeta>> so you can generate all of the account metas you need in order to build the instruction.

Instruction data is

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

This instruction data is Borsh-serialized and has an 8-byte Anchor selector, which will all serialize when using BorshSerialize::serialize.

The oracle price data can be fetched from this public endpoint: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. The data is serde-deserializable using the OraclePriceData struct found in oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Example of how to fetch using the reqwest crate:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

With the program ID, accounts and instruction data, you should be able to build the instruction to buy SOL from the DoubleZero swap contract.

"},{"location":"Validator%20Multicast%20Connection/","title":"Validator Multicast Connection","text":"

By connecting to DoubleZero I agree to the DoubleZero Terms of Service

Trading firms and businesses

If you operate a trading firm or business looking to subscribe to the feed, more details will be shared soon. Please register interest to get more information here.

If you are not already connected to DoubleZero please complete Setup, and Mainnet-Beta validator connection documentation.

If you are a validator who is already connected to DoubleZero you may continue this guide.

"},{"location":"Validator%20Multicast%20Connection/#1-client-configuration","title":"1. Client Configuration","text":""},{"location":"Validator%20Multicast%20Connection/#jito-agave-v319","title":"Jito-Agave (v3.1.9+)","text":"
  1. In your validator start script, add: --shred-receiver-address 233.84.178.1:7733

    You are able to send to Jito and the bebop group at the same time.

    example:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...The rest of your config...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Restart your validator.

  3. Connect to the DoubleZero multicast group bebop as a publisher: doublezero connect ibrl && doublezero connect multicast --publish bebop
"},{"location":"Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. In config.toml, add:

    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Restart your validator.

  3. Connect to the DoubleZero multicast group bebop as a publisher: doublezero connect ibrl && doublezero connect multicast --publish bebop
"},{"location":"Validator%20Multicast%20Connection/#2-confirm-youre-publishing-leader-shreds","title":"2. Confirm you're publishing leader shreds","text":"

Once you are connected you may check this dashboard to confirm you are publishing shreds. You will not see confirmation until after you have published leader shreds for at least one slot.

"},{"location":"Validator%20Multicast%20Connection/#3-validator-rewards","title":"3. Validator Rewards","text":"

For each epoch where validators publish leader shreds, they will be proportionately rewarded for their contribution based on subscriptions. The specifics of this system will be announced, and detailed at a later date.

"},{"location":"Validator%20Multicast%20Connection/#troubleshooting","title":"Troubleshooting","text":""},{"location":"Validator%20Multicast%20Connection/#retransmitting","title":"Retransmitting:","text":"
  1. A common cause of shred retransmission is a simple config. You may have the flag enabled to send retransmit shreds in your startup script; you will need to disable it.

    The flag to remove in Jito-Agave is: --shred-retransmit-receiver-address.

  2. Check the publisher dashboard and see if you have any retransmitted shreds. In the table, look at the No Retransmit Shreds column\u2014a red X means you are retransmitting.

    epoch view

    Note that there are different time windows to view the publisher dashboard. If you see retransmit in the 2 epoch view, but have made a recent change, try switching to the recent slot view.

  3. Find your client IP and look up your user in DoubleZero Data.

  4. Click on Multicast to open your multicast view.

    The screenshot below shows: Retransmitting (undesirable) steady outbound traffic with no leader-slot pattern.

    The screenshot below shows: Healthy (publishing only leader shreds) outbound traffic in spikes, known as a sawtooth pattern, which line up with your leader slots.

The chart shows whether you are sending only leader shreds. Traffic spikes should line up with when you have a leader slot. When you have no leader slot there should be no traffic. If you are retransmitting, you will see a steady flow of traffic instead of slot-aligned spikes.

"},{"location":"architecture/","title":"Architecture","text":"

What makes up the different actors and components of the DoubleZero network?

Figure 1: Network architecture components"},{"location":"architecture/#contributors","title":"Contributors","text":"

The DoubleZero network is made up of connectivity and packet processing contributions from a growing community of distributed network infrastructure providers in cities across the globe. Contributors bring fiber optic cable links and information processing resources to the protocol to provide the decentralized mesh network.

"},{"location":"architecture/#network-bandwidth-contributors","title":"Network Bandwidth Contributors","text":"

Network contributors must provide dedicated bandwidth between two points, operate DoubleZero compatible devices (DZDs) at each end, and a connection to the internet at each end. Network contributors must also run DoubleZero software on each DZD to provide services like multicast, user lookup, and edge filtration services.

The physical links of the DoubleZero network are provided in the form of fiber optic cables, commonly referred to as wavelength services. Network contributors commit underutilized network links, owned or leased from infrastructure providers, between two or more data centers. These links are terminated at both ends by DoubleZero Devices, which are physical network switching enclosures running instances of the DoubleZero Agent software.

"},{"location":"architecture/#doublezero-exchange-dzx-cross-connect-site","title":"DoubleZero Exchange (DZX / Cross-connect Site)","text":"

DoubleZero Exchanges (DZXs) are interconnect points in the mesh network where different contributor links are bridged together. DZXs are located in major metropolitan areas around the world where network intersections occur. Network contributors must cross-connect their links into the broader DoubleZero mesh network at the DZXs geographically located nearest their link endpoints.

"},{"location":"architecture/#computational-resource-contributors","title":"Computational Resource Contributors","text":"

Separate from network contributors, resource contributors are a decentralized group of network participants that perform various maintenance and monitoring duties necessary to sustain the technical integrity and ongoing functionality of the DoubleZero network. Specifically, they (i) track user transactions and payments; (ii) calculate fees for network contributors; (iii) record the results of (i) and (ii); (iv) administer, strictly on a non-discretionary basis, the smart contracts that control protocol tokenomics; (v) relay attestations to the applicable blockchain; and (vi) publish telemetry data regarding link quality and utilization to provide transparent, real-time performance metrics for all network contributors.

"},{"location":"architecture/#components","title":"Components","text":""},{"location":"architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

The DoubleZero Daemon software runs on servers needing to communicate over the DoubleZero network. The daemon interfaces with the host's kernel networking stack to create and manage tunnel interfaces, routing tables, and routes.

"},{"location":"architecture/#activator","title":"Activator","text":"

The Activator service, hosted by one or more computational resource contributing members of the DoubleZero community, monitors contract events that require IP address allocations and state changes and manages those changes on behalf of the network.

"},{"location":"architecture/#controller","title":"Controller","text":"

The Controller service, hosted by one or more computational resource contributors of the DoubleZero community, serves as the configuration interface for DoubleZero Device Agents to render their current configuration based on smart contract events.

"},{"location":"architecture/#agent","title":"Agent","text":"

The Agent software runs directly on DoubleZero Devices and applies configuration changes to the devices as interpreted by the Controller service. The Agent software polls the Controller for configuration changes, computes any differences between the canonical on-chain version of the Device state and the active configuration on the device and applies the necessary changes to reconcile the active configuration.

"},{"location":"architecture/#device","title":"Device","text":"

The physical device enclosure providing the routing and link termination for the DoubleZero network. DZDs run the DoubleZero Agent software and are configured based on data read from the Controller service.

"},{"location":"connect/","title":"Connect","text":"

If you are not redirected, click here.

"},{"location":"contribute-operations/","title":"Operations Guide for Contributors","text":"

This guide covers the ongoing operational tasks for maintaining your DoubleZero Devices (DZDs), including agent upgrades, device/interface updates, and link management.

Prerequisites: Before using this guide, ensure you have:

"},{"location":"contribute-operations/#device-updates","title":"Device Updates","text":"

Use doublezero device update to modify device settings after initial provisioning.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Common update options:

Option Description --device-type <TYPE> Change operating mode: hybrid, transit, edge (see Device Types) --location <LOCATION> Move device to a different location --metrics-publisher <PUBKEY> Change the metrics publisher key"},{"location":"contribute-operations/#interface-updates","title":"Interface Updates","text":"

Use doublezero device interface update to modify existing interfaces. This command accepts the same options as interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

For the full list of interface options including CYOA/DIA settings, see Creating Interfaces.

Example - Add CYOA settings to an existing interface:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"contribute-operations/#list-interfaces","title":"List Interfaces","text":"
doublezero device interface list              # All interfaces across all devices\ndoublezero device interface list <DEVICE>     # Interfaces for a specific device\n
"},{"location":"contribute-operations/#config-agent-upgrade","title":"Config Agent Upgrade","text":"

When a new version of the Config Agent is released, follow these steps to upgrade.

"},{"location":"contribute-operations/#1-download-the-latest-version","title":"1. Download the latest version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"contribute-operations/#2-shutdown-the-agent","title":"2. Shutdown the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#3-remove-the-old-version","title":"3. Remove the old version","text":"

First, find the filename of the old version:

switch# show extensions\n

Run the following commands to remove the old version. Replace <OLD_VERSION> with the old version from the output above:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"contribute-operations/#4-install-the-new-version","title":"4. Install the new version","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-operations/#5-unshut-the-agent","title":"5. Unshut the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#6-verify-the-upgrade","title":"6. Verify the upgrade","text":"

The Status should be \"A, I, B\".

switch# show extensions\n

"},{"location":"contribute-operations/#7-verify-config-agent-log-output","title":"7. Verify Config Agent Log Output","text":"
show agent doublezero-agent log\n
"},{"location":"contribute-operations/#telemetry-agent-upgrade","title":"Telemetry Agent Upgrade","text":"

When a new version of the Telemetry Agent is released, follow these steps to upgrade.

"},{"location":"contribute-operations/#1-download-the-latest-version_1","title":"1. Download the latest version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"contribute-operations/#2-shutdown-the-agent_1","title":"2. Shutdown the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#3-remove-the-old-version_1","title":"3. Remove the old version","text":"

First, find the filename of the old version:

switch# show extensions\n

Run the following commands to remove the old version. Replace <OLD_VERSION> with the old version from the output above:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"contribute-operations/#4-install-the-new-version_1","title":"4. Install the new version","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-operations/#5-unshut-the-agent_1","title":"5. Unshut the agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"contribute-operations/#6-verify-the-upgrade_1","title":"6. Verify the upgrade","text":"

The Status should be \"A, I, B\".

switch# show extensions\n

"},{"location":"contribute-operations/#7-verify-telemetry-agent-log-output","title":"7. Verify Telemetry Agent Log Output","text":"
show agent doublezero-telemetry log\n
"},{"location":"contribute-operations/#monitoring","title":"Monitoring","text":"

\u26a0\ufe0f Important:

  1. For the configuration examples below, please be mindful of whether your agents are using a management VRF.
  2. The configuration agent and telemetry agent use the same listening port (:8080) for their metrics endpoint by default. If you are enabling metrics on both, use the -metrics-addr flag to set unique listening ports for each agent.
"},{"location":"contribute-operations/#config-agent-metrics","title":"Config Agent Metrics","text":"

The configuration agent on the DoubleZero device has the ability to expose prometheus compatible metrics by setting the -metrics-enable flag in the doublezero-agent daemon configuration. The default listening port is tcp/8080 but can be changed to suit the environment via the -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

The following DoubleZero specific metrics are exposed along with go-specific runtime metrics:

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"contribute-operations/#high-signal-errors","title":"High Signal Errors","text":""},{"location":"contribute-operations/#telemetry-agent-metrics","title":"Telemetry Agent Metrics","text":"

The telemetry agent on the DoubleZero device has the ability to expose prometheus compatible metrics by setting the -metrics-enable flag in the doublezero-telemetry daemon configuration. The default listening port is tcp/8080 but can be changed to suit the environment via the -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

The following DoubleZero specific metrics are exposed along with go-specific runtime metrics:

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"contribute-operations/#high-signal-errors_1","title":"High Signal Errors","text":""},{"location":"contribute-operations/#link-management","title":"Link Management","text":""},{"location":"contribute-operations/#link-draining","title":"Link Draining","text":"

Link draining allows contributors to gracefully remove a link from active service for maintenance or troubleshooting. There are two drain states:

Status IS-IS Behavior Description soft-drained Metric set to 1,000,000 Link is deprioritized. Traffic will use alternate paths if available, but will still use this link if it's the only option. hard-drained Set to passive Link is completely removed from routing. No traffic will traverse this link."},{"location":"contribute-operations/#state-transitions","title":"State Transitions","text":"

The following state transitions are allowed:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (must go through soft-drained first)\n

\u26a0\ufe0f Note: You cannot go directly from hard-drained to activated. You must first transition to soft-drained, then to activated.

"},{"location":"contribute-operations/#soft-drain-a-link","title":"Soft Drain a Link","text":"

Soft draining deprioritizes a link by setting its IS-IS metric to 1,000,000. Traffic will prefer alternate paths but can still use this link if necessary.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"contribute-operations/#hard-drain-a-link","title":"Hard Drain a Link","text":"

Hard draining removes the link from routing entirely by setting IS-IS to passive mode. No traffic will traverse this link.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"contribute-operations/#restore-a-link-to-active","title":"Restore a Link to Active","text":"

To return a drained link to normal operation:

# From soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# From hard-drained (must go through soft-drained first)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"contribute-operations/#delay-override","title":"Delay Override","text":"

The delay override feature allows contributors to temporarily change a link's effective delay without modifying the actual measured delay value. This is useful for temporary demoting a link from primary to secondary path.

"},{"location":"contribute-operations/#set-a-delay-override","title":"Set a Delay Override","text":"

To override a link's delay (making it less preferred in routing):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

Valid values are 0.01 to 1000 milliseconds.

"},{"location":"contribute-operations/#clear-a-delay-override","title":"Clear a Delay Override","text":"

To remove the override and return to using the actual measured delay:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Note: When a link is soft-drained, both delay_ms and delay_override_ms are overridden to 1000ms (1 second) to ensure deprioritization.

"},{"location":"contribute-overview/","title":"Contributor Documentation","text":"

Terminology

New to DoubleZero? See the Glossary for definitions of key terms like DZD, DZX, and CYOA.

Welcome to the DoubleZero contributor documentation. This section covers everything you need to become a network contributor.

Interested in becoming a network contributor?

Review the Requirements & Architecture page to understand the hardware, bandwidth, and connectivity needed to contribute to the DoubleZero network.

"},{"location":"contribute-overview/#onboarding-checklist","title":"Onboarding Checklist","text":"

Use this checklist to track your progress. All items must be complete before your contribution is technically operational.

"},{"location":"contribute-overview/#phase-1-prerequisites","title":"Phase 1: Prerequisites","text":""},{"location":"contribute-overview/#phase-2-account-setup","title":"Phase 2: Account Setup","text":""},{"location":"contribute-overview/#phase-3-device-provisioning","title":"Phase 3: Device Provisioning","text":""},{"location":"contribute-overview/#phase-4-link-establishment-agent-installation","title":"Phase 4: Link Establishment & Agent Installation","text":""},{"location":"contribute-overview/#phase-5-link-burn-in","title":"Phase 5: Link Burn-in","text":""},{"location":"contribute-overview/#phase-6-verification-activation","title":"Phase 6: Verification & Activation","text":""},{"location":"contribute-overview/#getting-help","title":"Getting Help","text":"

As part of onboarding, DZF will add you to the contributor Slack channels:

Channel Purpose #dz-contributor-announcements Official communications from DZF and Malbec Labs \u2014 CLI/agent upgrades, breaking changes, security announcements. Monitor for critical updates; ask questions in threads. #dz-contributor-incidents Unplanned service-impacting events. Incidents are posted automatically via the API/web form with severity and affected devices/links. Discussion and troubleshooting happens in threads. #dz-contributor-maintenance Planned maintenance activities (upgrades, repairs). Scheduled via the API/web form with planned start/end times. Discussion in threads. #dz-contributor-ops Open discussion for all contributors \u2014 operational questions, CLI help, sharing runbooks and playbooks.

You will also get a private DZ/Malbec Labs channel for direct support for your organization.

"},{"location":"contribute-overview/#dz-prefix-rules","title":"DZ Prefix Rules","text":"

Critical: DZ Prefix Pool Usage

The DZ prefix pool you provide is managed by the DoubleZero protocol for IP allocation.

How DZ prefixes are used:

You CANNOT use these addresses for:

Requirements:

If you need addresses for your own equipment (DIA interface IPs, management, etc.), use a separate address pool.

"},{"location":"contribute-overview/#quick-reference-key-terms","title":"Quick Reference: Key Terms","text":"

New to DoubleZero? Here are the essential terms (see full Glossary):

Term Definition DZD DoubleZero Device - your physical Arista switch running DZ agents DZX DoubleZero Exchange - metro interconnect point where contributors peer CYOA Choose Your Own Adventure - user connectivity method (GREOverDIA, GREOverFabric, etc.) DIA Direct Internet Access - internet connectivity required by all DZDs for controller and telemetry, commonly used as a CYOA type for user connectivity on edge/hybrid devices WAN Link Link between your own DZDs (same contributor) DZX Link Link to another contributor's DZD (requires mutual acceptance) Config Agent Polls controller, applies configuration to your DZD Telemetry Agent Collects TWAMP latency/loss metrics, submits to onchain ledger Service Key Your contributor identity key for CLI operations Metrics Publisher Key Key for signing telemetry submissions onchain"},{"location":"contribute-overview/#documentation-structure","title":"Documentation Structure","text":"Guide Description Requirements & Architecture Hardware specs, network architecture, bandwidth options Device Provisioning Step-by-step: keys \u2192 repo access \u2192 device \u2192 links \u2192 agents Operations Agent upgrades, link management, monitoring Glossary All DoubleZero terminology defined"},{"location":"contribute-overview/#network-basics-for-non-network-engineers","title":"Network Basics for Non-Network Engineers","text":"

If you're not from a network engineering background, here's a primer on concepts used in this documentation:

"},{"location":"contribute-overview/#ip-addressing","title":"IP Addressing","text":""},{"location":"contribute-overview/#network-layers","title":"Network Layers","text":""},{"location":"contribute-overview/#common-terms","title":"Common Terms","text":""},{"location":"contribute-overview/#doublezero-specific","title":"DoubleZero-Specific","text":"

Ready to begin? Start with Requirements & Architecture.

"},{"location":"contribute-provisioning/","title":"Device Provisioning Guide","text":"

This guide walks you through provisioning a DoubleZero Device (DZD) from start to finish. Each phase matches the Onboarding Checklist.

"},{"location":"contribute-provisioning/#how-it-all-fits-together","title":"How It All Fits Together","text":"

Before diving into the steps, here's the big picture of what you're building:

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero Ledger]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[Management Server<br/>DoubleZero CLI]\n        DZD[Your DZD<br/>Arista Switch]\n        DZD ---|WAN Link| DZD2[Your other DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[Their DZD]\n    end\n\n    subgraph Users\n        VAL[Validators]\n        RPC[RPC Nodes]\n    end\n\n    MGMT -.->|Registers devices,<br/>links, interfaces| SC\n    DZD ---|DZX Link| OtherDZD\n    VAL ---|Connect via Internet| DZD\n    RPC ---|Connect via Internet| DZD
"},{"location":"contribute-provisioning/#phase-1-prerequisites","title":"Phase 1: Prerequisites","text":"

Before you can provision a device, you need the physical hardware set up and some IP addresses allocated.

"},{"location":"contribute-provisioning/#what-you-need","title":"What You Need","text":"Requirement Why It's Needed DZD Hardware Arista 7280CR3A switch (see hardware specs) Rack Space 4U with proper airflow Power Redundant feeds, ~4KW recommended Management Access SSH/console access to configure the switch Internet Connectivity For metrics publishing and to fetch configuration from the controller Public IPv4 Block Minimum /29 for the DZ prefix pool (see below)"},{"location":"contribute-provisioning/#install-the-doublezero-cli","title":"Install the DoubleZero CLI","text":"

The DoubleZero CLI (doublezero) is used throughout provisioning to register devices, create links, and manage your contribution. It should be installed on a management server or VM \u2014 not on the DZD switch itself. The switch only runs the Config Agent and Telemetry Agent (installed in Phase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verify the daemon is running:

sudo systemctl status doublezerod\n

"},{"location":"contribute-provisioning/#understanding-your-dz-prefix","title":"Understanding Your DZ Prefix","text":"

Your DZ prefix is a block of public IP addresses that the DoubleZero protocol manages for IP allocation.

flowchart LR\n    subgraph \"Your /29 Block (8 IPs)\"\n        IP1[\"First IP<br/>Reserved for<br/>your device\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Assigned to| LO[Loopback100<br/>on your DZD]\n    IP2 -->|Allocated to| U1[User 1]\n    IP3 -->|Allocated to| U2[User 2]

How DZ prefixes are used:

DZ Prefix Rules

You CANNOT use these addresses for:

Requirements:

If you need addresses for your own equipment (DIA interface IPs, management, etc.), use a separate address pool.

"},{"location":"contribute-provisioning/#phase-2-account-setup","title":"Phase 2: Account Setup","text":"

In this phase, you create the cryptographic keys that identify you and your devices on the network.

"},{"location":"contribute-provisioning/#where-to-run-the-cli","title":"Where to Run the CLI","text":"

Do NOT install the CLI on your switch

The DoubleZero CLI (doublezero) should be installed on a management server or VM, not on your Arista switch.

flowchart LR\n    subgraph \"Management Server/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[Your Keypairs]\n    end\n\n    subgraph \"Your DZD Switch\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|Creates devices, links| BC[Blockchain]\n    CA -->|Pulls config| CTRL[Controller]\n    TA -->|Submits metrics| BC
Install on Management Server Install on Switch doublezero CLI Config Agent Your service keypair Telemetry Agent Your metrics publisher keypair Metrics publisher keypair (copy)"},{"location":"contribute-provisioning/#what-are-keys","title":"What Are Keys?","text":"

Think of keys like secure login credentials:

Both are cryptographic keypairs (a public key you share, a private key you keep secret).

flowchart LR\n    subgraph \"Your Keys\"\n        SK[Service Key<br/>~/.config/solana/id.json]\n        MK[Metrics Publisher Key<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Used for| CLI[CLI Commands<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Used for| TEL[Telemetry Agent<br/>Submits metrics onchain]
"},{"location":"contribute-provisioning/#step-21-generate-your-service-key","title":"Step 2.1: Generate Your Service Key","text":"

This is your main identity for interacting with DoubleZero.

doublezero keygen\n

This creates a keypair at the default location. The output shows your public key - this is what you'll share with DZF.

"},{"location":"contribute-provisioning/#step-22-generate-your-metrics-publisher-key","title":"Step 2.2: Generate Your Metrics Publisher Key","text":"

This key is used by the Telemetry Agent to sign metric submissions.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"contribute-provisioning/#step-23-submit-keys-to-dzf","title":"Step 2.3: Submit Keys to DZF","text":"

Contact the DoubleZero Foundation or Malbec Labs and provide:

  1. Your service key public key
  2. Your GitHub username (for repo access)

They will:

"},{"location":"contribute-provisioning/#step-24-verify-your-account","title":"Step 2.4: Verify Your Account","text":"

Once confirmed, verify your contributor account exists:

doublezero contributor list\n

You should see your contributor code in the list.

"},{"location":"contribute-provisioning/#step-25-access-the-contributors-repository","title":"Step 2.5: Access the Contributors Repository","text":"

The malbeclabs/contributors repository contains:

Follow the instructions there for device-specific configuration.

"},{"location":"contribute-provisioning/#phase-3-device-provisioning","title":"Phase 3: Device Provisioning","text":"

Now you'll register your physical device on the blockchain and configure its interfaces.

"},{"location":"contribute-provisioning/#understanding-device-types","title":"Understanding Device Types","text":"
flowchart TB\n    subgraph \"Edge Device\"\n        E[Edge DZD]\n        EU[Users connect here]\n        EU --> E\n        E <-->|DZX Link| ED[Other DZD]\n    end\n\n    subgraph \"Transit Device\"\n        T[Transit DZD]\n        T <-->|WAN Link| T2[Another DZD]\n        T <-->|DZX Link| TD[Other DZD]\n    end\n\n    subgraph \"Hybrid Device\"\n        H[Hybrid DZD]\n        HU[Users connect here]\n        HU --> H\n        H <-->|WAN Link| H2[Another DZD]\n        H <-->|DZX Link| HD[Other DZD]\n    end
Type What It Does When to Use Edge Accepts user connections only Single location, user-facing only Transit Moves traffic between devices Backbone connectivity, no users Hybrid Both user connections AND backbone Most common - does everything"},{"location":"contribute-provisioning/#step-31-find-your-location-and-exchange","title":"Step 3.1: Find Your Location and Exchange","text":"

Before creating your device, look up the codes for your data center location and nearest exchange:

# List available locations (data centers)\ndoublezero location list\n\n# List available exchanges (interconnect points)\ndoublezero exchange list\n
"},{"location":"contribute-provisioning/#step-32-create-your-device-onchain","title":"Step 3.2: Create Your Device Onchain","text":"

Register your device on the blockchain:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

Example:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Expected output:

Signature: 4vKz8H...truncated...7xPq2\n

Verify your device was created:

doublezero device list | grep nyc-dz001\n

Parameters explained:

Parameter What It Means --code A unique name for your device (e.g., nyc-dz001) --contributor Your contributor code (given by DZF) --device-type hybrid, transit, or edge --location Data center code from location list --exchange Nearest exchange code from exchange list --public-ip The public IP where users connect to your device via internet --dz-prefixes Your allocated IP block for users"},{"location":"contribute-provisioning/#step-33-create-required-loopback-interfaces","title":"Step 3.3: Create Required Loopback Interfaces","text":"

Every device needs two loopback interfaces for internal routing:

# VPNv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

Expected output (for each command):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"contribute-provisioning/#step-34-create-physical-interfaces","title":"Step 3.4: Create Physical Interfaces","text":"

Register the physical ports you'll use:

# Basic interface\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

Expected output:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"contribute-provisioning/#step-35-create-cyoa-interface-for-edgehybrid-devices","title":"Step 3.5: Create CYOA Interface (for Edge/Hybrid devices)","text":"

If your device accepts user connections, you need a CYOA (Choose Your Own Adventure) interface. This tells the system how users connect to you.

CYOA Types Explained:

Type Plain English Use When gre-over-dia Users connect via regular internet Most common - users connect via the dia to your DZD gre-over-private-peering Users connect via private link Users have direct connection to your network gre-over-public-peering Users connect via IX Users peer with you at an internet exchange gre-over-fabric Users on same local network Users in same data center gre-over-cable Direct cable to user Single dedicated user

Example - Standard internet users:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Expected output:

Signature: 2wLp8N...truncated...5vHt3\n

Parameters explained:

Parameter What It Means --interface-cyoa How users connect (see table above) --interface-dia dia if this is an internet-facing port --bandwidth Port speed in Mbps (10000 = 10Gbps) --cir Committed rate in Mbps (guaranteed bandwidth) --user-tunnel-endpoint This port accepts user tunnels"},{"location":"contribute-provisioning/#step-36-verify-your-device","title":"Step 3.6: Verify Your Device","text":"
doublezero device list\n

Example output:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Your device should appear with status activated.

"},{"location":"contribute-provisioning/#phase-4-link-establishment-agent-installation","title":"Phase 4: Link Establishment & Agent Installation","text":"

Links connect your device to the rest of the DoubleZero network.

"},{"location":"contribute-provisioning/#understanding-links","title":"Understanding Links","text":"
flowchart LR\n    subgraph \"Your Network\"\n        D1[Your DZD 1<br/>NYC]\n        D2[Your DZD 2<br/>LAX]\n    end\n\n    subgraph \"Other Contributor\"\n        O1[Their DZD<br/>NYC]\n    end\n\n    D1 ---|WAN Link<br/>Same contributor| D2\n    D1 ---|DZX Link<br/>Different contributors| O1
Link Type Connects Acceptance WAN Link Two of YOUR devices Automatic (you own both) DZX Link Your device to ANOTHER contributor Requires their acceptance"},{"location":"contribute-provisioning/#step-41-create-wan-links-if-you-have-multiple-devices","title":"Step 4.1: Create WAN Links (if you have multiple devices)","text":"

WAN links connect your own devices:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Example:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Expected output:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"contribute-provisioning/#step-42-create-dzx-links","title":"Step 4.2: Create DZX Links","text":"

DZX links connect your device directly to another contributor's DZD:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

Expected output:

Signature: 8mKp3W...truncated...2nRx7\n

After creating a DZX link, the other contributor must accept it:

# The OTHER contributor runs this\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

Expected output (for the accepting contributor):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"contribute-provisioning/#step-43-verify-links","title":"Step 4.3: Verify Links","text":"
doublezero link list\n

Example output:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Links should show status activated once both sides are configured.

"},{"location":"contribute-provisioning/#agent-installation","title":"Agent Installation","text":"

Two software agents run on your DZD:

flowchart TB\n    subgraph \"Your DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[Switch Hardware/Software]\n    end\n\n    CA -->|Polls for config| CTRL[Controller Service]\n    CA -->|Applies config| HW\n\n    HW -->|Metrics| TA\n    TA -->|Submits onchain| BC[DoubleZero Ledger]
Agent What It Does Config Agent Pulls configuration from controller, applies it to your switch Telemetry Agent Measures latency/loss to other devices, reports metrics onchain"},{"location":"contribute-provisioning/#step-44-install-config-agent","title":"Step 4.4: Install Config Agent","text":""},{"location":"contribute-provisioning/#enable-the-api-on-your-switch","title":"Enable the API on your switch","text":"

Add to EOS configuration:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF Note

Replace default with your management VRF name if different (e.g., management).

"},{"location":"contribute-provisioning/#download-and-install-the-agent","title":"Download and install the agent","text":"
# Enter bash on the switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-provisioning/#verify-the-extension","title":"Verify the extension","text":"
switch# show extensions\n

The Status should be \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"contribute-provisioning/#configure-and-start-the-agent","title":"Configure and start the agent","text":"

Add to EOS configuration:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

VRF Note

If your management VRF is not default (i.e. the namespace is not ns-default), prefix the exec command with exec /sbin/ip netns exec ns-<VRF>. For example, if your VRF is management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Get your device pubkey from doublezero device list (the account column).

"},{"location":"contribute-provisioning/#verify-its-running","title":"Verify it's running","text":"
switch# show agent doublezero-agent logs\n

You should see \"Starting doublezero-agent\" and successful controller connections.

"},{"location":"contribute-provisioning/#step-45-install-telemetry-agent","title":"Step 4.5: Install Telemetry Agent","text":""},{"location":"contribute-provisioning/#copy-the-metrics-publisher-key-to-your-device","title":"Copy the metrics publisher key to your device","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"contribute-provisioning/#register-the-metrics-publisher-onchain","title":"Register the metrics publisher onchain","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

Get the pubkey from your metrics-publisher.json file.

"},{"location":"contribute-provisioning/#download-and-install-the-agent_1","title":"Download and install the agent","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"contribute-provisioning/#verify-the-extension_1","title":"Verify the extension","text":"
switch# show extensions\n

The Status should be \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"contribute-provisioning/#configure-and-start-the-agent_1","title":"Configure and start the agent","text":"

Add to EOS configuration:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF Note

If your management VRF is not default (i.e. the namespace is not ns-default), add --management-namespace ns-<VRF> to the exec command. For example, if your VRF is management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"contribute-provisioning/#verify-its-running_1","title":"Verify it's running","text":"
switch# show agent doublezero-telemetry logs\n

You should see \"Starting telemetry collector\" and \"Starting submission loop\".

"},{"location":"contribute-provisioning/#phase-5-link-burn-in","title":"Phase 5: Link Burn-in","text":"

All new links must burn in before carrying traffic

New links must be drained for at least 24 hours before being activated for production traffic. This burn-in requirement is defined in RFC12: Network Provisioning, which specifies ~200,000 DZ Ledger slots (~20 hours) of clean metrics before a link is ready for service.

With agents installed and running, monitor your links on metrics.doublezero.xyz for at least 24 consecutive hours:

Only undrain the link once the burn-in period shows a clean link with zero loss and zero errors.

"},{"location":"contribute-provisioning/#phase-6-verification-activation","title":"Phase 6: Verification & Activation","text":"

Run through this checklist to confirm everything is working.

Your device starts locked (max_users = 0)

When a device is created, max_users is set to 0 by default. This means no users can connect to it yet. This is intentional \u2014 you must verify everything works before accepting user traffic.

Before setting max_users above 0, you must:

  1. Confirm all links have completed their 24-hour burn-in with zero loss/errors on metrics.doublezero.xyz
  2. Coordinate with DZ/Malbec Labs to run a connectivity test:
    • Can a test user connect to your device?
    • Does the user receive routes over the DZ network?
    • Can the user route traffic over the DZ network end-to-end?
  3. Only after DZ/ML confirms the tests pass, set max_users to 96:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"contribute-provisioning/#device-checks","title":"Device Checks","text":"
# Your device should appear with status \"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

Expected output:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Your interfaces should be listed\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

Expected output:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"contribute-provisioning/#link-checks","title":"Link Checks","text":"
# Links should show status \"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

Expected output:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"contribute-provisioning/#agent-checks","title":"Agent Checks","text":"

On the switch:

# Config agent should show successful config pulls\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry agent should show successful submissions\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"contribute-provisioning/#final-verification-diagram","title":"Final Verification Diagram","text":"
flowchart TB\n    subgraph \"Verification Checklist\"\n        D[Device Status: activated?]\n        I[Interfaces: registered?]\n        L[Links: activated?]\n        CA[Config Agent: pulling config?]\n        TA[Telemetry Agent: submitting metrics?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[All Checks Pass] --> NOTIFY[Notify DZF/Malbec Labs<br/>You are technically ready!]
"},{"location":"contribute-provisioning/#troubleshooting","title":"Troubleshooting","text":""},{"location":"contribute-provisioning/#device-creation-fails","title":"Device creation fails","text":""},{"location":"contribute-provisioning/#link-stuck-in-requested-status","title":"Link stuck in \"requested\" status","text":""},{"location":"contribute-provisioning/#config-agent-not-connecting","title":"Config Agent not connecting","text":""},{"location":"contribute-provisioning/#telemetry-agent-not-submitting","title":"Telemetry Agent not submitting","text":""},{"location":"contribute-provisioning/#next-steps","title":"Next Steps","text":""},{"location":"contribute/","title":"Contributors Requirements & Architecture","text":""},{"location":"contribute/#summary","title":"Summary","text":"

Anyone who wishes to monetize their underutilized fiber optic cables and network hardware may contribute to the DoubleZero network. Network contributors must provide dedicated bandwidth between two points, operate DoubleZero compatible devices (DZDs) at each end, and a connection to the public internet at each end. Network contributors must also run DoubleZero software on each DZD to provide services like multicast, user lookup, and edge filtration.

The DoubleZero smart contract is the cornerstone of ensuring that the network maintains high-quality links that can be measured and integrated into the topology, allowing our network controllers to develop the most efficient end-to-end path between our different users and endpoints. Upon execution of the smart contract and deployment of the network equipment and bandwidth, an entity is classified as a network contributor. See DoubleZero Economics to further understand the economics behind participating in DoubleZero as a network contributor.

"},{"location":"contribute/#requirements-to-be-a-doublezero-network-contributor","title":"Requirements to be a DoubleZero Network Contributor","text":""},{"location":"contribute/#quick-start-guide","title":"Quick Start Guide","text":"

As a network contributor, the simplest way to get started in DoubleZero is by identifying capacity in your network that can be dedicated for DoubleZero. Once identified, DZDs must be deployed, facilitating the DoubleZero overlay network which only requires IPv4 reachability and a minimum MTU of 2048 bytes as its dependencies from the contributor's network.

Figure 1 highlights the simplest model for contributing bandwidth and packet sending and processing services. A DZD is deployed in each data center, interfacing with the network contributor's internal network to provide DoubleZero WAN connectivity. This is complemented by local internet, typically a Direct Internet Access (DIA) solution, that is used as on-ramps for DoubleZero users. While it is expected that DIA will be the preferred option for facilitating access to users of DoubleZero, numerous connectivity models are possible e.g. physical cabling to servers, network fabric extension, etc. We refer to these options as Choose Your Own Adventure (CYOA), providing the contributor flexibility to connect local or remote users in a way that best fits their internal network policies.

As with any network, reachability is a fundamental part of the architecture as network contributors cannot live in isolation. As such, the DZD must have a link to a DoubleZero Exchange (DZX) to create a contiguous network between participants.

Figure 1: DoubleZero Network Bandwidth Contribution Between 2 Data Centers - Single Contributor"},{"location":"contribute/#example-contributions","title":"Example Contributions","text":"

The ways in which a network contributor can grow their DoubleZero contributions are many, including:

"},{"location":"contribute/#example-1-single-contributor-3-data-centers-two-links","title":"Example 1: Single Contributor, 3 Data Centers, Two Links","text":"Figure 2: DoubleZero Network Bandwidth Contribution Between 3 Data Centers - Single Contributor

A single DZD can support multiple links contributed to DoubleZero. Figure 2 illustrates a potential topology if a single data center, denoted as 1, terminates bandwidth to two different remote data centers 2 and 3. In this scenario, each data center contains only 1 DZD. All DZDs are using DIA for user on-ramps as their CYOA interface.

"},{"location":"contribute/#example-2-single-contributor-3-data-centers-three-links","title":"Example 2: Single Contributor, 3 Data Centers, Three Links","text":"

Figure 3 describes the DoubleZero topology when a single contributor deploys three links in a triangle topology between 3 data centers. In a scenario similar to example 1, a single DZD is deployed in data centers 1, 2 and 3, each supporting 2 independent network links. The resulting topology is a triangle or ring between data centers.

Figure 3: DoubleZero Network Bandwidth Contribution Between 3 Data Centers - Single Contributor"},{"location":"contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

The creation of a contiguous network is a fundamental building block of the DoubleZero architecture. Contributors interface via a DoubleZero Exchange (DZX) within a metropolitan area, which is a city such as New York (NYC), London (LON) or Tokyo (TYO). A DZX is a network fabric similar to an Internet Exchange, allowing peering and route exchange.

In figure 4, network contributor 1 operates in data centers 1, 2 and 3, while network contributor 2 operates in data centers 2, 4 and 5. By interconnecting in data center 2, the DoubleZero network reach increases to 5 contiguous data centers.

Figure 4: DoubleZero Network Bandwidth Contribution Between 2 Network Bandwidth Contributors"},{"location":"contribute/#bandwidth-contribution-options","title":"Bandwidth Contribution Options","text":"

DoubleZero requires a network contributor to offer integrated connectivity via a guaranteed bandwidth, latency and jitter profile between DZDs at two terminating data centers expressed via a smart contract. DoubleZero does not mandate how a network contributor implements their contribution, however, in the following sections we provide indicative options for use at their sole discretion.

Important areas to consider for a network contributor might be:

"},{"location":"contribute/#layer-1-bandwidth","title":"Layer 1 Bandwidth","text":"Figure 5: Layer 1 Optical Services

Layer 1 bandwidth, more formally described as wavelength services, may see dedicated capacity provisioned on an existing optical infrastructure, such as DWDM, CWDM or via optical multiplexers (MUX). In figure 5, the DZDs use a colored optic that is cabled to an L1 MUX, which interleaves the DZD wavelength on to an existing dark fiber.

This solution has numerous benefits for network contributors who already operate an existing core network. The iterative operational changes, as well as additional CAPEX and OPEX requirements, are modest. This option is particularly robust in offering segregation from the network contributor's network services.

"},{"location":"contribute/#packet-switched-bandwidth","title":"Packet Switched Bandwidth","text":"

Packet switched networks can be considered a typical enterprise network, running standard routing and switching protocols supporting business applications. There are numerous networking technologies that achieve connectivity, for example, layer 2 (L2) extensions using VLAN tags.

"},{"location":"contribute/#l2-extension","title":"L2 Extension","text":"Figure 6: Packet Switched Networks - L2 Extension

An L2 extension as shown in Figure 6 can be facilitated through VLAN tagging. A DZD's port can be cabled to a contributor's internal network switch, with the switch port being set as an access port in, for example, VLAN 10. Through 802.1q tagging, this VLAN can be carried over multiple switch-hops on the contributor's network, terminating at the switch interfacing with the remote DZD.

This solution benefits from being widely supported and relatively easy to implement while creating segmentation between DoubleZero and internal layer 3 services. Bandwidth can be controlled based on the interface speed of the contributor's internal switch or router. Careful consideration must be given to performance across the shared internal L2 network through technologies such as Quality of Service (QoS) or other traffic management policies. However, additional CAPEX and OPEX investments should be modest if existing capacity is available within the contributor's core network.

"},{"location":"contribute/#dedicated-3rd-party-bandwidth","title":"Dedicated 3rd Party Bandwidth","text":"Figure 7: Dedicated 3rd Party Bandwidth

While reusing available capacity will be attractive to many network contributors, one can also dedicate newly acquired bandwidth to DoubleZero. In such a scenario, the DZD would connect directly to the 3rd party carrier without any internal devices of the contributor sitting inline (figure 7).

This option is attractive as it ensures dedicated bandwidth for DoubleZero, is simple operationally and ensures complete segmentation from any other network services. This option will likely have the highest OPEX increase and requires new service contracts with 3rd party carriers.

"},{"location":"contribute/#hardware-requirements","title":"Hardware Requirements","text":""},{"location":"contribute/#100gbps-bandwidth-contribution","title":"100Gbps Bandwidth Contribution","text":"

Note that quantities below reflect equipment needed in two data centers, i.e. the total required hardware necessary to deploy 1 fiber optic cable for bandwidth contribution.

*All FPGAs are subject to final testing. 10G contributions may be supported using Arista 7130LBR switches with inbuilt dual Virtex\u00ae UltraScale+\u2122 FPGAs (if you have any questions, DoubleZero Foundation / Malbec Labs are happy to provide more information)."},{"location":"contribute/#function-port-requirements","title":"Function & Port Requirements","text":"Function Port Speed DZ Requirement QTY Note Private Bandwidth 100G Yes 1 Direct Internet Access (DIA) 10G Yes 2 DoubleZero eXchange (DZX) 100G Yes* 1 Must be supported once more than 3 providers operate in the same metro area, preceding this, cross-connects or other peering arrangements can be used to interconnect to other providers. Management No 1 Determined by contributor's own internal management policies. Console No 1 Determined by contributor's own internal management policies."},{"location":"contribute/#dzd-network-hardware","title":"DZD Network Hardware","text":"Make Model Part Number DZ Requirement QTY Note AMD* V80* 24540474 Yes 4 Arista 7280CR3A DCS-7280CR3A-32S Yes 2 Alternatives may be possible if lead times are challenging."},{"location":"contribute/#optics-100g","title":"Optics - 100G","text":"Make Model Part Number DZ Requirement QTY Note Arista 100GBASE-LR QSFP-100G-LR No 16 Cabling and optic choice available at contributor's discretion. 100G required to connect FPGAs."},{"location":"contribute/#optics-10g","title":"Optics - 10G","text":"Make Model Part Number DZ Requirement QTY Note Arista 10GBASE-LR SFP-10G-LR No 2 Cabling and optic choice available at contributor's discretion. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 2 Cabling and optic choice available at contributor's discretion."},{"location":"contribute/#ip-addressing","title":"IP Addressing","text":"IP Addressing Minimum Subnet Size DZ Requirement Note Public IPv4 /29 Yes (for edge/hybrid DZDs) Must be routable via DIA. We may eliminate the need for this over time.

Please ensure that the full /29 pool is available for the DZ protocol. Any requirements for point-to-point addressing, e.g., on DIA interfaces, should be managed via a different address pool.

"},{"location":"contribute/#10gbps-bandwidth-contribution","title":"10Gbps Bandwidth Contribution","text":"

Note that quantities reflect two data centers' equipment i.e. the total required hardware necessary to deploy 1 bandwidth contribution.

"},{"location":"contribute/#function-port-requirements_1","title":"Function & Port Requirements","text":"Function Port Speed DZ Requirement QTY Note Private Bandwidth 10G Yes 1 Direct Internet Access (DIA) 10G Yes 2 DoubleZero eXchange (DZX) 100G Yes* 1 Must be supported once more than 3 providers operate in the same metro area; preceding this, cross-connects or other peering arrangements can be used to interconnect to other providers. Management No 1 Determined by contributor's own internal management policies. Console No 1 Determined by contributor's own internal management policies."},{"location":"contribute/#hardware","title":"Hardware","text":"Make Model Part Number DZ Requirement QTY Note AMD* V80* 24540474* Yes 4 Arista 7280CR3A DCS-7280CR3A-32S Yes 2 Alternatives may be possible if lead times are challenging."},{"location":"contribute/#optics-100g_1","title":"Optics - 100G","text":"Make Model Part Number DZ Requirement QTY Note Arista 100GBASE-LR QSFP-100G-LR No 14 Cabling and optic choice available at contributor's discretion. 100G required to connect FPGAs."},{"location":"contribute/#optics-10g_1","title":"Optics - 10G","text":"Make Model Part Number DZ Requirement QTY Note Arista 10GBASE-LR SFP-10G-LR No 4 Cabling and optic choice available at contributor's discretion. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 4 Cabling and optic choice available at contributor's discretion. ---"},{"location":"contribute/#ip-addressing_1","title":"IP Addressing","text":"IP Addressing Minimum Subnet Size DZ Requirement Note Public IPv4 /29 Yes (for edge/hybrid DZDs) Must be routable via DIA. We may eliminate the need for this over time.

Please ensure that the full /29 pool is available for the DZ protocol. Any requirements for point-to-point addressing, e.g., on DIA interfaces, should be managed via a different address pool.

"},{"location":"contribute/#data-center-requirements","title":"Data Center Requirements","text":""},{"location":"contribute/#rack-power-requirements","title":"Rack & Power Requirements","text":"Requirement Specification Rack Space 4U Power 4KW (recommended)"},{"location":"contribute/#next-steps","title":"Next Steps","text":"

Ready to provision your first DZD? Continue to the Device Provisioning Guide.

"},{"location":"glossary/","title":"Glossary","text":"

This page defines DoubleZero-specific terminology used throughout the documentation.

"},{"location":"glossary/#network-infrastructure","title":"Network Infrastructure","text":""},{"location":"glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

The physical network switching hardware that terminates DoubleZero links and runs the DoubleZero Agent software. DZDs are deployed at data centers and provide routing, packet processing, and user connectivity services. Each DZD requires specific hardware specifications and runs both the Config Agent and Telemetry Agent.

"},{"location":"glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Interconnect points in the mesh network where different contributor links are bridged together. DZXs are located in major metropolitan areas (e.g., NYC, LON, TYO) where network intersections occur. Network contributors must cross-connect their links into the broader DoubleZero mesh at the nearest DZX. Similar in concept to an Internet Exchange (IX).

"},{"location":"glossary/#wan-link","title":"WAN Link","text":"

A Wide Area Network link between two DZDs operated by the same contributor. WAN links provide backbone connectivity within a single contributor's infrastructure.

"},{"location":"glossary/#dzx-link","title":"DZX Link","text":"

A link between DZDs operated by different contributors, established at a DZX. DZX links require explicit acceptance by both parties.

"},{"location":"glossary/#dz-prefix","title":"DZ Prefix","text":"

IP address allocations in CIDR format assigned to a DZD for overlay network addressing. Specified during device creation using the --dz-prefixes parameter.

"},{"location":"glossary/#device-types","title":"Device Types","text":""},{"location":"glossary/#edge-device","title":"Edge Device","text":"

A DZD that provides user connectivity to the DoubleZero network. Edge devices leverage CYOA interfaces to terminate users (validators, RPC operators) and connect them to the network.

"},{"location":"glossary/#transit-device","title":"Transit Device","text":"

A DZD that provides backbone connectivity within the DoubleZero network. Transit devices move traffic between DZDs but do not terminate user connections directly.

"},{"location":"glossary/#hybrid-device","title":"Hybrid Device","text":"

A DZD that combines both edge and transit functionality, providing both user connectivity and backbone routing.

"},{"location":"glossary/#connectivity","title":"Connectivity","text":""},{"location":"glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Interface types that allow contributors to register connectivity options for users to connect to the DoubleZero network. CYOA interfaces include various methods like DIA, GRE tunnels, and private peering. See Creating CYOA Interfaces for configuration details.

"},{"location":"glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

A standard networking term for connectivity provided over the public internet. In DoubleZero, DIA is a CYOA interface type where users (validators, RPC operators) connect to a DZD over their existing internet connection.

"},{"location":"glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

A connection mode that allows validators and RPC nodes to connect to DoubleZero without restarting their blockchain clients. IBRL uses the existing public IP address and establishes an overlay tunnel to the nearest DZD. See Mainnet-Beta Connection for setup instructions.

"},{"location":"glossary/#multicast","title":"Multicast","text":"

A one-to-many packet delivery method supported by DoubleZero. Multicast mode has two roles: publisher (sends packets across the network) and subscriber (receives packets from the publisher). Used by development teams for efficient data distribution. See Other Multicast Connection for connection details.

"},{"location":"glossary/#software-components","title":"Software Components","text":""},{"location":"glossary/#doublezerod","title":"doublezerod","text":"

The DoubleZero daemon service that runs on user servers (validators, RPC nodes). It manages the connection to the DoubleZero network, handles tunnel establishment, and maintains connectivity to DZDs. Configured via systemd and controlled through the doublezero CLI.

"},{"location":"glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

The command-line interface for interacting with the DoubleZero network. Used for connecting, managing identities, checking status, and administrative operations. Communicates with the doublezerod daemon.

"},{"location":"glossary/#config-agent","title":"Config Agent","text":"

Software agent running on DZDs that manages device configuration. Reads configuration from the Controller service and applies changes to the device. See Config Agent Installation for setup.

"},{"location":"glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Software agent running on DZDs that collects performance metrics (latency, jitter, packet loss) and submits them to the DoubleZero ledger. See Telemetry Agent Installation for setup.

"},{"location":"glossary/#controller","title":"Controller","text":"

A service that provides configuration to DZD agents. The Controller derives device configurations from onchain state on the DoubleZero ledger.

"},{"location":"glossary/#link-states","title":"Link States","text":""},{"location":"glossary/#activated","title":"Activated","text":"

The normal operational state for a link. Traffic flows through the link and it participates in routing decisions.

"},{"location":"glossary/#soft-drained","title":"Soft-Drained","text":"

A maintenance state where traffic will be discouraged on a specific link. Used for graceful maintenance windows. Can transition to activated or hard-drained.

"},{"location":"glossary/#hard-drained","title":"Hard-Drained","text":"

A maintenance state where the link is completely removed from service. No traffic flows through the link. Must transition to soft-drained before returning to activated.

"},{"location":"glossary/#organizations-tokens","title":"Organizations & Tokens","text":""},{"location":"glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

DoubleZero Foundation is a memberless nonprofit Cayman Islands foundation company that was formed to support the development, decentralization, security and adoption of the DoubleZero network.

"},{"location":"glossary/#2z-token","title":"2Z Token","text":"

The native token of the DoubleZero network. Used for paying validator fees and distributed as rewards to contributors. Validators can pay fees in 2Z via an onchain swap program. See Swapping SOL to 2Z.

"},{"location":"glossary/#contributor","title":"Contributor","text":"

A network infrastructure provider who contributes bandwidth and hardware to the DoubleZero network. Contributors operate DZDs, provide WAN and DZX links, and receive 2Z token incentives for their contribution. See Contributor Documentation to get started.

"},{"location":"glossary/#networking-concepts","title":"Networking Concepts","text":""},{"location":"glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

The largest packet size (in bytes) that can be transmitted over a network link. DoubleZero WAN links typically use MTU 9000 (jumbo frames) for efficiency.

"},{"location":"glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

A technology that allows multiple isolated routing tables to exist on the same physical router. Contributors often use a separate management VRF to isolate switch management traffic from production traffic.

"},{"location":"glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

A tunneling protocol that encapsulates network packets inside IP packets. Used by IBRL and CYOA connections to create overlay tunnels between users and DZDs.

"},{"location":"glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

The routing protocol used for exchanging routing information between networks on the internet. DoubleZero uses BGP internally with ASN 65342.

"},{"location":"glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

A unique identifier assigned to a network for BGP routing. All DoubleZero devices use ASN 65342 for the internal BGP process.

"},{"location":"glossary/#loopback-interface","title":"Loopback Interface","text":"

A virtual network interface on a router/switch used for management and routing purposes. DZDs use Loopback255 (VPNv4) and Loopback256 (IPv4) for internal routing.

"},{"location":"glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

A notation for specifying IP address ranges. The format is IP/prefix-length where the prefix length indicates network size (e.g., /29 = 8 addresses, /24 = 256 addresses).

"},{"location":"glossary/#jitter","title":"Jitter","text":"

Variation in packet latency over time. Low jitter is critical for real-time applications.

"},{"location":"glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

The time for a packet to travel from source to destination and back. Used to measure network latency between devices.

"},{"location":"glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

A protocol for measuring network performance metrics like latency and packet loss. The Telemetry Agent uses TWAMP to collect metrics between DZDs.

"},{"location":"glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

A link-state routing protocol used internally by the DoubleZero network. IS-IS metrics are adjusted during link draining operations.

"},{"location":"glossary/#blockchain-keys","title":"Blockchain & Keys","text":""},{"location":"glossary/#onchain","title":"Onchain","text":"

In the DoubleZero context, onchain refers to data and operations recorded on the DoubleZero ledger. Unlike traditional networks where device and link configurations live in centralized management systems, DoubleZero records device registrations, link configurations, and telemetry submissions onchain \u2014 making the network state transparent and verifiable by all participants.

"},{"location":"glossary/#service-key","title":"Service Key","text":"

A cryptographic keypair used to authenticate CLI operations. This is your contributor identity for interacting with the DoubleZero smart contract. Stored at ~/.config/solana/id.json.

"},{"location":"glossary/#metrics-publisher-key","title":"Metrics Publisher Key","text":"

A cryptographic keypair used by the Telemetry Agent to sign metric submissions to the blockchain. Separate from the service key for security isolation. Stored at ~/.config/doublezero/metrics-publisher.json.

"},{"location":"glossary/#hardware-software","title":"Hardware & Software","text":""},{"location":"glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

Arista's network operating system that runs on DZD switches. Contributors install Config Agent and Telemetry Agent as EOS extensions.

"},{"location":"glossary/#eos-extension","title":"EOS Extension","text":"

A software package that can be installed on Arista EOS switches. DZ agents are distributed as .rpm files and installed via the extension command.

"},{"location":"multicast-admin/","title":"Multicast Group Management in DoubleZero","text":"

A multicast group is a logical collection of devices or network nodes that share a common identifier (typically a multicast IP address) to efficiently transmit data to multiple recipients. Unlike unicast (one-to-one) or broadcast (one-to-all) communication, multicast enables a sender to transmit a single data stream that is replicated by the network only for receivers who have joined the group.

This approach optimizes bandwidth usage and reduces load on both the sender and the network infrastructure, as packets are transmitted only once per link and are duplicated only when necessary to reach multiple subscribers. Multicast groups are commonly used in scenarios such as live video streaming, conferencing, financial data distribution, and real-time messaging systems.

In DoubleZero, multicast groups provide a secure and controlled mechanism to manage who can send (publishers) and receive (subscribers) data within each group, ensuring efficient and governed information distribution.

flowchart LR\n    subgraph Publishers\n        P1[Publisher 1]\n        P2[Publisher 2]\n        P3[Publisher 3]\n    end\n    subgraph Subscribers\n        S1[Subscriber 1]\n        S2[Subscriber 2]\n        S3[Subscriber 3]\n        S4[Subscriber 4]\n    end\n    P1 --> B[Multicast Group]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

The diagram above shows how multiple users can publish messages to a multicast group, and multiple users can subscribe to receive those messages. The DoubleZero network efficiently replicates packets, ensuring all subscribers receive messages without unnecessary transmission overhead.

"},{"location":"multicast-admin/#1-creating-and-listing-multicast-groups","title":"1. Creating and Listing Multicast Groups","text":"

Multicast groups are the foundation for secure and efficient data distribution in DoubleZero. Each group is uniquely identified and configured with a specific bandwidth and owner. Only DoubleZero Foundation administrators can create new multicast groups, ensuring proper governance and resource allocation.

Once created, multicast groups can be listed to provide an overview of all available groups, their configuration, and their current status. This is essential for network operators and group owners to monitor resources and manage access.

Creating a multicast group:

Only the DoubleZero Foundation can create new multicast groups. The creation command requires a unique code, the maximum bandwidth, and the owner public key (or 'me' for the current payer).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Listing all multicast groups:

To list all multicast groups and view summary information (including group code, multicast IP, bandwidth, number of publishers and subscribers, status, and owner):

doublezero multicast group list\n

Sample output:

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

This command displays a table with all multicast groups and their main properties: - account: Group account address - code: Multicast group code - multicast_ip: Multicast IP address assigned to the group - max_bandwidth: Maximum allowed bandwidth for the group - publishers: Number of publishers in the group - subscribers: Number of subscribers in the group - status: Current status (e.g., activated) - owner: Owner public key

Once a group is created, the owner can manage which users are allowed to connect as publishers or subscribers.

"},{"location":"multicast-admin/#2-managing-publishersubscriber-allowlists","title":"2. Managing Publisher/Subscriber Allowlists","text":"

Publisher and subscriber allowlists are essential for controlling access to multicast groups in DoubleZero. These lists explicitly define which users are permitted to publish (send data) or subscribe (receive data) within a specific multicast group.

Managing these lists is the responsibility of the group owner, who can add, remove, or view authorized publishers and subscribers using the DoubleZero CLI. Proper allowlist management is critical for maintaining the security, integrity, and traceability of multicast communications.

Note: To subscribe or publish to a multicast group, a user must first be authorized to connect to DoubleZero by following the standard connection procedures. The allowlist commands described here only associate an already authorized DoubleZero user with a multicast group. Adding a new IP to a multicast group\u2019s allowlist does not by itself grant access to DoubleZero; the user must have already completed the general authorization process before interacting with multicast groups.

"},{"location":"multicast-admin/#adding-a-publisher-to-the-allowlist","title":"Adding a publisher to the allowlist","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#removing-a-publisher-from-the-allowlist","title":"Removing a publisher from the allowlist","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#listing-the-publisher-allowlist-for-a-group","title":"Listing the publisher allowlist for a group","text":"

To list all publishers in the allowlist for a specific multicast group, use:

doublezero multicast group allowlist publisher list --code <CODE>\n

Example:

doublezero multicast group allowlist publisher list --code mg01\n

Sample output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

This command displays all publishers currently allowed to connect to the specified group, including their account, group code, client IP, and user payer.

"},{"location":"multicast-admin/#adding-a-subscriber-to-the-allowlist","title":"Adding a subscriber to the allowlist","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#removing-a-subscriber-from-the-allowlist","title":"Removing a subscriber from the allowlist","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"multicast-admin/#listing-the-subscriber-allowlist-for-a-group","title":"Listing the subscriber allowlist for a group","text":"

To list all subscribers in the allowlist for a specific multicast group, use:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Example:

doublezero multicast group allowlist subscriber list --code mg01\n

Sample output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

This command displays all subscribers currently allowed to connect to the specified group, including their account, group code, client IP, and user payer.

For more information about connecting and using multicast, see Other Multicast Connection.

"},{"location":"quick-connect/","title":"Quick Connect","text":"

Answer a few questions and we'll generate a personalized connection guide with the exact steps and commands for your setup.

Simplified Guide

This wizard provides key snippets from the full documentation to get you connected as quickly as possible. For complete details, see the Setup and Tenant guides.

Which network are you connecting to? Mainnet-Beta Production network for active validators and RPC operators Testnet Testing and development network What operating system is your server running? Ubuntu / Debian Ubuntu 22.04+ or Debian 11+ Rocky Linux / RHEL Rocky Linux or RHEL 9+ Which ecosystem? Solana Validators and RPC operators on Solana Shelby RPCs and Storage Nodes on Shelby (Testnet only) New Tenant Other ecosystems Which firewall tool do you use? iptables Direct iptables rules UFW Uncomplicated Firewall What type of node are you running? Validator Leader-scheduled Solana validator with identity keypair Non-validator (RPC) RPC node or MEV infrastructure What connection mode do you need? Unicast (IBRL) Standard point-to-point connection Multicast One-to-many packet delivery (publisher/subscriber) Both Simultaneous unicast and multicast tunnels What is your multicast role? Publisher Send data to a multicast group (e.g., block producer) Subscriber Receive data from a multicast group"},{"location":"setup/","title":"How to set up DoubleZero","text":"

Terminology

New to DoubleZero? See the Glossary for definitions of terms like doublezerod, IBRL, and DZD.

By connecting to the DoubleZero I agree to the DoubleZero Terms of Service

"},{"location":"setup/#prerequisites","title":"Prerequisites","text":"

Warning

For validators: DoubleZero needs to be installed directly on your validator host, not in a container.

"},{"location":"setup/#connecting-to-doublezero","title":"Connecting to DoubleZero","text":"

DoubleZero Testnet and DoubleZero Mainnet-Beta are physically distinct networks. Please choose the appropriate network during install.

When onboarding to DoubleZero you will establish a DoubleZero identity, represented by a public key called the DoubleZero ID. This key is pat of how DoubleZero recognizes your machine.

"},{"location":"setup/#1-install-doublezero-packages","title":"1. Install DoubleZero Packages","text":"

Current Versions

Package Mainnet-Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Follow these steps depending on your operating system:

"},{"location":"setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

The current recommended deployment for Mainnet-Beta is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

The current recommended deployment for Testnet is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

The current recommended deployment for Mainnet-Beta is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

The current recommended deployment for Testnet is:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Existing Users Only: Chang a package from Testnet to Mainnet-Beta, or Mainnet-Beta to Testnet

When you install from one of the package repositories above it is specific to DoubleZero Testnet or DoubleZero Mainnet Beta. If you swap networks at any point you will need to remove the previously installed package repositories and update to the target repo.

This example will walk through Testnet to Mainnet-Beta Migration

The same steps may be completed to move from Mainnet-Beta to Testnet, by replacing the step 3 with the the install command for Testnet above.

  1. Find Old Repository Files

    First, locate any existing DoubleZero repository configuration files on your system:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Remove Old Repository Files

    Remove the old repository files found in the previous step, for example

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Install from New Repository

    Add the new Mainnet-Beta repository and install the latest package:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"setup/#check-the-status-of-doublezerod","title":"Check the status of doublezerod","text":"

After the package is installed, a new systemd unit is installed, activated and started. To see the status you may run:

sudo systemctl status doublezerod\n

"},{"location":"setup/#configure-firewall-for-gre-and-bgp","title":"Configure Firewall for GRE and BGP","text":"

DoubleZero uses GRE tunneling (IP protocol 47) and BGP routing (tcp/179 on link-local addresses). Ensure your firewall allows these protocols:

Allow GRE and BGP through iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

Or allow GRE and BGP through UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"setup/#2-create-new-doublezero-identity","title":"2. Create New DoubleZero Identity","text":"

Create a DoubleZero Identity on your server with the following command:

doublezero keygen\n

Info

If you have an existing ID you would like to use, you may follow these optional steps.

Create doublezero config directory

mkdir -p ~/.config/doublezero\n

Copy or link the id.json you want to use with DoubleZero to the doublezero config directory.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"setup/#3-retrieve-the-servers-doublezero-identity","title":"3. Retrieve the server's DoubleZero identity","text":"

Review your DoubleZero Identity. This identity will be used to create the connection between your machine and DoubleZero

doublezero address\n

Output:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"setup/#4-check-that-doublezerod-has-discovered-dz-devices","title":"4. Check that doublezerod has discovered DZ devices","text":"

Before connecting, be sure doublezerod has discovered and pinged each of the available DZ testnet switches:

doublezero latency\n

Sample output:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

If no devices are returned in the output, wait 10-20 seconds and retry.

"},{"location":"setup/#5-disconnect-from-doublezero","title":"5. Disconnect from DoubleZero","text":"

In the next sections you will set your DoubleZero Environment. In order to ensure success, disconnect the current session. This will avoid issues related to multiple tunnels open on your machine.

Check

doublezero status\n

if it is up run:

doublezero disconnect\n
"},{"location":"setup/#up-next-tenant","title":"Up Next: Tenant","text":"

Connection to DoubleZero will differ based on your use case. On DoubleZero, Tenants are groups which have similiar user profiles. Examples include Blockchains, Data Transfer Layers, etc.

"},{"location":"setup/#proceed-to-chose-your-tenant-here","title":"Proceed to chose your tenant here","text":""},{"location":"setup/#optional-enable-prometheus-metrics","title":"Optional: Enable Prometheus Metrics","text":"

Operators familiar with Prometheus metrics may want to enable them for DoubleZero monitoring. This provides visibility into DoubleZero client performance, connection status, and operational health.

"},{"location":"setup/#what-metrics-are-available","title":"What Metrics Are Available","text":"

DoubleZero exposes several key metrics: - Build Information: Version, commit hash, and build date - Session Status: Whether the DoubleZero session is active - Connection Metrics: Latency and connectivity information - Performance Data: Throughput and error rates

"},{"location":"setup/#enable-prometheus-metrics","title":"Enable Prometheus Metrics","text":"

To enable Prometheus metrics on the DoubleZero client follow these steps:

"},{"location":"setup/#1-modify-the-doublezerod-systemd-service-startup-command","title":"1. Modify the doublezerod systemd service startup command","text":"

Create or edit the systemd override configuration:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Replace with this configuration:

Note that the -env flag needs to point to either testnet or mainnet-beta depending on which network you would like to gather data from. In the sample block testnet is used. You may swap this out for mainnet-beta if needed.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"setup/#2-reload-and-restart-the-service","title":"2. Reload and restart the service","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"setup/#3-verify-metrics-are-available","title":"3. Verify metrics are available","text":"

Test that the metrics endpoint is responding:

curl -s localhost:2113/metrics | grep doublezero\n

Expected output:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"setup/#troubleshooting","title":"Troubleshooting","text":"

If metrics are not appearing:

  1. Check service status: sudo systemctl status doublezerod
  2. Verify configuration: sudo systemctl cat doublezerod
  3. Check logs: sudo journalctl -u doublezerod -f
  4. Test endpoint: curl -v localhost:2113/metrics
  5. Verify port: netstat -tlnp | grep 2113
"},{"location":"setup/#configure-prometheus-server","title":"Configure Prometheus Server","text":"

Configuration, and security are beyond the scope of this documentation. Grafana is an excellent option for visualization, and has documentation available here detailing how to collect Prometheus metrics.

"},{"location":"setup/#grafana-dashboard-optional","title":"Grafana Dashboard (Optional)","text":"

For visualization, you can create a Grafana dashboard using the DoubleZero metrics. Common panels include: - Session status over time - Build information - Connection latency trends - Error rate monitoring

"},{"location":"tenant/","title":"Tenants","text":"

Tenants on DoubleZero are groups of users with similar profiles and connection requirements, typically representing different blockchain ecosystems, data transfer layers, or distributed systems.

Examine the table below, and chose the use case which best describes how you plan to interact with the DoubleZero Network.

Solana

Use Case Next Stop Solana Mainnet Validator, including backups DoubleZero Mainnet-Beta Connection Solana Testnet Validator, including backups DoubleZero Testnet Connection Non-Validators - RPCs, and others. DoubleZero Mainnet-Beta and Testnet Connection

Shelby

Use Case Next Stop Shelby Testnet RPCs and Storage Nodes DoubleZero Testnet Connection

New Tenant

Use Case Next Stop You have a new protocol, application, or other use case for leveraging DoubleZero Add A New Tenant"},{"location":"troubleshooting/","title":"Troubleshooting","text":"

This guide will cover a variety of issues, and is ongoing. If you complete the guide you can seek further support in the DoubleZero Tech discord.

"},{"location":"troubleshooting/#common-commands-and-outputs","title":"Common Commands and Outputs","text":"

To begin examine the output of the following commands, and their expected output. These will assist you in more detailed troubleshooting. If you open a ticket, you may be asked for their output.

"},{"location":"troubleshooting/#1-check-version","title":"1. Check Version","text":"

Command:

doublezero --version

Sample Output:

DoubleZero 0.6.3\n

"},{"location":"troubleshooting/#2-check-doublezero-address","title":"2. Check DoubleZero Address","text":"

Command:

doublezero address

Sample Output:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"troubleshooting/#3-verify-your-access-pass","title":"3. Verify your Access Pass","text":"

Sample pubkey: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 replace this with your pubkey when running command.

Command:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Output: [note we use doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' to show you the header now in this output]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \n

"},{"location":"troubleshooting/#4-check-doublezero-ledger-credits","title":"4. Check DoubleZero Ledger Credits","text":"

Command:

doublezero balance

Sample Output:

0.78 Credits\n

"},{"location":"troubleshooting/#5-check-connection-status","title":"5. Check Connection Status","text":"

Command:

doublezero status

Sample Output:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network \n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"troubleshooting/#6-check-latency","title":"6. Check Latency","text":"

Command:

doublezero latency

Sample Output:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable \n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"troubleshooting/#troubleshooting-examples","title":"Troubleshooting Examples","text":"

Now that we have examined basic outputs, and what is expected in a healthy deployment we can examine some common troubleshooting examples.

"},{"location":"troubleshooting/#issue-error-creating-user","title":"Issue: \u274c Error creating user","text":"

This issue is generally related to a mismatch between the expected pubkey/IP pairing and the pubkey/IP pairing the user is trying to access DoubleZero with.

Symptoms: - When connecting with doublezero connect ibrl the user encounters \u274c Error creating user

Solutions: 1. Check

`doublezero address`\n\nSample Output:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. verify that this address is allow listed:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Sample Output:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \n
    The pubkey from doublezero address must match the user_payer pubkey and the IP Address you are trying to connect from must match the ip in the Access-Pass. doublezero address is sourced from the id.json file in in ~/.config/doublezero/ by default. See the step 6 here

  2. If the above looks correct and you are getting an error while connecting or if the above mapping is incorrect please contact support in DoubleZero Tech

"},{"location":"troubleshooting/#issue-error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Issue: \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

This error signifies that a device is already connected to DoubleZero.

Symptoms: - User tries to connect to DoubleZero - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time is encountered.

Solutions: 1. Check doublezero status

Output:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network \nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. -up- signifies a healthy connection.
  2. The error appears because a tunnel to DoubleZero with the specific DoubleZero IP is already active on this machine.

    This error is often encountered after a DoubleZero client upgrade. DoubleZero upgrades automatically restart the doublezerod service and will reconnect you if you were connected prior to the service restart.

"},{"location":"troubleshooting/#issue-doublezero-status-is-unknown-or-down","title":"Issue: DoubleZero Status is unknown, or down","text":"

This issue is often related to the GRE tunnel being successfully activated between the server and the DoubleZero Device, but a firewall preventing BGP session establishment. Because of this you are not receiving routes from the network or sending traffic over DoubleZero.

Symptoms: - doublezero connect ibrl was successful. However, doublezero status returns down or unknown

doublezero connect ibrl                                                                                                                                                                                                                                                                                                                                  \nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network \nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

Solutions: 1. Check your firewall rules!

DoubleZero uses link local address space: 169.254.0.0/16 for the GRE tunnel interfaces between your machine and the DoubleZero Device. 169.254.0.0/16 is typically \"non-routable\" space and thus good security practices will recommend you blocking communications to/from this space. You will need to permit a rule in your firewall which enables src 169.254.0.0/16 to communicate with dst 169.254.0.0/16 on tcp port 179. That rule will need to be place above any rules that Deny traffic to 169.254.0.0/16.

In a firewall like ufw you can run `sudo ufw status` to view the firewalls rules and\n\nSample Output which may be something similar to what a Solana validator would have. \n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\nIn the above output you see all traffic to 169.254.0.0/16, except for the ports specified, is denied. \n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` to insert the rule in the <N> position. ie. if N = 1 then you will insert this rules as the first rule.\n`sudo ufw status numbered` will show you the numerical ordering of rules.\n
"},{"location":"troubleshooting/#issue-nearest-doublezero-device-has-changed","title":"Issue: Nearest DoubleZero device has changed","text":"

This is not an error, but can be an optimization. Below is a best practice which can be run from time to time, or automated.

Solutions:

  1. Check latency to the nearest device

    • run doublezero latency

      output

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable \n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true      \n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true      \n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true      \n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true      \n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true   \n
      note above the nearest device is dz-ny7-sw01

      We want to connect to this device. :

  2. Determine if you are already connected to the target device

    • run doublezero user list --env testnet | grep 111.11.11.11 replace 111.11.11.11 with your devices public ipv4 address which is connected to DoubleZero. You may also use your validator ID, or doublezero ID.

      output

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner                                        \n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \n
      In this example, we are already connected to the nearest device. No more steps are needed, we can stop here.

      Let us consider instead if the output was account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn This would be a sub-optimal connection. Let us consider if reconnection is needed.

      Prior to connection, we will check if the device has available user tunnels.

  3. Optional: examine the network for available devices

    For educational purposes we will first: - run doublezero device list for a full list of devices. We have pulled 2 devices as an example to explain the output.

    output:\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner                                        \nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp \n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp \n```\nNote above that `ams001-dz002` has 69 users, and 128 max users. This device is able to add 59 users.\n\nHowever, `dz-fr5-sw01` has 0 users, and 0 max users. You will not be able to connect to this device. With a max users of 0, the device is not accepting any connections.\n\nNow let us return to connecting to our nearest device.\n
  4. Determine if the target device has an available connection

    • run doublezero device list | grep dz-ny7-sw01 replace dz-ny7-sw01 with your target device

      output

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp \n
      here we can see that dz-ny7-sw01 has available space for connection.

  5. Connect to the nearest DoubleZero Device

    We will disconnect, and then reconnect to doublezero.

    First run - doublezero disconnect

    output

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    now we check the status to confirm our disconnection with - doublezero status

    output

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type \ndisconnected  | no session data     |             |            |            |               |    \n
    Last we will reconnect with - doublezero connect ibrl

    output

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01 \nService provisioned with status: ok\n\u2705  User Provisioned\n
    notice in the above output that we Connected to device: dz-ny7-sw01 this is the desired result from our initial investigation in step 1, where we discovered that dz-ny7-sw01 was the device with the lowest latency.

"},{"location":"troubleshooting/#issue-doublezero-status-returns-some-fields-with-na","title":"Issue: doublezero status returns some fields with N/A","text":"

This issue is generally related to a mismatch between the current daemon and client, vs the daemon and client the connected DZ tunnel was established in.

Symptoms: - When running doublezero status the user encounters N/A in some fields

Solutions: 1. Run doublezero status

Example:\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\nNotice in our example output above that the `Tunnel status` is `up`. Our `Network` is `mainnet-beta` However, `Current Device` and `Metro` are `N/A`\n\nThis is indicative of an open tunnel on your machine which is not in your current environment.\nIn this case the `up` status, with no found `Current Device` on `mainnet-beta` reveals to us that our tunnel is on testnet!\n
  1. Change your environment.

    In order to rectify the mismatch you will change your environment to the opposite of the environment returning the N/A

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    To configure the DoubleZero Client CLI (doublezero) and daemon (doublezerod) to connect to DoubleZero mainnet-beta:

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Check your status

    After switching environments run:

    doublezero status\n

    The expected output should be similar to:

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network \nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet \n
    With all fields populated you are now in the correct environment.

"},{"location":"zh/","title":"\u6b22\u8fce\u6765\u5230DoubleZero","text":"

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\u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u53bb\u4e2d\u5fc3\u5316\u534f\u8bae\u548c\u7f51\u7edc\uff0c\u4e13\u4e3a\u5206\u5e03\u5f0f\u7cfb\u7edf\uff08\u5982\u533a\u5757\u94fe\uff09\u4f18\u5316\u3002DoubleZero\u7684\u7528\u6237\u4eab\u6709\u4e00\u4f53\u5316\u670d\u52a1\uff0c\u7528\u4e8e\u5206\u5e03\u5f0f\u7cfb\u7edf\u6570\u636e\u7684\u9ad8\u5ea6\u4f18\u5316\u4f20\u8f93\u548c\u9884\u5904\u7406\u3002

"},{"location":"zh/#doublezero_1","title":"DoubleZero\u9002\u5408\u54ea\u4e9b\u4eba\uff1f","text":""},{"location":"zh/#_1","title":"\u8d21\u732e\u8005","text":"

DoubleZero\u8d21\u732e\u8005\u62e5\u6709\u4ee5\u672a\u5145\u5206\u5229\u7528\u7684\u79c1\u6709\u5149\u7ea4\u94fe\u8def\u548c\u786c\u4ef6\uff08\u5982\u4ea4\u6362\u673a\u548cFPGA\u8bbe\u5907\uff09\u5f62\u5f0f\u7684\u7f51\u7edc\u5bb9\u91cf\u3002\u5c06\u8fd9\u4e9b\u8d44\u6e90\u914d\u7f6e\u4e3a\u6269\u5c55DoubleZero\u7f51\u7edc\uff0c\u53ef\u521b\u5efa\u4e00\u4f53\u5316\u4fe1\u606f\u670d\u52a1\u3002\u4f7f\u7528DZ\u534f\u8bae\uff0c\u7f51\u7edc\u8d21\u732e\u8005\u5c06\u8fd9\u4e9b\u7f51\u7edc\u5bb9\u91cf\u7f16\u7ec7\u6210\u4e00\u4e2a\u52a8\u6001\u3001\u5e7f\u6cdb\u7684\u5168\u7403\u7f51\u72b6\u7f51\u7edc\uff0c\u5e76\u56e0\u5176\u8d21\u732e\u800c\u83b7\u5f97\u4ee3\u5e01\u6fc0\u52b1\u3002

"},{"location":"zh/#_2","title":"\u7528\u6237","text":"

DoubleZero\u7528\u6237\u53c2\u4e0e\u9700\u8981\u9ad8\u6027\u80fd\u7f51\u7edc\u8fde\u63a5\u7684\u5206\u5e03\u5f0f\u7cfb\u7edf\uff0c\u4f8b\u5982\u533a\u5757\u94fe\u3002\u5c06\u533a\u5757\u94fe\u7cfb\u7edf\u4e0eDoubleZero\u4e92\u8fde\u540e\uff0c\u7528\u6237\u83b7\u5f97\u4e00\u5957\u4f18\u5316\u529f\u80fd\u5305\uff0c\u4ee5\u52a0\u901f\u5176\u7f51\u7edcI/O\u3002

\u5728\u6700\u521d\u5b9e\u65bd\u4e2d\uff0cDoubleZero\u7f51\u7edc\u4e0e\u533a\u5757\u94fe\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\u4ee5\u53caRPC\u548cMEV\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u517c\u5bb9\u3002\u8fd9\u4e9b\u7528\u6237\u7cfb\u7edf\u5728\u5141\u8bb8\u5176\u8bbf\u95ee\u7f51\u7edc\u4e4b\u524d\uff0c\u901a\u8fc7\u5728\u5404\u81ea\u8d26\u672c\u4e0a\u9a8c\u8bc1\u5176\u552f\u4e00\u6807\u8bc6\u516c\u94a5\u5730\u5740\u6765\u8fdb\u884c\u51c6\u5165\u63a7\u5236\u3002\u968f\u7740\u7f51\u7edc\u53d1\u5c55\u4e3a\u5305\u542b\u5176\u4ed6\u751f\u6001\u7cfb\u7edf\u7684\u7528\u6237\u7cfb\u7edf\uff0c\u5c06\u6dfb\u52a0\u9488\u5bf9\u6bcf\u4e2a\u7528\u6237\u9879\u76ee\u793e\u533a\u5b9a\u5236\u7684\u989d\u5916\u8bc6\u522b\u548c\u8eab\u4efd\u9a8c\u8bc1\u7b56\u7565\u3002

"},{"location":"zh/#_3","title":"\u4f18\u52bf","text":"

DoubleZero\u552f\u4e00\u7684\u66ff\u4ee3\u65b9\u6848\u662f\u516c\u5171\u4e92\u8054\u7f51\u3002\u4e0e\u516c\u5171\u4e92\u8054\u7f51\u76f8\u6bd4\uff0cDoubleZero\u7f51\u7edc\u4e3a\u533a\u5757\u94fe\u63d0\u4f9b\u4e86\u4e24\u9879\u6539\u8fdb\u3002

\u9996\u5148\uff0c\u5165\u7ad9\u4ea4\u6613\u53ef\u4ee5\u5728\u7f51\u7edc\u8d21\u732e\u8005\u786c\u4ef6\u5c42\u9762\u4ee5\u975e\u81ea\u7531\u88c1\u91cf\u65b9\u5f0f\u8fdb\u884c\u8fb9\u7f18\u8fc7\u6ee4\uff08\u5373\u5220\u9664\u5783\u573e\u90ae\u4ef6\u548c\u91cd\u590d\u5185\u5bb9\uff09\uff0c\u7136\u540e\u518d\u53d1\u9001\u7ed9DoubleZero\u7f51\u7edc\u7684\u7528\u6237\uff08\u5982\u533a\u5757\u94fe\u8282\u70b9\uff09\u3002\u8fd9\u4f7f\u533a\u5757\u94fe\u80fd\u591f\u53d7\u76ca\u4e8e\u5171\u4eab\u7684\u5168\u7cfb\u7edf\u8fc7\u6ee4\u8d44\u6e90\uff0c\u800c\u65e0\u9700\u6bcf\u4e2a\u5355\u72ec\u7684\u9a8c\u8bc1\u5668\u914d\u7f6e\u8db3\u591f\u7684\u8d44\u6e90\u3002\u56e0\u6b64\uff0c\u9a8c\u8bc1\u5668\u53ef\u4ee5\u5c06\u5176\u8d44\u6e90\u91cd\u65b0\u5206\u914d\u5230\u76f4\u63a5\u4ea7\u751f\u6536\u5165\u7684\u6d3b\u52a8\u4e2d\u3002\u6b64\u529f\u80fd\u5c1a\u672a\u542f\u7528\u3002

\u5176\u6b21\uff0c\u51fa\u7ad9\u6d88\u606f\u88ab\u66f4\u76f4\u63a5\u5730\u8def\u7531\u548c\u4f18\u5148\u5904\u7406\uff0c\u4ee5\u63d0\u9ad8\u6548\u7387\u3002\u8fd9\u662f\u53ef\u80fd\u7684\uff0c\u56e0\u4e3a\u5728DoubleZero\u4e2d\uff0c\u5168\u7403\u6570\u636e\u79fb\u52a8\u7684\u8def\u7531\u903b\u8f91\u662f\u4e3a\u901f\u5ea6\u4f18\u5316\u7684\uff0c\u4e0d\u50cf\u516c\u5171\u4e92\u8054\u7f51\u3002\u56e0\u6b64\uff0c\u9a8c\u8bc1\u5668\u53d7\u76ca\u4e8e\u51cf\u5c11\u6296\u52a8\u2014\u2014\u6296\u52a8\u5b9a\u4e49\u4e3a\u4e24\u4e2a\u6570\u636e\u7ebf\u7f06\u7aef\u70b9\u4e4b\u95f4\u5ef6\u8fdf\u53d8\u5316\u7684\u6570\u91cf\u3002\u4ece\u672c\u8d28\u4e0a\u8bb2\uff0c\u533a\u5757\u94fe\u8282\u70b9\u53ef\u4ee5\u66f4\u5feb\u5730\u53d1\u9001\u548c\u63a5\u6536\u533a\u5757\u3002

\u7efc\u5408\u6765\u770b\uff0c\u8fd9\u4e9bDoubleZero\u7f51\u7edc\u4f18\u52bf\u53ef\u4ee5\u5b9e\u73b0\u901a\u8fc7\u516c\u5171\u4e92\u8054\u7f51\u65e0\u6cd5\u8fbe\u5230\u7684\u6027\u80fd\u6c34\u5e73\u3002

\u66f4\u591a\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605DoubleZero\u534f\u8bae\u767d\u76ae\u4e66\u3002

"},{"location":"zh/#_4","title":"\u540e\u7eed\u6b65\u9aa4","text":""},{"location":"zh/DZ%20Mainnet-beta%20Connection/","title":"\u9a8c\u8bc1\u5668\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u4e3b\u7f51Beta","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#ibrlbeta_1","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u4e3b\u7f51Beta","text":"

Note

IBRL\u6a21\u5f0f\u4e0d\u9700\u8981\u91cd\u542f\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\uff0c\u56e0\u4e3a\u5b83\u4f7f\u7528\u60a8\u73b0\u6709\u7684\u516c\u5171IP\u5730\u5740\u3002

Solana\u4e3b\u7f51\u9a8c\u8bc1\u5668\u5c06\u5b8c\u6210\u5230DoubleZero\u4e3b\u7f51Beta\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

\u6bcf\u4e2aSolana\u9a8c\u8bc1\u5668\u90fd\u6709\u5176\u81ea\u5df1\u7684\u8eab\u4efd\u5bc6\u94a5\u5bf9\uff1b\u4ece\u4e2d\u63d0\u53d6\u79f0\u4e3a\u8282\u70b9ID\u7684\u516c\u94a5\u3002\u8fd9\u662f\u9a8c\u8bc1\u5668\u5728Solana\u7f51\u7edc\u4e0a\u7684\u552f\u4e00\u6307\u7eb9\u3002

\u786e\u8ba4DoubleZero ID\u548c\u8282\u70b9ID\u540e\uff0c\u60a8\u5c06\u8bc1\u660e\u60a8\u5bf9\u673a\u5668\u7684\u6240\u6709\u6743\u3002\u8fd9\u901a\u8fc7\u521b\u5efa\u5305\u542b\u4f7f\u7528\u9a8c\u8bc1\u5668\u8eab\u4efd\u5bc6\u94a5\u7b7e\u540d\u7684DoubleZero ID\u7684\u6d88\u606f\u6765\u5b8c\u6210\u3002\u7531\u6b64\u4ea7\u751f\u7684\u52a0\u5bc6\u7b7e\u540d\u4f5c\u4e3a\u60a8\u63a7\u5236\u8be5\u9a8c\u8bc1\u5668\u7684\u53ef\u9a8c\u8bc1\u8bc1\u660e\u3002

\u6700\u540e\uff0c\u60a8\u5c06\u5411DoubleZero\u63d0\u4ea4\u8fde\u63a5\u8bf7\u6c42\u3002\u6b64\u8bf7\u6c42\u4f20\u8fbe\uff1a\"\u8fd9\u662f\u6211\u7684\u8eab\u4efd\uff0c\u8fd9\u662f\u6240\u6709\u6743\u8bc1\u660e\uff0c\u8fd9\u662f\u6211\u6253\u7b97\u5982\u4f55\u8fde\u63a5\u3002\" DoubleZero\u9a8c\u8bc1\u6b64\u4fe1\u606f\uff0c\u63a5\u53d7\u8bc1\u660e\uff0c\u5e76\u4e3aDoubleZero\u4e0a\u7684\u9a8c\u8bc1\u5668\u914d\u7f6e\u7f51\u7edc\u8bbf\u95ee\u3002

\u672c\u6307\u5357\u5141\u8bb81\u4e2a\u4e3b\u9a8c\u8bc1\u5668\u6ce8\u518c\u81ea\u8eab\uff0c\u4ee5\u53ca\u540c\u65f6\u6ce8\u518c\u6700\u591a3\u53f0\u5907\u4efd/\u6545\u969c\u8f6c\u79fb\u673a\u5668\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u9a8c\u8bc1\u5668ID\u5c06\u4e0eSolana gossip\u8fdb\u884c\u6838\u5bf9\u4ee5\u786e\u5b9a\u76ee\u6807IP\u3002\u7136\u540e\u5c06\u4f7f\u7528\u76ee\u6807IP\u548cDoubleZero ID\u5728\u60a8\u7684\u673a\u5668\u548c\u76ee\u6807DoubleZero\u8bbe\u5907\u4e4b\u95f4\u5efa\u7acbGRE\u96a7\u9053\u3002

\u6ce8\u610f\uff1a\u5982\u679c\u60a8\u5728\u540c\u4e00IP\u4e0a\u540c\u65f6\u6709\u5783\u573eID\u548c\u4e3bID\uff0c\u53ea\u6709\u4e3bID\u5c06\u7528\u4e8e\u673a\u5668\u6ce8\u518c\u3002\u8fd9\u662f\u56e0\u4e3a\u5783\u573eID\u4e0d\u4f1a\u51fa\u73b0\u5728gossip\u4e2d\uff0c\u56e0\u6b64\u65e0\u6cd5\u7528\u4e8e\u9a8c\u8bc1\u76ee\u6807\u673a\u5668\u7684IP\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u4e3b\u7f51Beta\uff1a

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a \u2705 doublezerod configured for environment mainnet-beta

\u5927\u7ea630\u79d2\u540e\uff0c\u60a8\u5c06\u770b\u5230\u53ef\u7528\u7684DoubleZero\u8bbe\u5907\uff1a

doublezero latency\n
\u793a\u4f8b\u8f93\u51fa\uff08\u4e3b\u7f51Beta\uff09
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u6d4b\u8bd5\u7f51\u8f93\u51fa\u7ed3\u6784\u76f8\u540c\uff0c\u4f46\u8bbe\u5907\u8f83\u5c11\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#2-44880","title":"2. \u5f00\u653e44880\u7aef\u53e3","text":"

\u7528\u6237\u9700\u8981\u5f00\u653e44880\u7aef\u53e3\u4ee5\u4f7f\u7528\u67d0\u4e9b\u8def\u7531\u529f\u80fd\u3002

\u8981\u5f00\u653e44880\u7aef\u53e3\uff0c\u60a8\u53ef\u4ee5\u66f4\u65b0IP\u8868\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610f-i doublezero0\u3001-o doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

\u6216UFW\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610fin on doublezero0\u3001out on doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#3","title":"3. \u8bc1\u660e\u9a8c\u8bc1\u5668\u6240\u6709\u6743","text":"

\u8bbe\u7f6e\u597dDoubleZero\u73af\u5883\u540e\uff0c\u73b0\u5728\u662f\u8bc1\u660e\u60a8\u7684\u9a8c\u8bc1\u5668\u6240\u6709\u6743\u7684\u65f6\u5019\u4e86\u3002

\u60a8\u5728\u4e3b\u9a8c\u8bc1\u5668\u8bbe\u7f6e\u4e2d\u521b\u5efa\u7684DoubleZero ID\u5fc5\u987b\u7528\u4e8e\u6240\u6709\u5907\u4efd\u673a\u5668\u3002

\u60a8\u4e3b\u673a\u5668\u4e0a\u7684ID\u53ef\u4ee5\u901a\u8fc7doublezero address\u627e\u5230\u3002\u76f8\u540c\u7684ID\u5fc5\u987b\u5728\u96c6\u7fa4\u4e2d\u6240\u6709\u673a\u5668\u7684~/.config/doublezero/id.json\u4e2d\u3002

\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e00\u70b9\uff0c\u60a8\u9996\u5148\u9700\u8981\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u662f\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u8fd9\u9a8c\u8bc1\u4e86\u9a8c\u8bc1\u5668\u5df2\u5728gossip\u4e2d\u6ce8\u518c\u5e76\u51fa\u73b0\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u65e0\u8bba\u662f\u4e00\u53f0\u8fd8\u662f\u591a\u53f0\u673a\u5668\uff0c\u5de5\u4f5c\u6d41\u7a0b\u76f8\u540c\u3002 \u8981\u6ce8\u518c\u4e00\u53f0\u673a\u5668\uff0c\u8bf7\u4ece\u672c\u9875\u4e0a\u7684\u4efb\u4f55\u547d\u4ee4\u4e2d\u6392\u9664\u53c2\u6570\"--backup-validator-ids\"\u6216\"backup_ids=\"\u3002

\u73b0\u5728\uff0c\u5728\u60a8\u6253\u7b97\u8fd0\u884c\u4e3b\u9a8c\u8bc1\u5668\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u6b64\u8f93\u51fa\u662f\u9884\u671f\u7684\u3002\u5907\u4efd\u8282\u70b9\u5728\u901a\u884c\u8bc1\u521b\u5efa\u65f6\u4e0d\u80fd\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u73b0\u5728\u60a8\u5c06\u5728\u60a8\u8ba1\u5212\u4f7f\u7528\u4e3b\u9a8c\u8bc1\u5668\u6295\u7968\u8d26\u6237\u548c\u8eab\u4efd\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#_2","title":"\u51c6\u5907\u8fde\u63a5","text":"

\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002\u8fd9\u662f\u60a8\u62e5\u6709\u6d3b\u8dc3\u8d28\u62bc\u7684\u673a\u5668\uff0c\u8be5\u673a\u5668\u5728\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u4e0aSolana gossip\u4e2d\u4ee5\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668ID\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\uff1a

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

\u793a\u4f8b\u8f93\u51fa\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u6ce8\u610f\u6b64\u547d\u4ee4\u672b\u5c3e\u7684\u8f93\u51fa\u3002\u8fd9\u662f\u4e0b\u4e00\u6b65\u7684\u7ed3\u6784\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#4","title":"4. \u751f\u6210\u7b7e\u540d","text":"

\u5728\u4e0a\u4e00\u6b65\u7ed3\u675f\u65f6\uff0c\u6211\u4eec\u6536\u5230\u4e86solana sign-offchain-message\u7684\u9884\u683c\u5f0f\u5316\u8f93\u51fa\u3002

\u4ece\u4e0a\u8ff0\u8f93\u51fa\u4e2d\uff0c\u6211\u4eec\u5c06\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

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

\u8f93\u51fa\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#5-doublezero","title":"5. \u5728DoubleZero\u4e2d\u53d1\u8d77\u8fde\u63a5\u8bf7\u6c42","text":"

\u4f7f\u7528request-validator-access\u547d\u4ee4\u5728Solana\u4e0a\u4e3a\u8fde\u63a5\u8bf7\u6c42\u521b\u5efa\u8d26\u6237\u3002DoubleZero Sentinel\u4ee3\u7406\u68c0\u6d4b\u65b0\u8d26\u6237\uff0c\u9a8c\u8bc1\u5176\u8eab\u4efd\u548c\u7b7e\u540d\uff0c\u5e76\u5728DoubleZero\u4e2d\u521b\u5efa\u8bbf\u95ee\u901a\u884c\u8bc1\uff0c\u4f7f\u670d\u52a1\u5668\u80fd\u591f\u5efa\u7acb\u8fde\u63a5\u3002

\u4f7f\u7528\u8282\u70b9ID\u3001DoubleZero ID\u548c\u7b7e\u540d\u3002

Note

\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u4f7f\u7528-k /home/user/.config/solana/id.json\u6765\u67e5\u627e\u9a8c\u8bc1\u5668\u8eab\u4efd\u3002\u8bf7\u4f7f\u7528\u9002\u5408\u60a8\u672c\u5730\u90e8\u7f72\u7684\u4f4d\u7f6e\u3002

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

\u8f93\u51fa\uff1a

\u6b64\u8f93\u51fa\u53ef\u7528\u4e8e\u5728Solana\u6d4f\u89c8\u5668\u4e2d\u67e5\u770b\u4ea4\u6613\u3002\u786e\u4fdd\u5c06\u6d4f\u89c8\u5668\u5207\u6362\u5230\u4e3b\u7f51\u3002\u6b64\u9a8c\u8bc1\u662f\u53ef\u9009\u7684\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u5982\u679c\u6210\u529f\uff0cDoubleZero\u5c06\u6ce8\u518c\u4e3b\u9a8c\u8bc1\u5668\u53ca\u5176\u5907\u4efd\u3002\u60a8\u73b0\u5728\u53ef\u4ee5\u5728\u8bbf\u95ee\u901a\u884c\u8bc1\u4e2d\u6ce8\u518c\u7684IP\u4e4b\u95f4\u8fdb\u884c\u6545\u969c\u8f6c\u79fb\u3002\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u6ce8\u518c\u5907\u4efd\u8282\u70b9\u65f6\uff0cDoubleZero\u5c06\u81ea\u52a8\u7ef4\u62a4\u8fde\u63a5\u3002

"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#6-ibrl","title":"6. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u3002\u5728GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Note

\u68c0\u67e5\u6b64\u8f93\u51fa\u3002\u6ce8\u610fTunnel src\u548cDoubleZero IP\u4e0e\u60a8\u673a\u5668\u4e0a\u7684\u516c\u5171IPv4\u5730\u5740\u5339\u914d\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/DZ%20Mainnet-beta%20Connection/#_3","title":"\u4e0b\u4e00\u6b65\uff1a\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247","text":"

\u5982\u679c\u60a8\u5df2\u5b8c\u6210\u6b64\u8bbe\u7f6e\u5e76\u8ba1\u5212\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247\uff0c\u8bf7\u7ee7\u7eed\u8bbf\u95ee\u4e0b\u4e00\u9875\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/","title":"\u9a8c\u8bc1\u5668\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u6d4b\u8bd5\u7f51","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\u6d4b\u8bd5\u7f51\uff0c\u6211\u540c\u610f\u6b64\u5904\u89c4\u5b9a\u7684\u8bc4\u4f30\u534f\u8bae\u6761\u6b3e\uff08\u70b9\u51fb\u5c55\u5f00\uff09

DoubleZero\u6d4b\u8bd5\u7f51 \u8bc4\u4f30\u534f\u8bae

\u901a\u8fc7\u8bbf\u95ee\u6216\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\uff08\u5b9a\u4e49\u5982\u4e0b\uff09\uff0c\u60a8\u540c\u610f\u81ea\u9996\u6b21\u8bbf\u95ee\u4e4b\u65e5\uff08\"\u751f\u6548\u65e5\u671f\"\uff09\u8d77\uff0c\u672c\u8bc4\u4f30\u534f\u8bae\uff08\"\u534f\u8bae\"\uff09\u89c4\u5b9a\u4e86DoubleZero\u57fa\u91d1\u4f1a\uff08\"DZF\"\uff09\u5c06\u4ee5\u8bc4\u4f30\u4e3a\u57fa\u7840\u5411\u60a8\uff08\"\u7528\u6237\"\u6216\"\u60a8\"\uff09\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u8bbf\u95ee\u6743\u7684\u6761\u6b3e\u548c\u6761\u4ef6\u3002\u51fa\u4e8e\u76f8\u4e92\u627f\u8bfa\u7684\u5bf9\u4ef7\uff0c\u60a8\u540c\u610f\u5982\u4e0b\uff1a

1. \u5b9a\u4e49\u3002

1.1 \"\u4fdd\u5bc6\u4fe1\u606f\"\u6307\u4efb\u4f55\u4e00\u65b9\u5411\u53e6\u4e00\u65b9\u62ab\u9732\u7684\u3001\u88ab\u6307\u5b9a\u4e3a\u4fdd\u5bc6\u7684\u3001\u6216\u672c\u5e94\u88ab\u7406\u89e3\u4e3a\u4fdd\u5bc6\u7684\u6240\u6709\u4fe1\u606f\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u89e3\u51b3\u65b9\u6848\u3001\u4ea7\u54c1\u8ba1\u5212\u3001\u5546\u4e1a\u8ba1\u5212\u3001\u5546\u4e1a\u673a\u5bc6\u3001\u6280\u672f\u6216\u4efb\u4f55\u5176\u4ed6\u4e13\u6709\u4fe1\u606f\u3002

1.2 \"\u89e3\u51b3\u65b9\u6848\"\u6307\u7528\u4e8eweb3\u9879\u76ee\u7684DoubleZero\u9ad8\u6027\u80fd\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u7684\u6d4b\u8bd5\u7f51\u7248\u672c\uff08\"\u6d4b\u8bd5\u7f51\"\uff09\u53ca\u76f8\u5173\u7684\u96c6\u6210\u5e26\u5bbd\u8fb9\u7f18\u8fc7\u6ee4\u670d\u52a1\uff08\"\u4fe1\u606f\u670d\u52a1\"\uff09\u3001DZ\u8f6f\u4ef6\uff08\u5b9a\u4e49\u5982\u4e0b\uff09\u3001DZF\u63d0\u4f9b\u7684\u4e0eDZ\u8f6f\u4ef6\u76f8\u5173\u7684\u6240\u6709\u6750\u6599\uff08\"\u6587\u6863\"\uff09\uff0c\u4ee5\u53caDZF\u5728\u6b64\u63d0\u4f9b\u7ed9\u7528\u6237\u7684\u5176\u4ed6\u6750\u6599\u3002

2. \u8bbf\u95ee\u3002

2.1 \u8bbf\u95ee\u89e3\u51b3\u65b9\u6848\u3002\u5728\u672c\u534f\u8bae\u6761\u6b3e\u548c\u6761\u4ef6\u7684\u7ea6\u675f\u4e0b\uff0cDZF\u5c06\u901a\u8fc7\u4e92\u8054\u7f51\u5411\u7528\u6237\u63d0\u4f9b\u5bf9\u89e3\u51b3\u65b9\u6848\u7684\u8bbf\u95ee\u3002\u7528\u6237\u7684\u8bbf\u95ee\u662f\u5bf9\u89e3\u51b3\u65b9\u6848\u7684\u975e\u72ec\u5360\u3001\u4e0d\u53ef\u8f6c\u8ba9\u7684\u6709\u9650\u4f7f\u7528\uff0c\u4ec5\u4f9b\u7528\u6237\u8bc4\u4f30\u4fe1\u606f\u670d\u52a1\u3002\u5173\u4e8e\u6784\u6210\u89e3\u51b3\u65b9\u6848\u7684\u4efb\u4f55\u8f6f\u4ef6\uff08\"DZ\u8f6f\u4ef6\"\uff09\uff0cDZF\u7279\u6b64\u5728\u8bc4\u4f30\u671f\u5185\u6388\u4e88\u7528\u6237\u6709\u9650\u7684\u3001\u53ef\u64a4\u9500\u7684\u8bb8\u53ef\uff0c\u4ec5\u6309\u6587\u6863\u7684\u89c4\u5b9a\u590d\u5236\u3001\u4e0b\u8f7d\u3001\u5236\u4f5c\u5408\u7406\u6570\u91cf\u7684\u526f\u672c\u3001\u8fd0\u884c\u548c\u90e8\u7f72\uff08\u5982\u9002\u7528\uff09\u8be5DZ\u8f6f\u4ef6\u3002

2.2 \u9650\u5236\u3002\u7528\u6237\u53ef\u4ece\u751f\u6548\u65e5\u671f\u8d77\u81f3DZF\u7ec8\u6b62\uff08\"\u8bc4\u4f30\u671f\"\uff09\u671f\u95f4\uff0c\u6309\u7167\u672c\u534f\u8bae\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\u3002\u7528\u6237\u7406\u89e3\uff0c\u5728\u8bc4\u4f30\u671f\u4e4b\u540e\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\u7684\u4efb\u4f55\u6743\u5229\u5c06\u987b\u670d\u4ece\u53cc\u65b9\u4e4b\u95f4\u5173\u4e8e\u6b64\u7684\u5355\u72ec\u5546\u4e1a\u534f\u8bae\uff0c\u5305\u62ec\u652f\u4ed8\u8d39\u7528\u3002\u7528\u6237\u4e0d\u5f97\uff0c\u4e5f\u4e0d\u5f97\u5141\u8bb8\u4efb\u4f55\u7b2c\u4e09\u65b9\uff1a\uff08i\uff09\u4fee\u6539\u89e3\u51b3\u65b9\u6848\u6216\u5176\u4efb\u4f55\u90e8\u5206\uff0c\u6216\u57fa\u4e8e\u89e3\u51b3\u65b9\u6848\u6216\u5176\u4efb\u4f55\u90e8\u5206\u521b\u5efa\u4efb\u4f55\u884d\u751f\u4f5c\u54c1\uff1b\uff08ii\uff09\u9664\u672c\u534f\u8bae\u660e\u786e\u5141\u8bb8\u5916\u590d\u5236\u89e3\u51b3\u65b9\u6848\uff1b\uff08iii\uff09\u4ee5\u670d\u52a1\u5c40\u7684\u5f62\u5f0f\u6216\u4ee5\u5176\u4ed6\u65b9\u5f0f\uff0c\u5411\u7b2c\u4e09\u65b9\u8f6c\u8bb8\u53ef\u3001\u5206\u53d1\u3001\u51fa\u552e\u3001\u501f\u51fa\u3001\u51fa\u79df\u3001\u79df\u8d41\u3001\u8f6c\u8ba9\u6216\u6388\u4e88\u89e3\u51b3\u65b9\u6848\u5168\u90e8\u6216\u4efb\u4f55\u90e8\u5206\u7684\u4efb\u4f55\u6743\u5229\uff0c\u6216\u5411\u7b2c\u4e09\u65b9\u63d0\u4f9b\u5bf9\u89e3\u51b3\u65b9\u6848\u7684\u8bbf\u95ee\u6743\uff0c\u9664\u975e\u662f\u901a\u8fc7\u6216\u4e0e\u7528\u6237\u5e73\u53f0\u6216\u4ea7\u54c1\u76f8\u5173\u8054\u7684\u4fe1\u606f\u670d\u52a1\u4ea7\u54c1\uff0c\u4e14\u975e\u72ec\u7acb\u57fa\u7840\u4e0a\uff1b\u6216\uff08iv\uff09\u4ee5\u672c\u534f\u8bae\u89c4\u5b9a\u4ee5\u5916\u7684\u65b9\u5f0f\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\u3002

2.3 \u6240\u6709\u6743\u3002DZF\u4fdd\u7559\u89e3\u51b3\u65b9\u6848\u7684\u6240\u6709\u6743\u5229\u3001\u6240\u6709\u6743\u548c\u5229\u76ca\uff0c\u5305\u62ec\u77e5\u8bc6\u4ea7\u6743\u3002

3. \u53cd\u9988\u3002 DZF\u53ef\u80fd\u5b9a\u671f\u8981\u6c42\u7528\u6237\u63d0\u4f9b\uff0c\u7528\u6237\u540c\u610f\u5411DZF\u63d0\u4f9b\u5173\u4e8e\u89e3\u51b3\u65b9\u6848\u4f7f\u7528\u3001\u64cd\u4f5c\u548c\u529f\u80fd\u7684\u53cd\u9988\uff08\"\u53cd\u9988\"\uff09\u3002\u7528\u6237\u7279\u6b64\u6388\u4e88DZF\u975e\u72ec\u5360\u3001\u5168\u7403\u8303\u56f4\u3001\u6c38\u4e45\u3001\u4e0d\u53ef\u64a4\u9500\u3001\u514d\u7248\u7a0e\u3001\u5168\u989d\u4ed8\u6e05\u3001\u53ef\u5b8c\u5168\u8f6c\u8bb8\u53ef\u548c\u53ef\u8f6c\u8ba9\u7684\u6743\u5229\u548c\u8bb8\u53ef\uff0c\u5c06\u53cd\u9988\u7528\u4e8e\u548c\u7eb3\u5165\u4efb\u4f55\u4ea7\u54c1\u548c\u670d\u52a1\uff0c\u5236\u9020\u3001\u4f7f\u7528\u3001\u51fa\u552e\u3001\u8981\u7ea6\u51fa\u552e\u3001\u8fdb\u53e3\u548c\u4ee5\u5176\u4ed6\u65b9\u5f0f\u5229\u7528\u6b64\u7c7b\u4ea7\u54c1\u548c\u670d\u52a1\uff0c\u4ee5\u53ca\u4ee5\u5176\u4ed6\u65b9\u5f0f\u4f7f\u7528\u3001\u590d\u5236\u3001\u5206\u53d1\u548c\u4ee5\u5176\u4ed6\u65b9\u5f0f\u5229\u7528\u53cd\u9988\u800c\u4e0d\u53d7\u9650\u5236\u3002

4. \u671f\u9650\u548c\u7ec8\u6b62\u3002

4.1 \u671f\u9650\u3002\u672c\u534f\u8bae\u81ea\u751f\u6548\u65e5\u671f\u8d77\u751f\u6548\uff0c\u5e76\u5728\u6574\u4e2a\u8bc4\u4f30\u671f\u5185\u4fdd\u6301\u5b8c\u5168\u6548\u529b\u3002\u4efb\u4f55\u4e00\u65b9\u5747\u53ef\u51fa\u4e8e\u4efb\u4f55\u539f\u56e0\u6216\u65e0\u539f\u56e0\uff0c\u901a\u8fc7\u4e66\u9762\u901a\u77e5\u53e6\u4e00\u65b9\uff08\u7535\u5b50\u90ae\u4ef6\u5373\u53ef\uff09\u7acb\u5373\u4ee5\u4fbf\u5229\u4e3a\u7531\u7ec8\u6b62\u672c\u534f\u8bae\u3002

4.1 \u7ec8\u6b62\u7684\u6548\u679c\u3002\u672c\u534f\u8bae\u56e0\u4efb\u4f55\u539f\u56e0\u7ec8\u6b62\u540e\uff1a\uff08i\uff09\u6388\u4e88\u7528\u6237\u7684\u6743\u5229\u5c06\u7acb\u5373\u7ec8\u6b62\uff1b\uff08ii\uff09\u7528\u6237\u5e94\u7acb\u5373\u505c\u6b62\u4f7f\u7528\u89e3\u51b3\u65b9\u6848\uff0c\u5e76\u9000\u8fd8\u6216\u9500\u6bc1\u5176\u63a7\u5236\u4e0b\u7684\u6240\u6709\u6587\u6863\u548c\u4efb\u4f55DZ\u8f6f\u4ef6\uff1b\uff08iii\uff09\u5404\u65b9\u5e94\u7acb\u5373\u9000\u8fd8\u6216\u9500\u6bc1\u53e6\u4e00\u65b9\u7684\u6240\u6709\u4fdd\u5bc6\u4fe1\u606f\u548c\u8d22\u4ea7\uff1b\u4ee5\u53ca\uff08iv\uff09\u7b2c2.2\u30012.3\u30013\u30014.2\u6761\u548c\u7b2c5\u81f38\u6761\u5c06\u7ee7\u7eed\u6709\u6548\u3002

5. \u4fdd\u5bc6\u3002 \u5404\u65b9\u540c\u610f\uff0c\u5b83\u5c06\u4ec5\u4f7f\u7528\u53e6\u4e00\u65b9\u7684\u4fdd\u5bc6\u4fe1\u606f\u5c65\u884c\u5176\u5728\u672c\u534f\u8bae\u4e0b\u7684\u4e49\u52a1\u548c\u884c\u4f7f\u5176\u6743\u5229\uff0c\u4e14\u4e0d\u5f97\u62ab\u9732\u6216\u5141\u8bb8\u62ab\u9732\u76f8\u540c\u4fe1\u606f\uff0c\u9664\u975e\u672c\u534f\u8bae\u53e6\u6709\u5141\u8bb8\u3002\u4f46\u662f\uff0c\u4efb\u4f55\u4e00\u65b9\u53ef\u5411\u6709\u77e5\u60c5\u9700\u8981\u4e14\u53d7\u4e0d\u4f4e\u4e8e\u672c\u534f\u8bae\u89c4\u5b9a\u7684\u4fdd\u5bc6\u4e49\u52a1\u7ea6\u675f\u7684\u5176\u4eba\u5458\u3001\u5f8b\u5e08\u548c\u5176\u4ed6\u4ee3\u8868\u62ab\u9732\u4fdd\u5bc6\u4fe1\u606f\uff1b\u4ee5\u53ca\u5728\u6cd5\u5f8b\u8981\u6c42\u65f6\uff08\u5728\u6b64\u60c5\u51b5\u4e0b\uff0c\u63a5\u6536\u65b9\u5c06\u5728\u62ab\u9732\u524d\u901a\u77e5\u62ab\u9732\u65b9\uff0c\u5e76\u63d0\u4f9b\u5bf9\u6b64\u7c7b\u62ab\u9732\u63d0\u51fa\u5f02\u8bae\u7684\u673a\u4f1a\uff0c\u4e14\u5c06\u5728\u9002\u7528\u6cd5\u5f8b\u5141\u8bb8\u7684\u8303\u56f4\u5185\u5c06\u6b64\u7c7b\u62ab\u9732\u6700\u5c0f\u5316\uff09\u3002\u7b2c5\u6761\u7684\u4fdd\u5bc6\u4e49\u52a1\u4e0d\u9002\u7528\u4e8e\u4ee5\u4e0b\u4fe1\u606f\uff1a\uff08a\uff09\u975e\u56e0\u63a5\u6536\u65b9\u7684\u8fc7\u9519\u800c\u6210\u4e3a\u6216\u53d8\u5f97\u666e\u904d\u5df2\u77e5\u6216\u516c\u5f00\u53ef\u83b7\u5f97\u7684\u4fe1\u606f\uff1b\uff08b\uff09\u5728\u62ab\u9732\u65b9\u62ab\u9732\u4e4b\u524d\uff0c\u63a5\u6536\u65b9\u5df2\u5728\u65e0\u9650\u5236\u60c5\u51b5\u4e0b\u9002\u5f53\u77e5\u6653\u7684\u4fe1\u606f\uff1b\uff08c\uff09\u6709\u5408\u6cd5\u6388\u6743\u7684\u5176\u4ed6\u4eba\u58eb\u5728\u65e0\u9650\u5236\u60c5\u51b5\u4e0b\u9002\u5f53\u5411\u63a5\u6536\u65b9\u62ab\u9732\u7684\u4fe1\u606f\uff1b\u6216\uff08d\uff09\u63a5\u6536\u65b9\u672a\u4f7f\u7528\u6216\u53c2\u8003\u62ab\u9732\u65b9\u7684\u4fdd\u5bc6\u4fe1\u606f\u800c\u72ec\u7acb\u5f00\u53d1\u7684\u4fe1\u606f\u3002\u5404\u65b9\u540c\u610f\u5728\u4fdd\u62a4\u53e6\u4e00\u65b9\u7684\u4fdd\u5bc6\u4fe1\u606f\u514d\u53d7\u672a\u7ecf\u6388\u6743\u7684\u4f7f\u7528\u548c\u62ab\u9732\u65b9\u9762\u5c3d\u804c\u5c3d\u8d23\u3002\u5982\u679c\u672c\u6761\u6b3e\u6216\u672c\u534f\u8bae\u6240\u542b\u8bb8\u53ef\u7684\u6761\u6b3e\u5b9e\u9645\u6216\u5a01\u80c1\u906d\u53d7\u8fdd\u53cd\uff0c\u975e\u8fdd\u7ea6\u65b9\u5c06\u6709\u6743\u5bfb\u6c42\u5373\u65f6\u7981\u4ee4\u6551\u6d4e\u548c\u5176\u4ed6\u8861\u5e73\u6cd5\u6551\u6d4e\uff0c\u800c\u4e0d\u653e\u5f03\u5176\u53ef\u83b7\u5f97\u7684\u4efb\u4f55\u5176\u4ed6\u6743\u5229\u6216\u6551\u6d4e\u3002\u7528\u6237\u8d1f\u8d23\u7ef4\u62a4\u89e3\u51b3\u65b9\u6848\u7684\u5b89\u5168\u4ee5\u53ca\u4efb\u4f55\u63d0\u4f9b\u5bf9\u89e3\u51b3\u65b9\u6848\u8bbf\u95ee\u6743\u7684\u5bc6\u7801\u3001\u52a9\u8bb0\u8bcd\u6216\u4ee3\u7801\u4f5c\u4e3aDZF\u4fdd\u5bc6\u4fe1\u606f\u7684\u4fdd\u5bc6\u6027\u3002\u6b64\u5904\u4efb\u4f55\u5185\u5bb9\u5747\u4e0d\u9650\u5236\u6216\u9650\u5236DZF\u4f7f\u7528\u6709\u5173\u89e3\u51b3\u65b9\u6848\u6027\u80fd\u3001\u53ef\u7528\u6027\u3001\u4f7f\u7528\u60c5\u51b5\u3001\u5b8c\u6574\u6027\u548c\u5b89\u5168\u6027\u6570\u636e\u7684\u6743\u5229\u6216\u80fd\u529b\u3002\u5982\u679c\u4efb\u4f55\u4e00\u65b9\u8fdd\u53cd\u6216\u5a01\u80c1\u8fdd\u53cd\u7b2c5\u6761\u7684\u89c4\u5b9a\uff0c\u5404\u65b9\u540c\u610f\u975e\u8fdd\u7ea6\u65b9\u5c06\u6ca1\u6709\u5145\u5206\u7684\u6cd5\u5f8b\u6551\u6d4e\uff0c\u56e0\u6b64\u6709\u6743\u83b7\u5f97\u5373\u65f6\u7981\u4ee4\u548c\u5176\u4ed6\u8861\u5e73\u6cd5\u6551\u6d4e\uff0c\u65e0\u9700\u4fdd\u8bc1\u91d1\uff0c\u4e5f\u65e0\u9700\u8bc1\u660e\u5b9e\u9645\u91d1\u94b1\u635f\u5bb3\u3002

6. \u4fdd\u8bc1\u514d\u8d23\u58f0\u660e\uff1b\u8d23\u4efb\u9650\u5236\u3002

6.1 \u4fdd\u8bc1\u514d\u8d23\u58f0\u660e\u3002\u89e3\u51b3\u65b9\u6848\u6309\"\u539f\u6837\"\u63d0\u4f9b\uff0c\u4e0d\u9644\u4efb\u4f55\u5f62\u5f0f\u7684\u4fdd\u8bc1\u3002DZF\u4e0d\u505a\u4efb\u4f55\u660e\u793a\u3001\u9ed8\u793a\u3001\u6cd5\u5b9a\u6216\u5176\u4ed6\u5f62\u5f0f\u7684\u4fdd\u8bc1\uff0c\u5305\u62ec\u89e3\u51b3\u65b9\u6848\u548c\u6587\u6863\u7684\u72b6\u51b5\u3001\u7b26\u5408\u4efb\u4f55\u9648\u8ff0\u6216\u63cf\u8ff0\uff0cDZF\u7279\u522b\u58f0\u660e\u4e0d\u627f\u62c5\u6240\u6709\u5173\u4e8e\u9002\u9500\u6027\u3001\u7279\u5b9a\u7528\u9014\u9002\u7528\u6027\u3001\u6240\u6709\u6743\u548c\u4e0d\u4fb5\u6743\u7684\u9ed8\u793a\u4fdd\u8bc1\u3002

6.2 \u8d23\u4efb\u9650\u5236\u3002 \u9664\u7b2c2.1\u30012.2\u548c5\u6761\u7684\u8fdd\u53cd\u5916\uff0c\u5728\u4efb\u4f55\u60c5\u51b5\u4e0b\uff0c\u4efb\u4f55\u4e00\u65b9\u5747\u4e0d\u5bf9\u53e6\u4e00\u65b9\u56e0\u672c\u534f\u8bae\u5f15\u8d77\u7684\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u95f4\u63a5\u3001\u9644\u5e26\u3001\u7279\u6b8a\u6216\u5176\u4ed6\u95f4\u63a5\u635f\u5bb3\u8d1f\u8d23\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5229\u6da6\u635f\u5931\u6216\u4f7f\u7528\u635f\u5931\u6216\u6570\u636e\u635f\u5931\uff0c\u65e0\u8bba\u662f\u5408\u540c\u8bc9\u8bbc\u3001\u4fb5\u6743\u884c\u4e3a\u8fd8\u662f\u5176\u4ed6\u60c5\u51b5\uff0c\u5373\u4f7f\u53e6\u4e00\u65b9\u5df2\u88ab\u544a\u77e5\u53ef\u80fd\u53d1\u751f\u6b64\u7c7b\u635f\u5bb3\u3002\u5728\u4efb\u4f55\u60c5\u51b5\u4e0b\uff0cDZF\u56e0\u672c\u534f\u8bae\u5f15\u8d77\u7684\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u603b\u8d23\u4efb\u4e0d\u5f97\u8d85\u8fc7\u4e00\u767e\u7f8e\u5143\uff08$100\uff09\uff0c\u65e0\u8bba\u662f\u5408\u540c\u884c\u4e3a\u3001\u4fb5\u6743\u884c\u4e3a\u8fd8\u662f\u5176\u4ed6\u60c5\u51b5\u3002\u4e0a\u8ff0\u9650\u5236\u5c06\u4e0d\u987e\u672c\u534f\u8bae\u4e2d\u4efb\u4f55\u6709\u9650\u6551\u6d4e\u7684\u57fa\u672c\u76ee\u7684\u5931\u8d25\u800c\u9002\u7528\u3002\u53cc\u65b9\u540c\u610f\uff0c\u4e0a\u8ff0\u9650\u5236\u4ee3\u8868\u672c\u534f\u8bae\u4e0b\u5408\u7406\u7684\u98ce\u9669\u5206\u914d\u3002

7. \u9002\u7528\u6cd5\u5f8b\u3002 \u672c\u534f\u8bae\u53ca\u56e0\u672c\u534f\u8bae\u5f15\u8d77\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u6240\u6709\u4e8b\u9879\u5e94\u53d7\u5f00\u66fc\u7fa4\u5c9b\u6cd5\u5f8b\u7684\u7ba1\u8f96\u3001\u89e3\u91ca\u548c\u6784\u5efa\u3002\u5982\u679c\u56e0\u672c\u534f\u8bae\u4ea7\u751f\u6216\u4e0e\u672c\u534f\u8bae\u6709\u5173\u7684\u4e89\u8bae\u3001\u7ea0\u7eb7\u6216\u7d22\u8d54\uff08\"\u4e89\u8bae\"\uff09\uff0c\u76f8\u5173\u65b9\u5e94\u89c6\u60c5\u51b5\u5411\u5176\u4ed6\u5404\u65b9\u53d1\u51fa30\u5929\u7684\u4e89\u8bae\u901a\u77e5\uff08\"\u4e89\u8bae\u901a\u77e5\"\uff09\u3002\u5982\u679c\u4e89\u8bae\u5728\u4e89\u8bae\u901a\u77e5\u9001\u8fbe\u540e30\u5929\u5c4a\u6ee1\u65f6\u4ecd\u672a\u89e3\u51b3\uff0c\u76f8\u5173\u65b9\u53ef\u6309\u7167\u672c\u534f\u8bae\u7684\u89c4\u5b9a\u542f\u52a8\u4ef2\u88c1\u7a0b\u5e8f\u3002\u5982\u679c\u4e89\u8bae\u5728\u4e89\u8bae\u901a\u77e5\u9001\u8fbe\u540e30\u5929\u5c4a\u6ee1\u65f6\u4ecd\u672a\u89e3\u51b3\uff0c\u4e89\u8bae\u5e94\u901a\u8fc7\u5f00\u66fc\u56fd\u9645\u8c03\u89e3\u4e0e\u4ef2\u88c1\u4e2d\u5fc3\uff08CI-MAC\uff09\u6309\u7167\u672c\u534f\u8bae\u7b7e\u7f72\u4e4b\u65e5\u6709\u6548\u7684CI-MAC\u4ef2\u88c1\u89c4\u5219\uff08\"\u4ef2\u88c1\u89c4\u5219\"\uff09\u8fdb\u884c\u4ef2\u88c1\u89e3\u51b3\uff0c\u8be5\u4ef2\u88c1\u89c4\u5219\u89c6\u4e3a\u901a\u8fc7\u5f15\u7528\u5e76\u5165\u672c\u6761\u6b3e\uff0c\u5e76\u53d7\u300a\u4ef2\u88c1\u6cd5\u300b\uff08\u7ecf\u4fee\u8ba2\uff09\u7ba1\u8f96\u3002\u4ef2\u88c1\u5730\u70b9\u5e94\u5728\u5f00\u66fc\u7fa4\u5c9b\u5927\u5f00\u66fc\u7684\u4e54\u6cbb\u6566\uff0c\u5e76\u53d7\u5f00\u66fc\u7fa4\u5c9b\u6cd5\u5f8b\u7ba1\u8f96\u3002\u4ef2\u88c1\u8bed\u8a00\u5e94\u4e3a\u82f1\u8bed\u3002\u4ef2\u88c1\u5e94\u7531\u6839\u636e\u4ef2\u88c1\u89c4\u5219\u6307\u5b9a\u7684\u72ec\u4efb\u4ef2\u88c1\u5458\u88c1\u5b9a\u3002\u4ef2\u88c1\u5458\u505a\u51fa\u7684\u4efb\u4f55\u88c1\u51b3\u6216\u51b3\u5b9a\u5e94\u4ee5\u4e66\u9762\u5f62\u5f0f\u4f5c\u51fa\uff0c\u5e76\u5bf9\u5404\u65b9\u6700\u7ec8\u5177\u6709\u7ea6\u675f\u529b\uff0c\u4e0d\u5f97\u4e0a\u8bc9\uff0c\u5bf9\u4efb\u4f55\u6b64\u7c7b\u88c1\u51b3\u7684\u5224\u51b3\u53ef\u5728\u4efb\u4f55\u6709\u7ba1\u8f96\u6743\u7684\u6cd5\u9662\u6267\u884c\u3002\u4e0d\u5f97\u5728\u4efb\u4f55\u53f8\u6cd5\u7ba1\u8f96\u533a\u7684\u4efb\u4f55\u6cd5\u9662\u63d0\u51fa\u57fa\u4e8e\u672c\u534f\u8bae\u5f15\u8d77\u6216\u4e0e\u672c\u534f\u8bae\u76f8\u5173\u7684\u4efb\u4f55\u7d22\u8d54\u7684\u6cd5\u5f8b\u8bc9\u8bbc\u6216\u8861\u5e73\u6cd5\u8bc9\u8bbc\u3002\u5982\u679c\u9700\u8981\u8bc9\u8bf8\u6cd5\u5f8b\u6216\u4ef2\u88c1\u6765\u6267\u884c\u672c\u534f\u8bae\u7684\u6761\u6b3e\uff0c\u80dc\u8bc9\u65b9\u5c06\u6709\u6743\u7531\u53e6\u4e00\u65b9\u652f\u4ed8\u5176\u5f8b\u5e08\u8d39\u3002\u5404\u65b9\u653e\u5f03\u5176\u53ef\u80fd\u62e5\u6709\u7684\u4e3b\u5f20\u4e0d\u65b9\u4fbf\u6cd5\u9662\u539f\u5219\u7684\u4efb\u4f55\u6743\u5229\u3001\u4e3b\u5f20\u5176\u4e0d\u53d7\u6b64\u7c7b\u4ef2\u88c1\u6216\u6cd5\u9662\u7ba1\u8f96\u7684\u4efb\u4f55\u6743\u5229\uff0c\u6216\u5728\u6309\u7167\u672c\u534f\u8bae\u63d0\u8d77\u8bc9\u8bbc\u7684\u8303\u56f4\u5185\u5bf9\u5730\u70b9\u63d0\u51fa\u5f02\u8bae\u7684\u6743\u5229\u3002

8. \u4e00\u822c\u6761\u6b3e\u3002 \u672a\u7ecfDZF\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u7528\u6237\u4e0d\u5f97\u8f6c\u8ba9\u6216\u8f6c\u79fb\u672c\u534f\u8bae\u3002DZF\u53ef\u81ea\u7531\u8f6c\u8ba9\u672c\u534f\u8bae\u3002\u672c\u534f\u8bae\u89c4\u5b9a\u7684\u6240\u6709\u901a\u77e5\u5e94\u901a\u8fc7\u7535\u5b50\u90ae\u4ef6\u53d1\u9001\uff08\u53d1\u9001\u7ed9DZF\uff1alegal@doublezero.xyz\uff09\uff0c\u5e76\u89c6\u4e3a\u53d1\u9001\u540e\u6b21\u65e5\u6536\u5230\uff08\u5df2\u786e\u8ba4\u4f20\u8f93\uff09\u3002\u5982\u679c\u672c\u534f\u8bae\u7684\u4efb\u4f55\u6761\u6b3e\u88ab\u8ba4\u5b9a\u4e3a\u65e0\u6548\u6216\u4e0d\u53ef\u6267\u884c\uff0c\u672c\u534f\u8bae\u7684\u5176\u4f59\u6761\u6b3e\u5c06\u7ee7\u7eed\u5b8c\u5168\u6709\u6548\u3002\u4efb\u4f55\u4e00\u65b9\u5bf9\u672c\u534f\u8bae\u7684\u4efb\u4f55\u8fdd\u7ea6\u6216\u8fdd\u53cd\u7684\u653e\u5f03\u4e0d\u6784\u6210\u5bf9\u4efb\u4f55\u5176\u4ed6\u6216\u540e\u7eed\u8fdd\u7ea6\u6216\u8fdd\u53cd\u7684\u653e\u5f03\u3002\u4efb\u4f55\u4e00\u65b9\u5747\u4e0d\u5bf9\u56e0\u4e0d\u53ef\u6297\u529b\u4e8b\u4ef6\u3001\u5730\u9707\u3001\u7269\u8d44\u77ed\u7f3a\u3001\u8fd0\u8f93\u56f0\u96be\u3001\u52b3\u8d44\u7ea0\u7eb7\u3001\u9a9a\u4e71\u3001\u6218\u4e89\u3001\u706b\u707e\u3001\u6d41\u884c\u75c5\u4ee5\u53ca\u5176\u63a7\u5236\u8303\u56f4\u4e4b\u5916\u7684\u7c7b\u4f3c\u60c5\u51b5\uff08\u65e0\u8bba\u662f\u5426\u53ef\u9884\u89c1\uff09\u5bfc\u81f4\u7684\u4efb\u4f55\u5ef6\u8fdf\u6216\u5c65\u884c\u5931\u8d25\u8d1f\u8d23\u3002\u672c\u534f\u8bae\u8fde\u540c\u4efb\u4f55\u9644\u4ef6\u6784\u6210\u53cc\u65b9\u4e4b\u95f4\u5173\u4e8e\u672c\u534f\u8bae\u4e3b\u9898\u7684\u5b8c\u6574\u534f\u8bae\uff0c\u5e76\u53d6\u4ee3\u6240\u6709\u4e4b\u524d\u6216\u540c\u671f\u7684\u534f\u8bae\u6216\u9648\u8ff0\uff0c\u65e0\u8bba\u662f\u4e66\u9762\u7684\u8fd8\u662f\u53e3\u5934\u7684\u3002\u672c\u534f\u8bae\u4e0d\u5f97\u4ee5\u4e66\u9762\u5f62\u5f0f\u4fee\u6539\u6216\u4fee\u8ba2\uff0c\u9664\u975e\u7ecf\u5404\u65b9\u6388\u6743\u4ee3\u8868\u7b7e\u7f72\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#ibrl_1","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u6d4b\u8bd5\u7f51","text":"

Note

IBRL\u6a21\u5f0f\u4e0d\u9700\u8981\u91cd\u542f\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\uff0c\u56e0\u4e3a\u5b83\u4f7f\u7528\u60a8\u73b0\u6709\u7684\u516c\u5171IP\u5730\u5740\u3002

Solana\u6d4b\u8bd5\u7f51\u9a8c\u8bc1\u5668\u5c06\u5b8c\u6210\u5230DoubleZero\u6d4b\u8bd5\u7f51\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

\u6bcf\u4e2aSolana\u9a8c\u8bc1\u5668\u90fd\u6709\u5176\u81ea\u5df1\u7684\u8eab\u4efd\u5bc6\u94a5\u5bf9\uff1b\u4ece\u4e2d\u63d0\u53d6\u79f0\u4e3a\u8282\u70b9ID\u7684\u516c\u94a5\u3002\u8fd9\u662f\u9a8c\u8bc1\u5668\u5728Solana\u7f51\u7edc\u4e0a\u7684\u552f\u4e00\u6307\u7eb9\u3002

\u786e\u8ba4DoubleZero ID\u548c\u8282\u70b9ID\u540e\uff0c\u60a8\u5c06\u8bc1\u660e\u60a8\u5bf9\u673a\u5668\u7684\u6240\u6709\u6743\u3002\u8fd9\u901a\u8fc7\u521b\u5efa\u5305\u542b\u4f7f\u7528\u9a8c\u8bc1\u5668\u8eab\u4efd\u5bc6\u94a5\u7b7e\u540d\u7684DoubleZero ID\u7684\u6d88\u606f\u6765\u5b8c\u6210\u3002\u7531\u6b64\u4ea7\u751f\u7684\u52a0\u5bc6\u7b7e\u540d\u4f5c\u4e3a\u60a8\u63a7\u5236\u8be5\u9a8c\u8bc1\u5668\u7684\u53ef\u9a8c\u8bc1\u8bc1\u660e\u3002

\u6700\u540e\uff0c\u60a8\u5c06\u5411DoubleZero\u63d0\u4ea4\u8fde\u63a5\u8bf7\u6c42\u3002\u6b64\u8bf7\u6c42\u4f20\u8fbe\uff1a\"\u8fd9\u662f\u6211\u7684\u8eab\u4efd\uff0c\u8fd9\u662f\u6240\u6709\u6743\u8bc1\u660e\uff0c\u8fd9\u662f\u6211\u6253\u7b97\u5982\u4f55\u8fde\u63a5\u3002\" DoubleZero\u9a8c\u8bc1\u6b64\u4fe1\u606f\uff0c\u63a5\u53d7\u8bc1\u660e\uff0c\u5e76\u4e3aDoubleZero\u4e0a\u7684\u9a8c\u8bc1\u5668\u914d\u7f6e\u7f51\u7edc\u8bbf\u95ee\u3002

\u672c\u6307\u5357\u5141\u8bb81\u4e2a\u4e3b\u9a8c\u8bc1\u5668\u6ce8\u518c\u81ea\u8eab\uff0c\u4ee5\u53ca\u540c\u65f6\u6ce8\u518c\u6700\u591a3\u53f0\u5907\u4efd/\u6545\u969c\u8f6c\u79fb\u673a\u5668\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u9a8c\u8bc1\u5668ID\u5c06\u4e0eSolana gossip\u8fdb\u884c\u6838\u5bf9\u4ee5\u786e\u5b9a\u76ee\u6807IP\u3002\u7136\u540e\u5c06\u4f7f\u7528\u76ee\u6807IP\u548cDoubleZero ID\u5728\u60a8\u7684\u673a\u5668\u548c\u76ee\u6807DoubleZero\u8bbe\u5907\u4e4b\u95f4\u5efa\u7acbGRE\u96a7\u9053\u3002

\u6ce8\u610f\uff1a\u5982\u679c\u60a8\u5728\u540c\u4e00IP\u4e0a\u540c\u65f6\u6709\u5783\u573eID\u548c\u4e3bID\uff0c\u53ea\u6709\u4e3bID\u5c06\u7528\u4e8e\u673a\u5668\u6ce8\u518c\u3002\u8fd9\u662f\u56e0\u4e3a\u5783\u573eID\u4e0d\u4f1a\u51fa\u73b0\u5728gossip\u4e2d\uff0c\u56e0\u6b64\u65e0\u6cd5\u7528\u4e8e\u9a8c\u8bc1\u76ee\u6807\u673a\u5668\u7684IP\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u6d4b\u8bd5\u7f51\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a
\u2705 doublezerod configured for environment testnet\n

\u5927\u7ea630\u79d2\u540e\uff0c\u60a8\u5c06\u770b\u5230\u53ef\u7528\u7684DoubleZero\u8bbe\u5907\uff1a

doublezero latency\n
\u793a\u4f8b\u8f93\u51fa\uff08\u6d4b\u8bd5\u7f51\uff09
doublezero latency\n pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.44ms   | 2.63ms   | 2.50ms   | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 71.97ms  | 72.01ms  | 71.99ms  | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.08ms  | 72.00ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.55ms  | 76.65ms  | 76.61ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.01ms  | 83.10ms  | 83.05ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.87ms  | 84.91ms  | 84.89ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 95.27ms  | 95.30ms  | 95.29ms  | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 180.96ms | 181.08ms | 181.02ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 220.87ms | 221.14ms | 220.97ms | true\n

\u4e3b\u7f51\u8f93\u51fa\u7ed3\u6784\u76f8\u540c\uff0c\u4f46\u53ef\u7528\u8bbe\u5907\u66f4\u591a\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#2-44880","title":"2. \u5f00\u653e44880\u7aef\u53e3","text":"

\u7528\u6237\u9700\u8981\u5f00\u653e44880\u7aef\u53e3\u4ee5\u4f7f\u7528\u67d0\u4e9b\u8def\u7531\u529f\u80fd\u3002

\u8981\u5f00\u653e44880\u7aef\u53e3\uff0c\u60a8\u53ef\u4ee5\u66f4\u65b0IP\u8868\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610f-i doublezero0\u3001-o doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

\u6216UFW\uff0c\u4f8b\u5982\uff1a

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

\u6ce8\u610fin on doublezero0\u3001out on doublezero0\u6807\u5fd7\uff0c\u8fd9\u4e9b\u6807\u5fd7\u5c06\u6b64\u89c4\u5219\u9650\u5236\u4e3a\u4ec5DoubleZero\u63a5\u53e3\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#3","title":"3. \u8bc1\u660e\u9a8c\u8bc1\u5668\u6240\u6709\u6743","text":"

\u8bbe\u7f6e\u597dDoubleZero\u73af\u5883\u540e\uff0c\u73b0\u5728\u662f\u8bc1\u660e\u60a8\u7684\u9a8c\u8bc1\u5668\u6240\u6709\u6743\u7684\u65f6\u5019\u4e86\u3002

\u60a8\u5728\u4e3b\u9a8c\u8bc1\u5668\u8bbe\u7f6e\u4e2d\u521b\u5efa\u7684DoubleZero ID\u5fc5\u987b\u7528\u4e8e\u6240\u6709\u5907\u4efd\u673a\u5668\u3002

\u60a8\u4e3b\u673a\u5668\u4e0a\u7684ID\u53ef\u4ee5\u901a\u8fc7doublezero address\u627e\u5230\u3002\u76f8\u540c\u7684ID\u5fc5\u987b\u5728\u96c6\u7fa4\u4e2d\u6240\u6709\u673a\u5668\u7684~/.config/doublezero/id.json\u4e2d\u3002

\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e00\u70b9\uff0c\u60a8\u9996\u5148\u9700\u8981\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u662f\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668\uff1a

doublezero-solana passport find-validator -ut\n

\u8fd9\u9a8c\u8bc1\u4e86\u9a8c\u8bc1\u5668\u5df2\u5728gossip\u4e2d\u6ce8\u518c\u5e76\u51fa\u73b0\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u65e0\u8bba\u662f\u4e00\u53f0\u8fd8\u662f\u591a\u53f0\u673a\u5668\uff0c\u5de5\u4f5c\u6d41\u7a0b\u76f8\u540c\u3002 \u8981\u6ce8\u518c\u4e00\u53f0\u673a\u5668\uff0c\u8bf7\u4ece\u672c\u9875\u4e0a\u7684\u4efb\u4f55\u547d\u4ee4\u4e2d\u6392\u9664\u53c2\u6570\"--backup-validator-ids\"\u6216\"backup_ids=\"\u3002

\u73b0\u5728\uff0c\u5728\u60a8\u6253\u7b97\u8fd0\u884c\u4e3b\u9a8c\u8bc1\u5668\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana passport find-validator -ut\n

\u9884\u671f\u8f93\u51fa\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u6b64\u8f93\u51fa\u662f\u9884\u671f\u7684\u3002\u5907\u4efd\u8282\u70b9\u5728\u901a\u884c\u8bc1\u521b\u5efa\u65f6\u4e0d\u80fd\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\u3002

\u73b0\u5728\u60a8\u5c06\u5728\u60a8\u8ba1\u5212\u4f7f\u7528\u4e3b\u9a8c\u8bc1\u5668\u6295\u7968\u8d26\u6237\u548c\u8eab\u4efd\u7684\u6240\u6709\u5907\u4efd\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#_2","title":"\u51c6\u5907\u8fde\u63a5","text":"

\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002\u8fd9\u662f\u60a8\u62e5\u6709\u6d3b\u8dc3\u8d28\u62bc\u7684\u673a\u5668\uff0c\u8be5\u673a\u5668\u5728\u60a8\u6b63\u5728\u8fd0\u884c\u547d\u4ee4\u7684\u673a\u5668\u4e0aSolana gossip\u4e2d\u4ee5\u60a8\u7684\u4e3b\u9a8c\u8bc1\u5668ID\u5728\u9886\u5bfc\u8005\u65f6\u95f4\u8868\u4e2d\uff1a

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

\u793a\u4f8b\u8f93\u51fa\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u6ce8\u610f\u6b64\u547d\u4ee4\u672b\u5c3e\u7684\u8f93\u51fa\u3002\u8fd9\u662f\u4e0b\u4e00\u6b65\u7684\u7ed3\u6784\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#4","title":"4. \u751f\u6210\u7b7e\u540d","text":"

\u5728\u4e0a\u4e00\u6b65\u7ed3\u675f\u65f6\uff0c\u6211\u4eec\u6536\u5230\u4e86solana sign-offchain-message\u7684\u9884\u683c\u5f0f\u5316\u8f93\u51fa\u3002

\u4ece\u4e0a\u8ff0\u8f93\u51fa\u4e2d\uff0c\u6211\u4eec\u5c06\u5728\u4e3b\u9a8c\u8bc1\u5668\u673a\u5668\u4e0a\u8fd0\u884c\u6b64\u547d\u4ee4\u3002

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

\u8f93\u51fa\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"zh/DZ%20Testnet%20Connection/#5-doublezero","title":"5. \u5728DoubleZero\u4e2d\u53d1\u8d77\u8fde\u63a5\u8bf7\u6c42","text":"

\u4f7f\u7528request-validator-access\u547d\u4ee4\u5728Solana\u4e0a\u4e3a\u8fde\u63a5\u8bf7\u6c42\u521b\u5efa\u8d26\u6237\u3002DoubleZero Sentinel\u4ee3\u7406\u68c0\u6d4b\u65b0\u8d26\u6237\uff0c\u9a8c\u8bc1\u5176\u8eab\u4efd\u548c\u7b7e\u540d\uff0c\u5e76\u5728DoubleZero\u4e2d\u521b\u5efa\u8bbf\u95ee\u901a\u884c\u8bc1\uff0c\u4f7f\u670d\u52a1\u5668\u80fd\u591f\u5efa\u7acb\u8fde\u63a5\u3002

\u4f7f\u7528\u8282\u70b9ID\u3001DoubleZero ID\u548c\u7b7e\u540d\u3002

Note

\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u4f7f\u7528-k /home/user/.config/solana/id.json\u6765\u67e5\u627e\u9a8c\u8bc1\u5668\u8eab\u4efd\u3002\u8bf7\u4f7f\u7528\u9002\u5408\u60a8\u672c\u5730\u90e8\u7f72\u7684\u4f4d\u7f6e\u3002

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

\u8f93\u51fa\uff1a

\u6b64\u8f93\u51fa\u53ef\u7528\u4e8e\u5728Solana\u6d4f\u89c8\u5668\u4e2d\u67e5\u770b\u4ea4\u6613\u3002\u786e\u4fdd\u5c06\u6d4f\u89c8\u5668\u5207\u6362\u5230\u6d4b\u8bd5\u7f51\u3002\u6b64\u9a8c\u8bc1\u662f\u53ef\u9009\u7684\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u5982\u679c\u6210\u529f\uff0cDoubleZero\u5c06\u6ce8\u518c\u4e3b\u9a8c\u8bc1\u5668\u53ca\u5176\u5907\u4efd\u3002\u60a8\u73b0\u5728\u53ef\u4ee5\u5728\u8bbf\u95ee\u901a\u884c\u8bc1\u4e2d\u6ce8\u518c\u7684IP\u4e4b\u95f4\u8fdb\u884c\u6545\u969c\u8f6c\u79fb\u3002\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u6ce8\u518c\u5907\u4efd\u8282\u70b9\u65f6\uff0cDoubleZero\u5c06\u81ea\u52a8\u7ef4\u62a4\u8fde\u63a5\u3002

"},{"location":"zh/DZ%20Testnet%20Connection/#6-ibrl","title":"6. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u3002\u5728GRE\u96a7\u9053\u5b8c\u6210\u8bbe\u7f6e\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Note

\u68c0\u67e5\u6b64\u8f93\u51fa\u3002\u6ce8\u610fTunnel src\u548cDoubleZero IP\u4e0e\u60a8\u673a\u5668\u4e0a\u7684\u516c\u5171IPv4\u5730\u5740\u5339\u914d\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/DZ%20Testnet%20Connection/#_3","title":"\u4e0b\u4e00\u6b65\uff1a\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247","text":"

\u5982\u679c\u60a8\u5df2\u5b8c\u6210\u6b64\u8bbe\u7f6e\u5e76\u8ba1\u5212\u901a\u8fc7\u591a\u64ad\u53d1\u5e03\u788e\u7247\uff0c\u8bf7\u7ee7\u7eed\u8bbf\u95ee\u4e0b\u4e00\u9875\u3002

"},{"location":"zh/New%20Tenant/","title":"\u65b0\u79df\u6237","text":"

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.

\u5982\u679c\u60a8\u5e0c\u671b\u60a8\u7684\u5206\u5e03\u5f0f\u7cfb\u7edf\u5229\u7528DoubleZero\u7f51\u7edc\uff0c\u6211\u4eec\u5f88\u4e50\u610f\u534f\u52a9\u89e3\u7b54\u60a8\u53ef\u80fd\u9047\u5230\u7684\u4efb\u4f55\u6280\u672f\u95ee\u9898\u3002

\u8054\u7cfb\u6211\u4eec\u8868\u5355

"},{"location":"zh/Other%20Multicast%20Connection/","title":"\u5176\u4ed6\u591a\u64ad\u8fde\u63a5","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

\u7528\u4f8b \u7b2c\u4e00\u6b65 \u6279\u51c6\u540e\uff0c\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u8fde\u63a5\uff1a \u8ba2\u9605Jito Shredstream \u8054\u7cfbJito\u83b7\u53d6\u6279\u51c6\u3002 doublezero connect multicast --subscribe jito-shredstream

\u8be6\u7ec6\u8fde\u63a5\u4fe1\u606f\uff1a

"},{"location":"zh/Other%20Multicast%20Connection/#1-doublezero","title":"1. DoubleZero\u5ba2\u6237\u7aef\u5b89\u88c5","text":"

\u8bf7\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u5b89\u88c5\u548c\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aef\u3002

"},{"location":"zh/Other%20Multicast%20Connection/#2","title":"2. \u8fde\u63a5\u8bf4\u660e","text":"

\u4ee5\u591a\u64ad\u6a21\u5f0f\u8fde\u63a5\u5230DoubleZero \u4f5c\u4e3a\u53d1\u5e03\u8005\uff1a

doublezero connect multicast --publish <feed name>

\u6216\u4f5c\u4e3a\u8ba2\u9605\u8005\uff1a

doublezero connect multicast --subscribe <feed name>

\u6216\u540c\u65f6\u53d1\u5e03\u548c\u8ba2\u9605\uff1a

doublezero connect multicast --publish <feed name> --subscribe <feed name>

\u8981\u53d1\u5e03\u6216\u8ba2\u9605\u591a\u4e2a\u6570\u636e\u6d41\uff0c\u53ef\u4ee5\u5305\u542b\u591a\u4e2a\u4ee5\u7a7a\u683c\u5206\u9694\u7684\u6570\u636e\u6d41\u540d\u79f0\u3002 \u4e5f\u53ef\u4ee5\u7528\u4e8e\u53d1\u5e03\u5e76\u8ba2\u9605\u5df2\u53d1\u5e03\u7684\u6570\u636e\u6d41\u3002 \u4f8b\u5982 doublezero connect multicast --subscribe feed1 feed2 feed3

\u60a8\u5e94\u8be5\u770b\u5230\u7c7b\u4f3c\u4ee5\u4e0b\u7684\u8f93\u51fa\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"zh/Other%20Multicast%20Connection/#3","title":"3. \u9a8c\u8bc1\u60a8\u7684\u6d3b\u52a8\u591a\u64ad\u8fde\u63a5","text":"

\u7b49\u5f8560\u79d2\uff0c\u7136\u540e\u8fd0\u884c

doublezero status\n
\u9884\u671f\u7ed3\u679c\uff1a - BGP\u4f1a\u8bdd\u5728\u6b63\u786e\u7684DoubleZero\u7f51\u7edc\u4e0a\u5efa\u7acb - \u5982\u679c\u60a8\u662f\u53d1\u5e03\u8005\uff0c\u60a8\u7684DoubleZero IP\u5c06\u4e0e\u60a8\u7684\u96a7\u9053\u6e90IP\u4e0d\u540c\u3002\u8fd9\u662f\u6b63\u5e38\u73b0\u8c61\u3002 - \u5982\u679c\u60a8\u53ea\u662f\u8ba2\u9605\u8005\uff0c\u60a8\u7684DoubleZero IP\u5c06\u4e0e\u60a8\u7684\u96a7\u9053\u6e90IP\u76f8\u540c\u3002

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

\u9a8c\u8bc1\u60a8\u5df2\u8fde\u63a5\u7684\u7ec4\uff1a

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"zh/Permissioned%20Connection/","title":"\u975e\u9a8c\u8bc1\u5668\u4ee5IBRL\u6a21\u5f0f\u7684Permissioned\u8fde\u63a5\u5230DoubleZero","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/Permissioned%20Connection/#permissioned","title":"Permissioned\u7528\u6237\u5165\u804c\u6982\u8ff0","text":"

\u76ee\u524d\u975e\u9a8c\u8bc1\u5668\u548cRPC\u7684\u7528\u6237\u5165\u804c\u9700\u8981\u8bb8\u53ef\u3002\u8981\u5f00\u59cbpermissioned\u6d41\u7a0b\uff0c\u8bf7\u586b\u5199\u6b64\u8868\u5355\u3002\u4ee5\u4e0b\u662f\u6b64\u8fc7\u7a0b\u4e2d\u7684\u9884\u671f\u5185\u5bb9\uff1a

"},{"location":"zh/Permissioned%20Connection/#ibrlbeta","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u4e3b\u7f51Beta\u548c\u6d4b\u8bd5\u7f51","text":"

Note

IBRL\u6a21\u5f0f\u4e0d\u9700\u8981\u91cd\u542f\u9a8c\u8bc1\u5668\u5ba2\u6237\u7aef\uff0c\u56e0\u4e3a\u5b83\u4f7f\u7528\u60a8\u73b0\u6709\u7684\u516c\u5171IP\u5730\u5740\u3002

Permissioned\u7528\u6237\u5c06\u5b8c\u6210\u5230DoubleZero\u4e3b\u7f51Beta\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

"},{"location":"zh/Permissioned%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u6d4b\u8bd5\u7f51\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u4e3b\u7f51Beta\uff1a
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a

\u2705 doublezerod configured for environment mainnet-beta\n
\u60a8\u5e94\u8be5\u770b\u5230\u4ee5\u4e0b\u8f93\u51fa\uff1a \u2705 doublezerod configured for environment testnet

\u5927\u7ea630\u79d2\u540e\uff0c\u60a8\u5c06\u770b\u5230\u53ef\u7528\u7684DoubleZero\u8bbe\u5907\uff1a

doublezero latency\n
\u793a\u4f8b\u8f93\u51fa\uff08\u6d4b\u8bd5\u7f51\uff09
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u6d4b\u8bd5\u7f51\u8f93\u51fa\u7ed3\u6784\u76f8\u540c\uff0c\u4f46\u53ef\u7528\u8bbe\u5907\u66f4\u591a\u3002

"},{"location":"zh/Permissioned%20Connection/#2-doublezero","title":"2. \u8054\u7cfbDoubleZero\u57fa\u91d1\u4f1a","text":"

DoubleZero\u57fa\u91d1\u4f1a\u3002\u60a8\u9700\u8981\u63d0\u4f9b\u60a8\u7684DoubleZero ID\u3001\u60a8\u7684\u9a8c\u8bc1\u5668ID\uff08\u8282\u70b9ID\uff09\u4ee5\u53ca\u60a8\u5c06\u4ece\u4e2d\u8fde\u63a5\u7684\u516c\u5171IPv4\u5730\u5740\u3002

"},{"location":"zh/Permissioned%20Connection/#3-ibrl","title":"3. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9\u96a7\u9053\u5b8c\u6210\u3002\u5728\u96a7\u9053\u5b8c\u6210\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
\u8f93\u51fa\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/Permissioned%20Connection/#_1","title":"\u4e0b\u4e00\u6b65\uff1a\u591a\u64ad","text":"

\u5982\u679c\u60a8\u5df2\u5b8c\u6210\u6b64\u8bbe\u7f6e\u5e76\u8ba1\u5212\u4f7f\u7528\u591a\u64ad\uff0c\u8bf7\u7ee7\u7eed\u8bbf\u95ee\u4e0b\u4e00\u9875\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/","title":"Shelby\u6d4b\u8bd5\u7f51\u7528\u6237\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230DoubleZero","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/Shelby%20Permissioned%20Connection/#doublezero-id","title":"\u83b7\u53d6\u60a8\u7684DoubleZero ID","text":"

\u60a8\u9700\u8981\u5728\u6b64\u8868\u5355\u4e2d\u63d0\u4f9b\u60a8\u7684DoubleZero ID\u548c\u516c\u5171IPv4\u5730\u5740\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/#ibrl","title":"\u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5\u5230\u6d4b\u8bd5\u7f51","text":"

Shelby permissioned\u7528\u6237\u5c06\u5b8c\u6210\u5230DoubleZero\u6d4b\u8bd5\u7f51\u7684\u8fde\u63a5\uff0c\u8be6\u60c5\u8bf7\u89c1\u672c\u9875\u9762\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/#1","title":"1. \u73af\u5883\u914d\u7f6e","text":"

\u8bf7\u5728\u7ee7\u7eed\u4e4b\u524d\u6309\u7167\u8bbe\u7f6e\u8bf4\u660e\u64cd\u4f5c\u3002

\u8bbe\u7f6e\u7684\u6700\u540e\u4e00\u6b65\u662f\u65ad\u5f00\u4e0e\u7f51\u7edc\u7684\u8fde\u63a5\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd\u60a8\u7684\u673a\u5668\u4e0a\u53ea\u6709\u4e00\u4e2a\u5230DoubleZero\u7684\u96a7\u9053\u5904\u4e8e\u5f00\u653e\u72b6\u6001\uff0c\u5e76\u4e14\u8be5\u96a7\u9053\u5728\u6b63\u786e\u7684\u7f51\u7edc\u4e0a\u3002

\u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u8fde\u63a5\u5230DoubleZero\u4e0a\u7684Shelby\u79df\u6237\uff1a

doublezero config set --tenant shelby\n

\u5e94\u7528Shelby\u7279\u5b9a\u7684\u989d\u5916\u9632\u706b\u5899\u89c4\u5219\uff1a

iptables\uff1a

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW\uff1a

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"zh/Shelby%20Permissioned%20Connection/#2-doublezero","title":"2. \u8054\u7cfbDoubleZero\u57fa\u91d1\u4f1a","text":"

DoubleZero\u57fa\u91d1\u4f1a\u3002\u60a8\u9700\u8981\u63d0\u4f9b\u60a8\u7684DoubleZero ID\u548c\u60a8\u5c06\u4ece\u4e2d\u8fde\u63a5\u7684\u516c\u5171IPv4\u5730\u5740\u3002

"},{"location":"zh/Shelby%20Permissioned%20Connection/#3-ibrl","title":"3. \u4ee5IBRL\u6a21\u5f0f\u8fde\u63a5","text":"

\u5728\u670d\u52a1\u5668\u4e0a\uff0c\u4f7f\u7528\u5c06\u8fde\u63a5\u5230DoubleZero\u7684\u7528\u6237\uff0c\u8fd0\u884cconnect\u547d\u4ee4\u5efa\u7acb\u5230DoubleZero\u7684\u8fde\u63a5\u3002

doublezero connect ibrl\n

\u60a8\u5e94\u8be5\u770b\u5230\u8868\u793a\u914d\u7f6e\u7684\u8f93\u51fa\uff0c\u4f8b\u5982\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u7b49\u5f85\u4e00\u5206\u949f\u8ba9\u96a7\u9053\u5b8c\u6210\u3002\u5728\u96a7\u9053\u5b8c\u6210\u4e4b\u524d\uff0c\u60a8\u7684\u72b6\u6001\u8f93\u51fa\u53ef\u80fd\u8fd4\u56de\"down\"\u6216\"Unknown\"\u3002

\u9a8c\u8bc1\u60a8\u7684\u8fde\u63a5\uff1a

doublezero status\n

\u8f93\u51fa\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
\u72b6\u6001up\u8868\u793a\u60a8\u5df2\u6210\u529f\u8fde\u63a5\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u67e5\u770bDoubleZero\u4e0a\u5176\u4ed6\u7528\u6237\u4f20\u64ad\u7684\u8def\u7531\uff1a

ip route\n
\u8f93\u51fa\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"zh/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

\u5728\u8bbf\u95ee\u6216\u4f7f\u7528\u4ee3\u7801\u6216\u76f8\u5173\u6750\u6599\u4e4b\u524d\uff0c\u8bf7\u67e5\u770b\u514d\u8d23\u58f0\u660e\u3002

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.

\u514d\u8d23\u58f0\u660e

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u4ec5\u4f9b\u4fe1\u606f\u548c\u6280\u672f\u76ee\u7684\u63d0\u4f9b\u3002\u672c\u6587\u4e2d\u63cf\u8ff0\u7684\u4ee3\u5e01\u8f6c\u6362\u529f\u80fd\u662f\u975e\u6258\u7ba1\u578b\u7684\u3002\u7528\u6237\u76f4\u63a5\u4e0e\u5e95\u5c42\u667a\u80fd\u5408\u7ea6\u4ea4\u4e92\uff0c\u59cb\u7ec8\u5b8c\u5168\u63a7\u5236\u81ea\u5df1\u7684\u8d44\u4ea7\u3002

\u8be5\u7cfb\u7edf\u53ef\u80fd\u4f9d\u8d56\u4e8e\u6216\u4e0e\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u672a\u5f00\u53d1\u3001\u7ba1\u7406\u6216\u5ba1\u67e5\u7684\u7b2c\u4e09\u65b9\u4ee3\u7801\u3001\u6570\u636e\u6e90\u6216\u4ef7\u683c\u548c\u8d39\u7528\u673a\u5236\uff08\u4f8b\u5982\u667a\u80fd\u5408\u7ea6\u3001API\u6216\u53bb\u4e2d\u5fc3\u5316\u4ea4\u6613\u6240\uff09\u4ea4\u4e92\u3002\u5bf9\u7b2c\u4e09\u65b9\u7ec4\u4ef6\u7684\u51c6\u786e\u6027\u3001\u529f\u80fd\u6216\u5b89\u5168\u6027\u4e0d\u4f5c\u4efb\u4f55\u58f0\u660e\u6216\u4fdd\u8bc1\u3002 \u672c\u4ee3\u7801\u7684\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4fdd\u8bc1\u5176\u51c6\u786e\u6027\u3001\u5b8c\u6574\u6027\u6216\u6301\u7eed\u53ef\u7528\u6027\u3002\u4ee3\u7801\u548c\u76f8\u5173\u6750\u6599\u6309\"\u539f\u6837\"\uff08AS IS\uff09\u63d0\u4f9b\uff0c\u53ef\u80fd\u5305\u542b\u9519\u8bef\u3001\u7f3a\u9677\u6216\u6f0f\u6d1e\u3002\u4f7f\u7528\u98ce\u9669\u81ea\u8d1f\u3002 \u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4f1a\u56e0\u4f7f\u7528\u8fd9\u4e9b\u5408\u7ea6\u800c\u6536\u53d6\u4efb\u4f55\u8d39\u7528\u3002\u5bf9\u4ee3\u7801\u6216\u76f8\u5173\u6587\u6863\u6ca1\u6709\u7ef4\u62a4\u3001\u66f4\u65b0\u6216\u652f\u6301\u7684\u4e49\u52a1\u3002

\u672c\u6587\u4ef6\u4e0d\u662f\u5bf9\u53c2\u4e0e\u4ee3\u5e01\u8f6c\u6362\u3001\u5151\u6362\u6216\u5176\u4ed6\u4ea4\u6613\u7684\u63a8\u4ecb\u3001\u62db\u63fd\u6216\u5efa\u8bae\u3002\u4e0d\u63d0\u4f9b\u6cd5\u5f8b\u3001\u8d22\u52a1\u6216\u6295\u8d44\u5efa\u8bae\u3002 \u7528\u6237\u5355\u72ec\u8d1f\u8d23\u786e\u5b9a\u5176\u6d3b\u52a8\u7684\u5408\u6cd5\u6027\u3002\u5728\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u4e4b\u524d\uff0c\u5fc5\u987b\u67e5\u9605\u9002\u7528\u4e8e\u5176\u53f8\u6cd5\u7ba1\u8f96\u533a\u7684\u6cd5\u5f8b\u6cd5\u89c4\uff0c\u5e76\u54a8\u8be2\u72ec\u7acb\u987e\u95ee\u3002\u5728\u8fdd\u6cd5\u7684\u5730\u65b9\u4f7f\u7528\u662f\u88ab\u7981\u6b62\u7684\uff0c\u5305\u62ec\u53d7\u5236\u88c1\u7684\u4e2a\u4eba\u6216\u7ec4\u7ec7\u6216\u53d7\u9650\u5730\u533a\u7684\u4f7f\u7528\u3002

\u5728\u6cd5\u5f8b\u5141\u8bb8\u7684\u6700\u5927\u8303\u56f4\u5185\uff0c\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u5426\u8ba4\u56e0\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u800c\u5f15\u8d77\u7684\u6216\u4e0e\u4e4b\u76f8\u5173\u7684\u6240\u6709\u635f\u5931\u3001\u635f\u5bb3\u6216\u7d22\u8d54\u7684\u4efb\u4f55\u8d23\u4efb\u3002

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u7684\u5ba1\u67e5\u548c\u4f7f\u7528\u987b\u9075\u5b88\u7f51\u7ad9\u4f7f\u7528\u6761\u6b3e\u548c\u534f\u8bae\u4f7f\u7528\u6761\u6b3e\u3002

DoubleZero\u534f\u8bae\u4ece\u9a8c\u8bc1\u5668\u7528\u6237\u5904\u6536\u53d6\u4ee5SOL\u8ba1\u4ef7\u7684\u6536\u76ca\uff0c\u4f46\u4ee52Z\u8ba1\u4ef7\u5411\u8d21\u732e\u8005\u5206\u914d\u5956\u52b1\u3002\u56e0\u6b64\uff0c\u9700\u8981\u5c06SOL\u8f6c\u6362\u4e3a2Z\u3002

\u4e3a\u6b64\uff0c\u5408\u683c\u7684\u53c2\u4e0e\u8005\u53ef\u4ee5\u4e0eDoubleZero\u5151\u6362\u5408\u7ea6\u8fdb\u884c\u4ea4\u6613\uff0c\u4ece\u5408\u7ea6\u8d2d\u4e70SOL\u5e76\u51fa\u552e2Z\u3002\u5b9a\u4ef7\u57fa\u4e8ePyth\u4ef7\u683c\u6570\u636e\u6d41\u548c\u7a0b\u5e8f\u6027\u6298\u6263\u673a\u5236\u3002

\u672c\u6307\u5357\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528\u8be5\u7a0b\u5e8f\u3002

\u5728\u8bbf\u95ee\u6216\u4f7f\u7528\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u4e4b\u524d\uff0c\u8bf7\u67e5\u770b\u6587\u6863\u672b\u5c3e\u7684\u514d\u8d23\u58f0\u660e\u3002

"},{"location":"zh/Swapping-sol-to-2z/#_1","title":"\u7a0b\u5e8f\u8bbe\u8ba1","text":"

\u5151\u6362\u7a0b\u5e8f\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u5355\u8fb9\u6d41\u52a8\u6027\u6c60\uff0c\u6bcf\u7b14\u4ea4\u6613\u7684\u56fa\u5b9a\u6279\u91cf\u4e3a1 SOL\u8fdb\u884cSOL\u9500\u552e\u3002\u5408\u683c\u7684\u53c2\u4e0e\u8005\u53ef\u4ee5\u5b58\u51652Z\u5e76\u4ece\u7a0b\u5e8f\u63d0\u53d6SOL\uff0c\u4ef7\u683c\u7531Pyth\u7684\u9884\u8a00\u673a\u4ef7\u683c\u548c\u52a8\u6001\u6298\u6263\u51b3\u5b9a\u3002\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\uff0c\u8fd9\u5b9e\u73b0\u4e86\u5c06\u7a0b\u5e8f\u7684\u539f\u751f\u4ee3\u5e01\u8f6c\u6362\u4e3a2Z\u7684\u76ee\u6807\u3002

\u8981\u4f7f\u7528\u8be5\u7a0b\u5e8f\uff0c\u4ea4\u6613\u8005\u9700\u8981\u63d0\u4f9b\u4e24\u4e2a\u6700\u65b0\u7684Pyth\u4ef7\u683c\uff08SOL/USD\u548c2Z/USD\uff09\u4ee5\u53ca2Z\u7684\u6570\u91cf\u3002\u7a0b\u5e8f\u968f\u540e\u6839\u636e\u9690\u542b\u7684SOL/2Z\u4ef7\u683c\u8ba1\u7b97\u8d2d\u4e701 SOL\u6240\u9700\u76842Z\u3002\u7136\u540e\u6267\u884c\u4e00\u4e9b\u989d\u5916\u6b65\u9aa4\uff1a

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\u6b64\u65f6\uff0c\u5982\u679c\u4ea4\u6613\u8005\u63d0\u4f9b\u8db3\u591f\u76842Z\u4ee5\u6309\u6b64\u8ba1\u7b97\u4ef7\u683c\uff08\u542b\u6298\u6263\uff09\u6267\u884c\u4ea4\u6613\uff0c\u5219\u5c06\u6309\u6b64\u8ba1\u7b97\u4ef7\u683c\u6267\u884c\u3002\u4ea4\u6613\u8005\u5c06\u6536\u5230\u8d2d\u4e70\u7684SOL\u548c\u591a\u4f59\u76842Z\u3002

\u5408\u7ea6\u968f\u540e\u4e0d\u5141\u8bb8\u5728\u8be5\u69fd\u4f4d\u8fdb\u884c\u66f4\u591a\u4ea4\u6613\u3002\u8fd9\u662f\u4e3a\u4e86\u9632\u6b62\u5408\u7ea6\u5728Pyth\u4ef7\u683c\u5728\u4efb\u4f55\u65f6\u95f4\u70b9\u4e0e\u771f\u5b9e\u4ef7\u683c\u76f8\u5dee\u592a\u8fdc\uff08\u8d85\u51fa\u73b0\u6709\u8fc7\u6ee4\u5668\u7684\u6355\u83b7\u8303\u56f4\uff09\u65f6\u652f\u4ed8\u8fc7\u9ad8\u7684\u6ed1\u70b9\u3002

"},{"location":"zh/Swapping-sol-to-2z/#gas","title":"\u65e0Gas\u539f\u5b50\u6267\u884c","text":"

\u672c\u8282\u4ecb\u7ecdharvest-dz\u547d\u4ee4\u7684\u4f7f\u7528\u65b9\u6cd5\u3002\u8be5\u547d\u4ee4\u4ee5\u539f\u5b50\u65b9\u5f0f\u6267\u884c\u4e24\u4e2a\u64cd\u4f5c\uff1a 1. \u547d\u4ee4\u5411Jupiter\u8bf7\u6c42\u9488\u5bf9\u539f\u751fSOL <> 2Z\u8f6c\u6362\u7a0b\u5e8f\u7684\u62a5\u4ef7\u3002 2. \u5982\u679cJupiter\u8def\u7531\u4ea7\u751f\u76842Z/SOL\u591a\u4e8e\u539f\u751fSOL\u8f6c\u6362\u7a0b\u5e8f\u6240\u9700\u7684\uff0charvest-2z\u5c06\u6267\u884c\u5151\u6362\uff0c\u5e76\u5c061 SOL\u548c2Z\u7684\u5dee\u989d\u8fd4\u8fd8\u5230\u94b1\u5305\u3002

"},{"location":"zh/Swapping-sol-to-2z/#2z","title":"2Z\u7684\u6536\u5272","text":"

\u8981\u6267\u884c\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana revenue-distribution harvest-2z\n
\u8f93\u51fa\u5c06\u5982\u4e0b\u6240\u793a\uff1a
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
\u8be5\u547d\u4ee4\u4e5f\u53ef\u4ee5\u4f7f\u7528--dry-run\u53c2\u6570\u8fdb\u884c\u6a21\u62df\u3002\u5e72\u8fd0\u884c\u5c06\u751f\u6210\u7a0b\u5e8f\u65e5\u5fd7\u548c\u5982\u4e0b\u8f93\u51fa\uff1a

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"zh/Swapping-sol-to-2z/#_2","title":"\u534f\u8bae\u8f6c\u6362","text":"

\u672c\u8282\u4ecb\u7ecd\u5982\u4f55\u68c0\u67e5\u8f6c\u6362\u7387\u4ee5\u53ca\u5982\u4f55\u4f7f\u7528doublezero-solana CLI\u6267\u884c\u8f6c\u6362\u3002\u6700\u540e\u8fd8\u4ecb\u7ecd\u4e86\u4e0eDoubleZero\u5151\u6362\u5408\u7ea6\u8fdb\u884c\u81ea\u5b9a\u4e49\u96c6\u6210\u7684\u63a5\u53e3\u3002

"},{"location":"zh/Swapping-sol-to-2z/#doublezero-solanasol2z","title":"\u5982\u4f55\u901a\u8fc7doublezero-solana\u68c0\u67e5SOL/2Z\u8f6c\u6362\u4ef7\u683c","text":"

\u8981\u68c0\u67e5\u4e3b\u7f51Beta\u7684SOL/2Z\u8f6c\u6362\u7387\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana revenue-distribution fetch sol-conversion\n

\u663e\u793a\u7684\u8f93\u51fa\u5c06\u5982\u4e0b\u6240\u793a\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Journal Balance\u544a\u77e5\u7528\u6237\u6536\u5165\u5206\u914d\u667a\u80fd\u5408\u7ea6\u4e2d\u6709\u591a\u5c11SOL\u6d41\u52a8\u6027\u3002\u53ea\u8981Journal Balance\u8d85\u8fc7\u56fa\u5b9a\u4ea4\u6613\u5927\u5c0f1 SOL\uff0c\u7528\u6237\u5c31\u53ef\u4ee5\u4ea4\u6613\u3002

\u7b2c\u4e00\u884c\u663e\u793a\u94fe\u4e0b\u9884\u8a00\u673a\u7684\"\u771f\u5b9e\"SOL/2Z\u8f6c\u6362\u4ef7\u683c\u3002\u7b2c\u4e8c\u884c\u662f\u94fe\u4e0a\u5151\u6362\u4f7f\u7528\u7684\u8f6c\u6362\u4ef7\u683c\uff0c\u662f\u5bf9\u7b97\u6cd5\u6298\u6263\u7684\u771f\u5b9e\u4ef7\u683c\u7684\u8c03\u6574\u3002

"},{"location":"zh/Swapping-sol-to-2z/#doublezero-solana2zsol","title":"\u5982\u4f55\u901a\u8fc7doublezero-solana\u5c062Z\u8f6c\u6362\u4e3aSOL","text":"

\u8981\u5c062Z\u4ee3\u5e01\u8f6c\u6362\u4e3a\u591a\u7684\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

doublezero-solana revenue-distribution convert-2z\n

\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5982\u679c\u6709\u8db3\u591f\u7684SOL\u6d41\u52a8\u6027\uff0c\u5e76\u4e14ATA\u4e2d\u6709\u8db3\u591f\u76842Z\u6267\u884c\u5151\u6362\uff0c\u6b64\u4ea4\u6613\u5c06\u6210\u529f\u3002\u901a\u8fc7\u6307\u5b9a\u4ee5\u4e0b\u53c2\u6570\uff0c\u60a8\u53ef\u4ee5\u66f4\u7cbe\u7ec6\u5730\u63a7\u5236\u5151\u6362\uff1a

      --limit-price <DECIMAL>                    \u9650\u4ef7\u9ed8\u8ba4\u4e3a\u5f53\u524dSOL/2Z\u9884\u8a00\u673a\u4ef7\u683c\n      --source-2z-account <PUBKEY>               \u4ee3\u5e01\u8d26\u6237\u5fc5\u987b\u7531\u7b7e\u540d\u8005\u62e5\u6709\u3002\u5982\u679c\u4e0d\u6307\u5b9a\uff0c\u9ed8\u8ba4\u4e3a\u7b7e\u540d\u8005ATA\n      --checked-sol-amount <SOL>                 \u660e\u786e\u68c0\u67e5SOL\u91d1\u989d\u3002\u5982\u679c\u6307\u5b9a\uff0c\u6b64\u91d1\u989d\u5c06\u9488\u5bf9\u56fa\u5b9a\u586b\u5145\u6570\u91cf\u8fdb\u884c\u68c0\u67e5\n

\u6307\u5b9a\u7684\u9650\u4ef7\u51b3\u5b9a\u4e86\u6267\u884cSOL/2Z\u8f6c\u6362\u65f6\u60a8\u613f\u610f\u63a5\u53d7\u7684\u6700\u574f\u60c5\u51b5\u4ef7\u683c\u3002\u4f8b\u5982\uff0c\u5047\u8bbeSOL\u7684\u6298\u62632Z\u4ef7\u683c\u4e3a800\uff08\u6bcf1 SOL 800\u4e2a2Z\u4ee3\u5e01\uff09\u3002\u5982\u679c\u60a8\u5c06\u9650\u4ef7\u6307\u5b9a\u4e3a790\uff0c\u60a8\u4e0d\u613f\u610f\u4ee5\u6bcf1 SOL\u591a\u4e8e790\u4e2a2Z\u4ee3\u5e01\u8fdb\u884c\u5151\u6362\uff0c\u56e0\u6b64\u4e0d\u4f1a\u5c1d\u8bd5\u6267\u884c\u5151\u6362\u3002\u4f46\u5982\u679c\u60a8\u6307\u5b9a810\uff0c\u60a8\u613f\u610f\u5151\u6362\u6700\u591a810\u4e2a2Z\u4ee3\u5e01\uff08\u5728\u672c\u4f8b\u4e2d\uff0c\u4ec5\u5728\u6b64\u4ea4\u6613\u4e2d\u5151\u6362800\u4e2a2Z\u4ee3\u5e01\uff09\uff0c\u56e0\u6b64\u4ea4\u6613\u5c06\u901a\u8fc7\u3002

\u6e902Z\u4ee3\u5e01\u8d26\u6237\u4f1a\u8986\u76d6\u9ed8\u8ba4\u7684ATA\uff0c\u4f7f\u7528\u7b7e\u540d\u8005\u4f5c\u4e3a\u6b642Z ATA\u7684\u6240\u6709\u8005\u3002\u4f46\u662f\uff0c\u5982\u679c\u60a8\u6709\u53e6\u4e00\u4e2a\u60f3\u8981\u7528\u4e8e\u6267\u884c\u5151\u6362\u7684\u4ee3\u5e01\u8d26\u6237\uff0c\u8bf7\u901a\u8fc7\u6b64\u53c2\u6570\u63d0\u4f9b\u5176\u516c\u94a5\u3002

\u4f5c\u4e3a\u9009\u9879\uff0c\u60a8\u53ef\u4ee5\u6307\u5b9a\u8981\u68c0\u67e5\u7684SOL\u91d1\u989d\u5230\u6807\u51c6\u586b\u5145\u5927\u5c0f\uff08\u542f\u52a8\u65f6\u8bbe\u7f6e\u4e3a1 SOL\uff09\u3002\u5982\u679c\u4e0e\u7a0b\u5e8f\u7684\u586b\u5145\u5927\u5c0f\u4e0d\u5339\u914d\uff0c\u5151\u6362\u5c06\u5931\u8d25\u3002\u8fd9\u51cf\u5c11\u4e86\u7a0b\u5e8f\u586b\u5145\u5927\u5c0f\u53d1\u751f\u53d8\u5316\u800c\u60a8\u672a\u6ce8\u610f\u5230\u7684\u98ce\u9669\u3002

"},{"location":"zh/Swapping-sol-to-2z/#sol","title":"\u8d2d\u4e70SOL\u7684\u63a5\u53e3","text":"

\u63a5\u53e3\u548cdoublezero-solana CLI\u4f4d\u4e8e\u6b64\u4ed3\u5e93\u4e2d\u3002DoubleZero\u5151\u6362\u5408\u7ea6\u63a5\u53e3\u7684\u6e90\u4ee3\u7801\u5728\u8fd9\u91cc\u3002\u7a0b\u5e8fID\u4e3a9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs\u3002

\u751f\u6210buy SOL\u6307\u4ee4\u6240\u9700\u8d26\u6237\u7684\u4fbf\u6377\u65b9\u6cd5\u662f\u4f7f\u7528new\u65b9\u6cd5\uff08\u4f4d\u4e8einstruction/account.rs\uff09\uff1a

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key\u53ef\u4eceProgramState\u83b7\u53d6

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // \u6b64\u5bc6\u94a5\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

\u6216\u8005\uff0c\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7Solana RPC\u4f7f\u7528\u5224\u522b\u5668\u8c03\u7528getProgramAccounts\u3002\u4f46\u662f\uff0c\u7531\u4e8e\u6b64\u516c\u94a5\u6c38\u8fdc\u4e0d\u4f1a\u6539\u53d8\uff0c\u5efa\u8bae\u5bf9\u5176\u8fdb\u884c\u7f13\u5b58\u3002

user_key\u662fbuy SOL\u6307\u4ee4\u7684\u7b7e\u540d\u8005\uff0c\u5fc5\u987b\u662fuser_token_account_key\u7684\u6240\u6709\u8005\u3002\u5982\u4e0a\u6240\u8ff0\uff0c\u8fd9\u4e0d\u9700\u8981\u662fATA\u3002\u53ea\u89812Z\u4ee3\u5e01\u8d26\u6237\u7531user_key\u62e5\u6709\uff0c\u6b64\u6307\u4ee4\u5c31\u4f1a\u6210\u529f\u3002

BuySolAccounts\u7ed3\u6784\u4f53\u5b9e\u73b0\u4e86Into<Vec<AccountMeta>>\uff0c\u56e0\u6b64\u53ef\u4ee5\u751f\u6210\u6784\u5efa\u6307\u4ee4\u6240\u9700\u7684\u6240\u6709\u8d26\u6237\u5143\u6570\u636e\u3002

\u6307\u4ee4\u6570\u636e\u4e3a

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

\u6b64\u6307\u4ee4\u6570\u636e\u4ee5Borsh\u5e8f\u5217\u5316\uff0c\u67098\u5b57\u8282\u7684Anchor\u9009\u62e9\u5668\uff0c\u4f7f\u7528BorshSerialize::serialize\u5e8f\u5217\u5316\u6240\u6709\u5185\u5bb9\u3002

\u9884\u8a00\u673a\u4ef7\u683c\u6570\u636e\u53ef\u4ece\u6b64\u516c\u5171\u7aef\u70b9\u83b7\u53d6\uff1ahttps://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate\u3002\u6570\u636e\u53ef\u4f7f\u7528oracle.rs\u4e2d\u7684OraclePriceData\u7ed3\u6784\u4f53\u901a\u8fc7serde\u53cd\u5e8f\u5217\u5316\u3002

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

\u4f7f\u7528reqwest crate\u7684\u83b7\u53d6\u793a\u4f8b\uff1a

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

\u4f7f\u7528\u7a0b\u5e8fID\u3001\u8d26\u6237\u548c\u6307\u4ee4\u6570\u636e\uff0c\u60a8\u5e94\u8be5\u80fd\u591f\u6784\u5efa\u4eceDoubleZero\u5151\u6362\u5408\u7ea6\u8d2d\u4e70SOL\u7684\u6307\u4ee4\u3002

"},{"location":"zh/Validator%20Multicast%20Connection/","title":"\u9a8c\u8bc1\u5668\u591a\u64ad\u8fde\u63a5","text":"

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.

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u6211\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

\u5982\u679c\u60a8\u5c1a\u672a\u8fde\u63a5\u5230DoubleZero\uff0c\u8bf7\u5148\u5b8c\u6210\u8bbe\u7f6e\u548c\u4e3b\u7f51Beta\u9a8c\u8bc1\u5668\u8fde\u63a5\u6587\u6863\u3002

\u5982\u679c\u60a8\u662f\u5df2\u8fde\u63a5\u5230DoubleZero\u7684\u9a8c\u8bc1\u5668\uff0c\u53ef\u4ee5\u7ee7\u7eed\u9605\u8bfb\u672c\u6307\u5357\u3002

"},{"location":"zh/Validator%20Multicast%20Connection/#jito-agave319","title":"Jito-Agave\uff083.1.9\u6216\u66f4\u9ad8\u7248\u672c\uff09","text":"
  1. \u5728\u60a8\u7684\u9a8c\u8bc1\u5668\u542f\u52a8\u811a\u672c\u4e2d\uff0c\u6dfb\u52a0\uff1a--shred-receiver-address 233.84.178.1:7733

    \u60a8\u53ef\u4ee5\u540c\u65f6\u5411Jito\u548cbebop\u7ec4\u53d1\u9001\u6570\u636e\u3002

    \u793a\u4f8b\uff1a

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...The rest of your config...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. \u91cd\u542f\u60a8\u7684\u9a8c\u8bc1\u5668\u3002

  3. \u4ee5\u53d1\u5e03\u8005\u8eab\u4efd\u8fde\u63a5\u5230DoubleZero\u591a\u64ad\u7ec4bebop\uff1a doublezero connect multicast --publish bebop

"},{"location":"zh/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. \u5728config.toml\u4e2d\uff0c\u6dfb\u52a0\uff1a
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. \u91cd\u542f\u60a8\u7684\u9a8c\u8bc1\u5668\u3002

  3. \u4ee5\u53d1\u5e03\u8005\u8eab\u4efd\u8fde\u63a5\u5230DoubleZero\u591a\u64ad\u7ec4bebop\uff1a doublezero connect multicast --publish bebop

Note

\u5728XDP\u9a71\u52a8\u6a21\u5f0f\u4e0b\u7684Frankendancer\u7528\u6237\u65e0\u6cd5\u4f7f\u7528tcpdump\u3002\u76ee\u524d\u6ca1\u6709\u65b9\u6cd5\u786e\u8ba4\u60a8\u6b63\u5728\u53d1\u5e03\uff0c\u4f46\u89e3\u51b3\u65b9\u6848\u5373\u5c06\u63a8\u51fa\u3002

"},{"location":"zh/Validator%20Multicast%20Connection/#_2","title":"\u786e\u8ba4\u60a8\u6b63\u5728\u53d1\u5e03","text":"

\u5728\u60a8\u7684\u4e0b\u4e00\u4e2a\u9886\u5bfc\u8005\u69fd\u4f4d\u671f\u95f4\uff0c\u4f7f\u7528tcpdump\u786e\u8ba4\u60a8\u6b63\u5728\u5411\u591a\u64ad\u7ec4\u53d1\u5e03\u3002\u60a8\u5e94\u8be5\u6bcf10\u79d2\u770b\u5230\u4e00\u6b21\u5fc3\u8df3\u4ee5\u9a8c\u8bc1\u60a8\u6b63\u5728\u53d1\u5e03\u788e\u7247\u3002

\u8fd0\u884c\uff1asudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

\u53d1\u5e03\u65f6\u7684\u793a\u4f8b\u8f93\u51fa\uff1a

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"zh/architecture/","title":"\u67b6\u6784","text":"

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\u7f51\u7edc\u7684\u4e0d\u540c\u53c2\u4e0e\u8005\u548c\u7ec4\u4ef6\u662f\u4ec0\u4e48\uff1f

\u56fe1\uff1a\u7f51\u7edc\u67b6\u6784\u7ec4\u4ef6"},{"location":"zh/architecture/#_2","title":"\u8d21\u732e\u8005","text":"

DoubleZero\u7f51\u7edc\u7531\u6765\u81ea\u5168\u7403\u5404\u57ce\u5e02\u65e5\u76ca\u589e\u957f\u7684\u5206\u5e03\u5f0f\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u793e\u533a\u7684\u8fde\u63a5\u548c\u6570\u636e\u5305\u5904\u7406\u8d21\u732e\u7ec4\u6210\u3002\u8d21\u732e\u8005\u5c06\u5149\u7ea4\u94fe\u8def\u548c\u4fe1\u606f\u5904\u7406\u8d44\u6e90\u5e26\u5165\u534f\u8bae\uff0c\u4ee5\u63d0\u4f9b\u53bb\u4e2d\u5fc3\u5316\u7f51\u72b6\u7f51\u7edc\u3002

"},{"location":"zh/architecture/#_3","title":"\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e\u8005","text":"

\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u4e24\u70b9\u4e4b\u95f4\u63d0\u4f9b\u4e13\u7528\u5e26\u5bbd\uff0c\u5728\u6bcf\u7aef\u8fd0\u8425DoubleZero\u517c\u5bb9\u8bbe\u5907\uff08DZD\uff09\uff0c\u5e76\u5728\u6bcf\u7aef\u8fde\u63a5\u5230\u4e92\u8054\u7f51\u3002\u7f51\u7edc\u8d21\u732e\u8005\u8fd8\u5fc5\u987b\u5728\u6bcf\u4e2aDZD\u4e0a\u8fd0\u884cDoubleZero\u8f6f\u4ef6\uff0c\u4ee5\u63d0\u4f9b\u591a\u64ad\u3001\u7528\u6237\u67e5\u627e\u548c\u8fb9\u7f18\u8fc7\u6ee4\u7b49\u670d\u52a1\u3002

DoubleZero\u7f51\u7edc\u7684\u7269\u7406\u94fe\u8def\u4ee5\u5149\u7ea4\u7535\u7f06\uff08\u901a\u5e38\u79f0\u4e3a\u6ce2\u957f\u670d\u52a1\uff09\u7684\u5f62\u5f0f\u63d0\u4f9b\u3002\u7f51\u7edc\u8d21\u732e\u8005\u63d0\u4ea4\u5728\u4e24\u4e2a\u6216\u591a\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7531\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u62e5\u6709\u6216\u79df\u8d41\u7684\u672a\u5145\u5206\u5229\u7528\u7684\u7f51\u7edc\u94fe\u8def\u3002\u8fd9\u4e9b\u94fe\u8def\u5728\u4e24\u7aef\u7531DoubleZero\u8bbe\u5907\u7ec8\u6b62\uff0cDoubleZero\u8bbe\u5907\u662f\u8fd0\u884cDoubleZero\u4ee3\u7406\u8f6f\u4ef6\u5b9e\u4f8b\u7684\u7269\u7406\u7f51\u7edc\u4ea4\u6362\u673a\u5916\u58f3\u3002

"},{"location":"zh/architecture/#doublezerodzx","title":"DoubleZero\u4ea4\u6362\u70b9\uff08DZX / \u4ea4\u53c9\u8fde\u63a5\u7ad9\u70b9\uff09","text":"

DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09\u662f\u7f51\u72b6\u7f51\u7edc\u4e2d\u4e0d\u540c\u8d21\u732e\u8005\u94fe\u8def\u76f8\u4e92\u6865\u63a5\u7684\u4e92\u8fde\u70b9\u3002DZX\u4f4d\u4e8e\u5168\u7403\u53d1\u751f\u7f51\u7edc\u4ea4\u53c9\u7684\u4e3b\u8981\u90fd\u5e02\u533a\u3002\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u5730\u7406\u4f4d\u7f6e\u6700\u8fd1\u5176\u94fe\u8def\u7aef\u70b9\u7684DZX\u5c06\u5176\u94fe\u8def\u4ea4\u53c9\u8fde\u63a5\u5230\u66f4\u5e7f\u6cdb\u7684DoubleZero\u7f51\u72b6\u7f51\u7edc\u4e2d\u3002

"},{"location":"zh/architecture/#_4","title":"\u8ba1\u7b97\u8d44\u6e90\u8d21\u732e\u8005","text":"

\u4e0e\u7f51\u7edc\u8d21\u732e\u8005\u4e0d\u540c\uff0c\u8d44\u6e90\u8d21\u732e\u8005\u662f\u5206\u5e03\u5f0f\u7f51\u7edc\u53c2\u4e0e\u8005\u7fa4\u4f53\uff0c\u6267\u884c\u7ef4\u6301DoubleZero\u7f51\u7edc\u6280\u672f\u5b8c\u6574\u6027\u548c\u6301\u7eed\u529f\u80fd\u6240\u5fc5\u9700\u7684\u5404\u79cd\u7ef4\u62a4\u548c\u76d1\u63a7\u804c\u8d23\u3002\u5177\u4f53\u800c\u8a00\uff0c\u4ed6\u4eec\uff08i\uff09\u8ddf\u8e2a\u7528\u6237\u4ea4\u6613\u548c\u652f\u4ed8\uff1b\uff08ii\uff09\u8ba1\u7b97\u7f51\u7edc\u8d21\u732e\u8005\u7684\u8d39\u7528\uff1b\uff08iii\uff09\u8bb0\u5f55\uff08i\uff09\u548c\uff08ii\uff09\u7684\u7ed3\u679c\uff1b\uff08iv\uff09\u4e25\u683c\u4ee5\u975e\u81ea\u7531\u88c1\u91cf\u65b9\u5f0f\u7ba1\u7406\u63a7\u5236\u534f\u8bae\u4ee3\u5e01\u7ecf\u6d4e\u5b66\u7684\u667a\u80fd\u5408\u7ea6\uff1b\uff08v\uff09\u5411\u9002\u7528\u533a\u5757\u94fe\u4e2d\u7ee7\u8bc1\u660e\uff1b\uff08vi\uff09\u53d1\u5e03\u5173\u4e8e\u94fe\u8def\u8d28\u91cf\u548c\u5229\u7528\u7387\u7684\u9065\u6d4b\u6570\u636e\uff0c\u4e3a\u6240\u6709\u7f51\u7edc\u8d21\u732e\u8005\u63d0\u4f9b\u900f\u660e\u7684\u5b9e\u65f6\u6027\u80fd\u6307\u6807\u3002

"},{"location":"zh/architecture/#_5","title":"\u7ec4\u4ef6","text":""},{"location":"zh/architecture/#doublezero","title":"DoubleZero\u5b88\u62a4\u7a0b\u5e8f","text":"

DoubleZero\u5b88\u62a4\u7a0b\u5e8f\u8f6f\u4ef6\u8fd0\u884c\u5728\u9700\u8981\u901a\u8fc7DoubleZero\u7f51\u7edc\u901a\u4fe1\u7684\u670d\u52a1\u5668\u4e0a\u3002\u5b88\u62a4\u7a0b\u5e8f\u4e0e\u4e3b\u673a\u7684\u5185\u6838\u7f51\u7edc\u6808\u4ea4\u4e92\uff0c\u4ee5\u521b\u5efa\u548c\u7ba1\u7406\u96a7\u9053\u63a5\u53e3\u3001\u8def\u7531\u8868\u548c\u8def\u7531\u3002

"},{"location":"zh/architecture/#_6","title":"\u6fc0\u6d3b\u5668","text":"

\u6fc0\u6d3b\u5668\u670d\u52a1\u7531DoubleZero\u793e\u533a\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u8ba1\u7b97\u8d44\u6e90\u8d21\u732e\u6210\u5458\u6258\u7ba1\uff0c\u76d1\u63a7\u9700\u8981IP\u5730\u5740\u5206\u914d\u548c\u72b6\u6001\u66f4\u6539\u7684\u5408\u7ea6\u4e8b\u4ef6\uff0c\u5e76\u4ee3\u8868\u7f51\u7edc\u7ba1\u7406\u8fd9\u4e9b\u66f4\u6539\u3002

"},{"location":"zh/architecture/#_7","title":"\u63a7\u5236\u5668","text":"

\u63a7\u5236\u5668\u670d\u52a1\u7531DoubleZero\u793e\u533a\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u8ba1\u7b97\u8d44\u6e90\u8d21\u732e\u8005\u6258\u7ba1\uff0c\u4f5c\u4e3aDoubleZero\u8bbe\u5907\u4ee3\u7406\u57fa\u4e8e\u667a\u80fd\u5408\u7ea6\u4e8b\u4ef6\u5448\u73b0\u5176\u5f53\u524d\u914d\u7f6e\u7684\u914d\u7f6e\u63a5\u53e3\u3002

"},{"location":"zh/architecture/#_8","title":"\u4ee3\u7406","text":"

\u4ee3\u7406\u8f6f\u4ef6\u76f4\u63a5\u5728DoubleZero\u8bbe\u5907\u4e0a\u8fd0\u884c\uff0c\u5e76\u5e94\u7528\u7531\u63a7\u5236\u5668\u670d\u52a1\u89e3\u91ca\u7684\u914d\u7f6e\u66f4\u6539\u5230\u8bbe\u5907\u4e0a\u3002\u4ee3\u7406\u8f6f\u4ef6\u8f6e\u8be2\u63a7\u5236\u5668\u4ee5\u83b7\u53d6\u914d\u7f6e\u66f4\u6539\uff0c\u8ba1\u7b97\u8bbe\u5907\u72b6\u6001\u7684\u94fe\u4e0a\u89c4\u8303\u7248\u672c\u4e0e\u8bbe\u5907\u4e0a\u6d3b\u52a8\u914d\u7f6e\u4e4b\u95f4\u7684\u4efb\u4f55\u5dee\u5f02\uff0c\u5e76\u5e94\u7528\u5fc5\u8981\u7684\u66f4\u6539\u4ee5\u534f\u8c03\u6d3b\u52a8\u914d\u7f6e\u3002

"},{"location":"zh/architecture/#_9","title":"\u8bbe\u5907","text":"

\u4e3aDoubleZero\u7f51\u7edc\u63d0\u4f9b\u8def\u7531\u548c\u94fe\u8def\u7ec8\u6b62\u7684\u7269\u7406\u8bbe\u5907\u5916\u58f3\u3002DZD\u8fd0\u884cDoubleZero\u4ee3\u7406\u8f6f\u4ef6\uff0c\u5e76\u6839\u636e\u4ece\u63a7\u5236\u5668\u670d\u52a1\u8bfb\u53d6\u7684\u6570\u636e\u8fdb\u884c\u914d\u7f6e\u3002

"},{"location":"zh/connect/","title":"Connect","text":"

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.

If you are not redirected, click here.

"},{"location":"zh/contribute-operations/","title":"\u8d21\u732e\u8005\u8fd0\u8425\u6307\u5357","text":"

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.

\u672c\u6307\u5357\u6db5\u76d6\u7ef4\u62a4DoubleZero\u8bbe\u5907\uff08DZD\uff09\u7684\u6301\u7eed\u8fd0\u8425\u4efb\u52a1\uff0c\u5305\u62ec\u4ee3\u7406\u5347\u7ea7\u3001\u8bbe\u5907/\u63a5\u53e3\u66f4\u65b0\u548c\u94fe\u8def\u7ba1\u7406\u3002

\u524d\u63d0\u6761\u4ef6\uff1a\u4f7f\u7528\u672c\u6307\u5357\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u5df2\uff1a

"},{"location":"zh/contribute-operations/#_2","title":"\u8bbe\u5907\u66f4\u65b0","text":"

\u4f7f\u7528doublezero device update\u5728\u521d\u59cb\u914d\u7f6e\u540e\u4fee\u6539\u8bbe\u5907\u8bbe\u7f6e\u3002

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

\u5e38\u7528\u66f4\u65b0\u9009\u9879\uff1a

\u9009\u9879 \u63cf\u8ff0 --device-type <TYPE> \u66f4\u6539\u8fd0\u884c\u6a21\u5f0f\uff1ahybrid\u3001transit\u3001edge\uff08\u53c2\u89c1\u8bbe\u5907\u7c7b\u578b\uff09 --location <LOCATION> \u5c06\u8bbe\u5907\u79fb\u81f3\u4e0d\u540c\u4f4d\u7f6e --metrics-publisher <PUBKEY> \u66f4\u6539\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5"},{"location":"zh/contribute-operations/#_3","title":"\u63a5\u53e3\u66f4\u65b0","text":"

\u4f7f\u7528doublezero device interface update\u4fee\u6539\u73b0\u6709\u63a5\u53e3\u3002\u6b64\u547d\u4ee4\u63a5\u53d7\u4e0einterface create\u76f8\u540c\u7684\u9009\u9879\u3002

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

\u6709\u5173\u63a5\u53e3\u9009\u9879\uff08\u5305\u62ecCYOA/DIA\u8bbe\u7f6e\uff09\u7684\u5b8c\u6574\u5217\u8868\uff0c\u8bf7\u53c2\u89c1\u521b\u5efa\u63a5\u53e3\u3002

\u793a\u4f8b\u2014\u2014\u4e3a\u73b0\u6709\u63a5\u53e3\u6dfb\u52a0CYOA\u8bbe\u7f6e\uff1a

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"zh/contribute-operations/#_4","title":"\u5217\u51fa\u63a5\u53e3","text":"
doublezero device interface list              # \u6240\u6709\u8bbe\u5907\u7684\u6240\u6709\u63a5\u53e3\ndoublezero device interface list <DEVICE>     # \u7279\u5b9a\u8bbe\u5907\u7684\u63a5\u53e3\n
"},{"location":"zh/contribute-operations/#config-agent","title":"Config Agent\u5347\u7ea7","text":"

\u5f53Config Agent\u65b0\u7248\u672c\u53d1\u5e03\u65f6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5347\u7ea7\u3002

"},{"location":"zh/contribute-operations/#1","title":"1. \u4e0b\u8f7d\u6700\u65b0\u7248\u672c","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"zh/contribute-operations/#2","title":"2. \u5173\u95ed\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#3","title":"3. \u5220\u9664\u65e7\u7248\u672c","text":"

\u9996\u5148\uff0c\u627e\u5230\u65e7\u7248\u672c\u7684\u6587\u4ef6\u540d\uff1a

switch# show extensions\n

\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u65e7\u7248\u672c\u3002\u5c06<OLD_VERSION>\u66ff\u6362\u4e3a\u4e0a\u9762\u8f93\u51fa\u4e2d\u7684\u65e7\u7248\u672c\uff1a

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"zh/contribute-operations/#4","title":"4. \u5b89\u88c5\u65b0\u7248\u672c","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-operations/#5","title":"5. \u542f\u52a8\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#6","title":"6. \u9a8c\u8bc1\u5347\u7ea7","text":"

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\u3002

switch# show extensions\n

"},{"location":"zh/contribute-operations/#7-config-agent","title":"7. \u9a8c\u8bc1Config Agent\u65e5\u5fd7\u8f93\u51fa","text":"
show agent doublezero-agent log\n
"},{"location":"zh/contribute-operations/#telemetry-agent","title":"Telemetry Agent\u5347\u7ea7","text":"

\u5f53Telemetry Agent\u65b0\u7248\u672c\u53d1\u5e03\u65f6\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5347\u7ea7\u3002

"},{"location":"zh/contribute-operations/#1_1","title":"1. \u4e0b\u8f7d\u6700\u65b0\u7248\u672c","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"zh/contribute-operations/#2_1","title":"2. \u5173\u95ed\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#3_1","title":"3. \u5220\u9664\u65e7\u7248\u672c","text":"

\u9996\u5148\uff0c\u627e\u5230\u65e7\u7248\u672c\u7684\u6587\u4ef6\u540d\uff1a

switch# show extensions\n

\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5220\u9664\u65e7\u7248\u672c\u3002\u5c06<OLD_VERSION>\u66ff\u6362\u4e3a\u4e0a\u9762\u8f93\u51fa\u4e2d\u7684\u65e7\u7248\u672c\uff1a

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"zh/contribute-operations/#4_1","title":"4. \u5b89\u88c5\u65b0\u7248\u672c","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-operations/#5_1","title":"5. \u542f\u52a8\u4ee3\u7406","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"zh/contribute-operations/#6_1","title":"6. \u9a8c\u8bc1\u5347\u7ea7","text":"

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\u3002

switch# show extensions\n

"},{"location":"zh/contribute-operations/#7-telemetry-agent","title":"7. \u9a8c\u8bc1Telemetry Agent\u65e5\u5fd7\u8f93\u51fa","text":"
show agent doublezero-telemetry log\n
"},{"location":"zh/contribute-operations/#_5","title":"\u76d1\u63a7","text":"

\u26a0\ufe0f \u91cd\u8981\uff1a

  1. \u5bf9\u4e8e\u4ee5\u4e0b\u914d\u7f6e\u793a\u4f8b\uff0c\u8bf7\u6ce8\u610f\u60a8\u7684\u4ee3\u7406\u662f\u5426\u4f7f\u7528\u4e86\u7ba1\u7406VRF\u3002
  2. Config Agent\u548cTelemetry Agent\u9ed8\u8ba4\u4f7f\u7528\u76f8\u540c\u7684\u76d1\u542c\u7aef\u53e3\uff08:8080\uff09\u4f5c\u4e3a\u5176\u6307\u6807\u7aef\u70b9\u3002\u5982\u679c\u4e24\u8005\u90fd\u542f\u7528\u4e86\u6307\u6807\uff0c\u8bf7\u4f7f\u7528-metrics-addr\u6807\u5fd7\u4e3a\u6bcf\u4e2a\u4ee3\u7406\u8bbe\u7f6e\u552f\u4e00\u7684\u76d1\u542c\u7aef\u53e3\u3002
"},{"location":"zh/contribute-operations/#config-agent_1","title":"Config Agent\u6307\u6807","text":"

DoubleZero\u8bbe\u5907\u4e0a\u7684Config Agent\u53ef\u4ee5\u901a\u8fc7\u5728doublezero-agent\u5b88\u62a4\u8fdb\u7a0b\u914d\u7f6e\u4e2d\u8bbe\u7f6e-metrics-enable\u6807\u5fd7\u6765\u516c\u5f00Prometheus\u517c\u5bb9\u6307\u6807\u3002\u9ed8\u8ba4\u76d1\u542c\u7aef\u53e3\u4e3atcp/8080\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7-metrics-addr\u66f4\u6539\u4ee5\u9002\u5e94\u73af\u5883\uff1a

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

\u9664go\u7279\u5b9a\u7684\u8fd0\u884c\u65f6\u6307\u6807\u5916\uff0c\u8fd8\u516c\u5f00\u4ee5\u4e0bDoubleZero\u7279\u5b9a\u6307\u6807\uff1a

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"zh/contribute-operations/#_6","title":"\u9ad8\u4fe1\u53f7\u9519\u8bef","text":""},{"location":"zh/contribute-operations/#telemetry-agent_1","title":"Telemetry Agent\u6307\u6807","text":"

DoubleZero\u8bbe\u5907\u4e0a\u7684Telemetry Agent\u53ef\u4ee5\u901a\u8fc7\u5728doublezero-telemetry\u5b88\u62a4\u8fdb\u7a0b\u914d\u7f6e\u4e2d\u8bbe\u7f6e-metrics-enable\u6807\u5fd7\u6765\u516c\u5f00Prometheus\u517c\u5bb9\u6307\u6807\u3002\u9ed8\u8ba4\u76d1\u542c\u7aef\u53e3\u4e3atcp/8080\uff0c\u4f46\u53ef\u4ee5\u901a\u8fc7-metrics-addr\u66f4\u6539\u4ee5\u9002\u5e94\u73af\u5883\uff1a

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

\u9664go\u7279\u5b9a\u7684\u8fd0\u884c\u65f6\u6307\u6807\u5916\uff0c\u8fd8\u516c\u5f00\u4ee5\u4e0bDoubleZero\u7279\u5b9a\u6307\u6807\uff1a

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"zh/contribute-operations/#_7","title":"\u9ad8\u4fe1\u53f7\u9519\u8bef","text":""},{"location":"zh/contribute-operations/#_8","title":"\u94fe\u8def\u7ba1\u7406","text":""},{"location":"zh/contribute-operations/#_9","title":"\u94fe\u8def\u6392\u6c34","text":"

\u94fe\u8def\u6392\u6c34\u5141\u8bb8\u8d21\u732e\u8005\u4f18\u96c5\u5730\u4ece\u6d3b\u8dc3\u670d\u52a1\u4e2d\u79fb\u9664\u94fe\u8def\uff0c\u4ee5\u8fdb\u884c\u7ef4\u62a4\u6216\u6545\u969c\u6392\u9664\u3002\u6709\u4e24\u79cd\u6392\u6c34\u72b6\u6001\uff1a

\u72b6\u6001 IS-IS\u884c\u4e3a \u63cf\u8ff0 soft-drained \u6307\u6807\u8bbe\u7f6e\u4e3a1,000,000 \u94fe\u8def\u964d\u4f4e\u4f18\u5148\u7ea7\u3002\u6d41\u91cf\u5c06\u5728\u6709\u5907\u7528\u8def\u5f84\u65f6\u4f7f\u7528\u5907\u7528\u8def\u5f84\uff0c\u4f46\u5982\u679c\u6b64\u94fe\u8def\u662f\u552f\u4e00\u9009\u9879\uff0c\u4ecd\u4f1a\u4f7f\u7528\u5b83\u3002 hard-drained \u8bbe\u7f6e\u4e3a\u88ab\u52a8\u6a21\u5f0f \u94fe\u8def\u4ece\u8def\u7531\u4e2d\u5b8c\u5168\u79fb\u9664\u3002\u4e0d\u4f1a\u6709\u6d41\u91cf\u7ecf\u8fc7\u6b64\u94fe\u8def\u3002"},{"location":"zh/contribute-operations/#_10","title":"\u72b6\u6001\u8f6c\u6362","text":"

\u5141\u8bb8\u4ee5\u4e0b\u72b6\u6001\u8f6c\u6362\uff1a

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 \uff08\u5fc5\u987b\u5148\u7ecf\u8fc7soft-drained\uff09\n

\u26a0\ufe0f \u6ce8\u610f\uff1a \u60a8\u4e0d\u80fd\u76f4\u63a5\u4ecehard-drained\u8f6c\u5230activated\u3002\u5fc5\u987b\u5148\u8f6c\u6362\u5230soft-drained\uff0c\u518d\u8f6c\u6362\u5230activated\u3002

"},{"location":"zh/contribute-operations/#_11","title":"\u8f6f\u6392\u6c34\u94fe\u8def","text":"

\u8f6f\u6392\u6c34\u901a\u8fc7\u5c06IS-IS\u6307\u6807\u8bbe\u7f6e\u4e3a1,000,000\u6765\u964d\u4f4e\u94fe\u8def\u4f18\u5148\u7ea7\u3002\u6d41\u91cf\u5c06\u4f18\u5148\u9009\u62e9\u5907\u7528\u8def\u5f84\uff0c\u4f46\u5728\u5fc5\u8981\u65f6\u4ecd\u53ef\u4f7f\u7528\u6b64\u94fe\u8def\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"zh/contribute-operations/#_12","title":"\u786c\u6392\u6c34\u94fe\u8def","text":"

\u786c\u6392\u6c34\u901a\u8fc7\u5c06IS-IS\u8bbe\u7f6e\u4e3a\u88ab\u52a8\u6a21\u5f0f\uff0c\u5c06\u94fe\u8def\u4ece\u8def\u7531\u4e2d\u5b8c\u5168\u79fb\u9664\u3002\u4e0d\u4f1a\u6709\u6d41\u91cf\u7ecf\u8fc7\u6b64\u94fe\u8def\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"zh/contribute-operations/#_13","title":"\u5c06\u94fe\u8def\u6062\u590d\u4e3a\u6d3b\u8dc3\u72b6\u6001","text":"

\u5c06\u5df2\u6392\u6c34\u7684\u94fe\u8def\u6062\u590d\u4e3a\u6b63\u5e38\u8fd0\u884c\uff1a

# \u4ecesoft-drained\u6062\u590d\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# \u4ecehard-drained\u6062\u590d\uff08\u5fc5\u987b\u5148\u7ecf\u8fc7soft-drained\uff09\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"zh/contribute-operations/#_14","title":"\u5ef6\u8fdf\u8986\u76d6","text":"

\u5ef6\u8fdf\u8986\u76d6\u529f\u80fd\u5141\u8bb8\u8d21\u732e\u8005\u4e34\u65f6\u66f4\u6539\u94fe\u8def\u7684\u6709\u6548\u5ef6\u8fdf\uff0c\u800c\u65e0\u9700\u4fee\u6539\u5b9e\u9645\u6d4b\u91cf\u7684\u5ef6\u8fdf\u503c\u3002\u8fd9\u5bf9\u4e8e\u4e34\u65f6\u5c06\u94fe\u8def\u4ece\u4e3b\u8def\u5f84\u964d\u7ea7\u4e3a\u5907\u7528\u8def\u5f84\u975e\u5e38\u6709\u7528\u3002

"},{"location":"zh/contribute-operations/#_15","title":"\u8bbe\u7f6e\u5ef6\u8fdf\u8986\u76d6","text":"

\u8986\u76d6\u94fe\u8def\u5ef6\u8fdf\uff08\u4f7f\u5176\u5728\u8def\u7531\u4e2d\u4e0d\u592a\u88ab\u4f18\u5148\u9009\u62e9\uff09\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

\u6709\u6548\u503c\u4e3a0.01\u52301000\u6beb\u79d2\u3002

"},{"location":"zh/contribute-operations/#_16","title":"\u6e05\u9664\u5ef6\u8fdf\u8986\u76d6","text":"

\u79fb\u9664\u8986\u76d6\u5e76\u6062\u590d\u4f7f\u7528\u5b9e\u9645\u6d4b\u91cf\u7684\u5ef6\u8fdf\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f \u6ce8\u610f\uff1a \u5f53\u94fe\u8def\u5904\u4e8esoft-drained\u72b6\u6001\u65f6\uff0cdelay_ms\u548cdelay_override_ms\u90fd\u4f1a\u88ab\u8986\u76d6\u4e3a1000ms\uff081\u79d2\uff09\u4ee5\u786e\u4fdd\u964d\u4f4e\u4f18\u5148\u7ea7\u3002

"},{"location":"zh/contribute-overview/","title":"\u8d21\u732e\u8005\u6587\u6863","text":"

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.

\u672f\u8bed

\u521d\u6b21\u4f7f\u7528DoubleZero\uff1f\u8bf7\u53c2\u9605\u8bcd\u6c47\u8868\u4e86\u89e3DZD\u3001DZX\u548cCYOA\u7b49\u5173\u952e\u672f\u8bed\u7684\u5b9a\u4e49\u3002

\u6b22\u8fce\u9605\u8bfbDoubleZero\u8d21\u732e\u8005\u6587\u6863\u3002\u672c\u8282\u6db5\u76d6\u6210\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u6240\u9700\u7684\u4e00\u5207\u5185\u5bb9\u3002

\u6709\u5174\u8da3\u6210\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\uff1f

\u8bf7\u67e5\u770b\u9700\u6c42\u4e0e\u67b6\u6784\u9875\u9762\uff0c\u4e86\u89e3\u4e3aDoubleZero\u7f51\u7edc\u505a\u8d21\u732e\u6240\u9700\u7684\u786c\u4ef6\u3001\u5e26\u5bbd\u548c\u8fde\u63a5\u8981\u6c42\u3002

"},{"location":"zh/contribute-overview/#_2","title":"\u5165\u804c\u6838\u5bf9\u6e05\u5355","text":"

\u4f7f\u7528\u6b64\u6838\u5bf9\u6e05\u5355\u8ddf\u8e2a\u60a8\u7684\u8fdb\u5ea6\u3002\u5728\u60a8\u7684\u8d21\u732e\u5728\u6280\u672f\u4e0a\u6b63\u5f0f\u8fd0\u8425\u4e4b\u524d\uff0c\u6240\u6709\u9879\u76ee\u5fc5\u987b\u5b8c\u6210\u3002

"},{"location":"zh/contribute-overview/#_3","title":"\u7b2c\u4e00\u9636\u6bb5\uff1a\u524d\u63d0\u6761\u4ef6","text":""},{"location":"zh/contribute-overview/#_4","title":"\u7b2c\u4e8c\u9636\u6bb5\uff1a\u8d26\u6237\u8bbe\u7f6e","text":""},{"location":"zh/contribute-overview/#_5","title":"\u7b2c\u4e09\u9636\u6bb5\uff1a\u8bbe\u5907\u914d\u7f6e","text":""},{"location":"zh/contribute-overview/#_6","title":"\u7b2c\u56db\u9636\u6bb5\uff1a\u94fe\u8def\u5efa\u7acb\u4e0e\u4ee3\u7406\u5b89\u88c5","text":""},{"location":"zh/contribute-overview/#_7","title":"\u7b2c\u4e94\u9636\u6bb5\uff1a\u94fe\u8def\u78e8\u5408","text":""},{"location":"zh/contribute-overview/#_8","title":"\u7b2c\u516d\u9636\u6bb5\uff1a\u9a8c\u8bc1\u4e0e\u6fc0\u6d3b","text":""},{"location":"zh/contribute-overview/#_9","title":"\u83b7\u53d6\u5e2e\u52a9","text":"

\u4f5c\u4e3a\u5165\u804c\u7684\u4e00\u90e8\u5206\uff0cDZF\u5c06\u628a\u60a8\u6dfb\u52a0\u5230\u8d21\u732e\u8005Slack\u9891\u9053\uff1a

\u9891\u9053 \u7528\u9014 #dz-contributor-announcements DZF\u548cMalbec Labs\u7684\u5b98\u65b9\u901a\u4fe1\u2014\u2014CLI/\u4ee3\u7406\u5347\u7ea7\u3001\u91cd\u5927\u66f4\u6539\u3001\u5b89\u5168\u516c\u544a\u3002\u76d1\u63a7\u5173\u952e\u66f4\u65b0\uff1b\u5728\u7ebf\u7a0b\u4e2d\u63d0\u95ee\u3002 #dz-contributor-incidents \u672a\u8ba1\u5212\u7684\u670d\u52a1\u5f71\u54cd\u4e8b\u4ef6\u3002\u4e8b\u4ef6\u901a\u8fc7API/Web\u8868\u5355\u81ea\u52a8\u53d1\u5e03\uff0c\u5305\u542b\u4e25\u91cd\u7a0b\u5ea6\u548c\u53d7\u5f71\u54cd\u7684\u8bbe\u5907/\u94fe\u8def\u3002\u8ba8\u8bba\u548c\u6545\u969c\u6392\u9664\u5728\u7ebf\u7a0b\u4e2d\u8fdb\u884c\u3002 #dz-contributor-maintenance \u8ba1\u5212\u7ef4\u62a4\u6d3b\u52a8\uff08\u5347\u7ea7\u3001\u7ef4\u4fee\uff09\u3002\u901a\u8fc7API/Web\u8868\u5355\u5b89\u6392\uff0c\u5305\u542b\u8ba1\u5212\u5f00\u59cb/\u7ed3\u675f\u65f6\u95f4\u3002\u8ba8\u8bba\u5728\u7ebf\u7a0b\u4e2d\u8fdb\u884c\u3002 #dz-contributor-ops \u6240\u6709\u8d21\u732e\u8005\u7684\u5f00\u653e\u8ba8\u8bba\u2014\u2014\u8fd0\u8425\u95ee\u9898\u3001CLI\u5e2e\u52a9\u3001\u5206\u4eab\u8fd0\u884c\u624b\u518c\u548c\u64cd\u4f5c\u624b\u518c\u3002

\u60a8\u8fd8\u5c06\u83b7\u5f97\u4e00\u4e2a\u7528\u4e8e\u60a8\u7ec4\u7ec7\u76f4\u63a5\u652f\u6301\u7684\u79c1\u6709DZ/Malbec Labs\u9891\u9053\u3002

"},{"location":"zh/contribute-overview/#dz","title":"DZ\u524d\u7f00\u89c4\u5219","text":"

\u91cd\u8981\uff1aDZ\u524d\u7f00\u6c60\u4f7f\u7528

\u60a8\u63d0\u4f9b\u7684DZ\u524d\u7f00\u6c60\u7531DoubleZero\u534f\u8bae\u7ba1\u7406\uff0c\u7528\u4e8eIP\u5206\u914d\u3002

DZ\u524d\u7f00\u7684\u4f7f\u7528\u65b9\u5f0f\uff1a

\u60a8\u4e0d\u80fd\u5c06\u8fd9\u4e9b\u5730\u5740\u7528\u4e8e\uff1a

\u8981\u6c42\uff1a

\u5982\u679c\u60a8\u9700\u8981\u7528\u4e8e\u81ea\u5df1\u8bbe\u5907\u7684\u5730\u5740\uff08DIA\u63a5\u53e3IP\u3001\u7ba1\u7406\u5730\u5740\u7b49\uff09\uff0c\u8bf7\u4f7f\u7528\u5355\u72ec\u7684\u5730\u5740\u6c60\u3002

"},{"location":"zh/contribute-overview/#_10","title":"\u5feb\u901f\u53c2\u8003\uff1a\u5173\u952e\u672f\u8bed","text":"

\u521d\u6b21\u4f7f\u7528DoubleZero\uff1f\u4ee5\u4e0b\u662f\u57fa\u672c\u672f\u8bed\uff08\u53c2\u89c1\u5b8c\u6574\u8bcd\u6c47\u8868\uff09\uff1a

\u672f\u8bed \u5b9a\u4e49 DZD DoubleZero\u8bbe\u5907\u2014\u2014\u8fd0\u884cDZ\u4ee3\u7406\u7684\u7269\u7406Arista\u4ea4\u6362\u673a DZX DoubleZero\u4ea4\u6362\u70b9\u2014\u2014\u8d21\u732e\u8005\u5bf9\u7b49\u7684\u57ce\u57df\u4e92\u8fde\u70b9 CYOA \u81ea\u9009\u5192\u9669\u2014\u2014\u7528\u6237\u8fde\u63a5\u65b9\u6cd5\uff08GREOverDIA\u3001GREOverFabric\u7b49\uff09 DIA \u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\u2014\u2014\u6240\u6709DZD\u7528\u4e8e\u63a7\u5236\u5668\u548c\u9065\u6d4b\u7684\u4e92\u8054\u7f51\u8fde\u63a5\uff0c\u901a\u5e38\u7528\u4f5c\u8fb9\u7f18/\u6df7\u5408\u8bbe\u5907\u4e0a\u7528\u6237\u8fde\u63a5\u7684CYOA\u7c7b\u578b WAN\u94fe\u8def \u60a8\u81ea\u5df1\u7684DZD\u4e4b\u95f4\u7684\u94fe\u8def\uff08\u540c\u4e00\u8d21\u732e\u8005\uff09 DZX\u94fe\u8def \u5230\u53e6\u4e00\u8d21\u732e\u8005DZD\u7684\u94fe\u8def\uff08\u9700\u8981\u76f8\u4e92\u63a5\u53d7\uff09 \u914d\u7f6e\u4ee3\u7406 \u8f6e\u8be2\u63a7\u5236\u5668\uff0c\u5c06\u914d\u7f6e\u5e94\u7528\u5230\u60a8\u7684DZD \u9065\u6d4b\u4ee3\u7406 \u6536\u96c6TWAMP\u5ef6\u8fdf/\u4e22\u5305\u6307\u6807\uff0c\u63d0\u4ea4\u5230\u94fe\u4e0a\u8d26\u672c \u670d\u52a1\u5bc6\u94a5 \u60a8\u7684\u8d21\u732e\u8005\u8eab\u4efd\u5bc6\u94a5\uff0c\u7528\u4e8eCLI\u64cd\u4f5c \u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5 \u7528\u4e8e\u7b7e\u7f72\u94fe\u4e0a\u9065\u6d4b\u63d0\u4ea4\u7684\u5bc6\u94a5"},{"location":"zh/contribute-overview/#_11","title":"\u6587\u6863\u7ed3\u6784","text":"\u6307\u5357 \u63cf\u8ff0 \u9700\u6c42\u4e0e\u67b6\u6784 \u786c\u4ef6\u89c4\u683c\u3001\u7f51\u7edc\u67b6\u6784\u3001\u5e26\u5bbd\u9009\u9879 \u8bbe\u5907\u914d\u7f6e \u5206\u6b65\u64cd\u4f5c\uff1a\u5bc6\u94a5\u2192\u4ed3\u5e93\u8bbf\u95ee\u2192\u8bbe\u5907\u2192\u94fe\u8def\u2192\u4ee3\u7406 \u8fd0\u8425 \u4ee3\u7406\u5347\u7ea7\u3001\u94fe\u8def\u7ba1\u7406\u3001\u76d1\u63a7 \u8bcd\u6c47\u8868 \u6240\u6709DoubleZero\u672f\u8bed\u5b9a\u4e49"},{"location":"zh/contribute-overview/#_12","title":"\u975e\u7f51\u7edc\u5de5\u7a0b\u5e08\u7684\u7f51\u7edc\u57fa\u7840\u77e5\u8bc6","text":"

\u5982\u679c\u60a8\u4e0d\u662f\u7f51\u7edc\u5de5\u7a0b\u5e08\u80cc\u666f\uff0c\u4ee5\u4e0b\u662f\u672c\u6587\u6863\u4e2d\u4f7f\u7528\u7684\u6982\u5ff5\u5165\u95e8\uff1a

"},{"location":"zh/contribute-overview/#ip","title":"IP\u5bfb\u5740","text":""},{"location":"zh/contribute-overview/#_13","title":"\u7f51\u7edc\u5c42","text":""},{"location":"zh/contribute-overview/#_14","title":"\u5e38\u7528\u672f\u8bed","text":""},{"location":"zh/contribute-overview/#doublezero","title":"DoubleZero\u7279\u5b9a","text":"

\u51c6\u5907\u597d\u5f00\u59cb\u4e86\u5417\uff1f\u4ece\u9700\u6c42\u4e0e\u67b6\u6784\u5f00\u59cb\u3002

"},{"location":"zh/contribute-provisioning/","title":"\u8bbe\u5907\u914d\u7f6e\u6307\u5357","text":"

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.

\u672c\u6307\u5357\u5c06\u5f15\u5bfc\u60a8\u4ece\u5934\u5230\u5c3e\u5b8c\u6210DoubleZero\u8bbe\u5907\uff08DZD\uff09\u7684\u914d\u7f6e\u3002\u6bcf\u4e2a\u9636\u6bb5\u4e0e\u5165\u9a7b\u6e05\u5355\u76f8\u5bf9\u5e94\u3002

"},{"location":"zh/contribute-provisioning/#_2","title":"\u6574\u4f53\u67b6\u6784\u6982\u89c8","text":"

\u5728\u6df1\u5165\u6b65\u9aa4\u4e4b\u524d\uff0c\u5148\u4e86\u89e3\u60a8\u6b63\u5728\u6784\u5efa\u7684\u6574\u4f53\u67b6\u6784\uff1a

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero\u8d26\u672c]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[\u7ba1\u7406\u670d\u52a1\u5668<br/>DoubleZero CLI]\n        DZD[\u60a8\u7684DZD<br/>Arista\u4ea4\u6362\u673a]\n        DZD ---|WAN\u94fe\u8def| DZD2[\u60a8\u7684\u5176\u4ed6DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[\u4ed6\u4eec\u7684DZD]\n    end\n\n    subgraph Users\n        VAL[\u9a8c\u8bc1\u5668]\n        RPC[RPC\u8282\u70b9]\n    end\n\n    MGMT -.->|\u6ce8\u518c\u8bbe\u5907\u3001<br/>\u94fe\u8def\u3001\u63a5\u53e3| SC\n    DZD ---|DZX\u94fe\u8def| OtherDZD\n    VAL ---|\u901a\u8fc7\u4e92\u8054\u7f51\u8fde\u63a5| DZD\n    RPC ---|\u901a\u8fc7\u4e92\u8054\u7f51\u8fde\u63a5| DZD
"},{"location":"zh/contribute-provisioning/#1","title":"\u9636\u6bb51\uff1a\u524d\u63d0\u6761\u4ef6","text":"

\u5728\u914d\u7f6e\u8bbe\u5907\u4e4b\u524d\uff0c\u60a8\u9700\u8981\u5b8c\u6210\u7269\u7406\u786c\u4ef6\u7684\u5b89\u88c5\u5e76\u5206\u914d\u4e00\u4e9bIP\u5730\u5740\u3002

"},{"location":"zh/contribute-provisioning/#_3","title":"\u6240\u9700\u6761\u4ef6","text":"\u8981\u6c42 \u7528\u9014 DZD\u786c\u4ef6 Arista 7280CR3A\u4ea4\u6362\u673a\uff08\u53c2\u89c1\u786c\u4ef6\u89c4\u683c\uff09 \u673a\u67b6\u7a7a\u95f4 4U\uff0c\u9700\u8981\u9002\u5f53\u7684\u6c14\u6d41 \u7535\u6e90 \u5197\u4f59\u4f9b\u7535\uff0c\u5efa\u8bae\u7ea64KW \u7ba1\u7406\u8bbf\u95ee SSH/\u63a7\u5236\u53f0\u8bbf\u95ee\u4ee5\u914d\u7f6e\u4ea4\u6362\u673a \u4e92\u8054\u7f51\u8fde\u63a5 \u7528\u4e8e\u53d1\u5e03\u6307\u6807\u548c\u4ece\u63a7\u5236\u5668\u83b7\u53d6\u914d\u7f6e \u516c\u5171IPv4\u5730\u5740\u5757 DZ\u524d\u7f00\u6c60\u81f3\u5c11\u9700\u8981/29\uff08\u53c2\u89c1\u4e0b\u65b9\uff09"},{"location":"zh/contribute-provisioning/#doublezero-cli","title":"\u5b89\u88c5DoubleZero CLI","text":"

DoubleZero CLI\uff08doublezero\uff09\u5728\u6574\u4e2a\u914d\u7f6e\u8fc7\u7a0b\u4e2d\u7528\u4e8e\u6ce8\u518c\u8bbe\u5907\u3001\u521b\u5efa\u94fe\u8def\u548c\u7ba1\u7406\u60a8\u7684\u8d21\u732e\u3002\u5e94\u5c06\u5176\u5b89\u88c5\u5728\u7ba1\u7406\u670d\u52a1\u5668\u6216\u865a\u62df\u673a\u4e0a\u2014\u2014\u800c\u4e0d\u662fDZD\u4ea4\u6362\u673a\u672c\u8eab\u3002\u4ea4\u6362\u673a\u53ea\u8fd0\u884cConfig Agent\u548cTelemetry Agent\uff08\u5728\u9636\u6bb54\u4e2d\u5b89\u88c5\uff09\u3002

Ubuntu / Debian\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u9a8c\u8bc1\u5b88\u62a4\u8fdb\u7a0b\u6b63\u5728\u8fd0\u884c\uff1a

sudo systemctl status doublezerod\n

"},{"location":"zh/contribute-provisioning/#dz","title":"\u4e86\u89e3\u60a8\u7684DZ\u524d\u7f00","text":"

\u60a8\u7684DZ\u524d\u7f00\u662fDoubleZero\u534f\u8bae\u7ba1\u7406\u7528\u4e8eIP\u5206\u914d\u7684\u516c\u5171IP\u5730\u5740\u5757\u3002

flowchart LR\n    subgraph \"\u60a8\u7684/29\u5730\u5740\u5757\uff088\u4e2aIP\uff09\"\n        IP1[\"\u7b2c\u4e00\u4e2aIP<br/>\u4e3a\u60a8\u7684\u8bbe\u5907<br/>\u4fdd\u7559\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|\u5206\u914d\u7ed9| LO[DZD\u4e0a\u7684<br/>Loopback100]\n    IP2 -->|\u5206\u914d\u7ed9| U1[\u7528\u62371]\n    IP3 -->|\u5206\u914d\u7ed9| U2[\u7528\u62372]

DZ\u524d\u7f00\u7684\u4f7f\u7528\u65b9\u5f0f\uff1a

DZ\u524d\u7f00\u89c4\u5219

\u60a8\u4e0d\u80fd\u5c06\u8fd9\u4e9b\u5730\u5740\u7528\u4e8e\uff1a

\u8981\u6c42\uff1a

\u5982\u679c\u60a8\u9700\u8981\u4e3a\u81ea\u5df1\u7684\u8bbe\u5907\uff08DIA\u63a5\u53e3IP\u3001\u7ba1\u7406\u7b49\uff09\u5206\u914d\u5730\u5740\uff0c\u8bf7\u4f7f\u7528\u5355\u72ec\u7684\u5730\u5740\u6c60\u3002

"},{"location":"zh/contribute-provisioning/#2","title":"\u9636\u6bb52\uff1a\u8d26\u6237\u8bbe\u7f6e","text":"

\u5728\u6b64\u9636\u6bb5\uff0c\u60a8\u5c06\u521b\u5efa\u5728\u7f51\u7edc\u4e0a\u6807\u8bc6\u60a8\u548c\u60a8\u8bbe\u5907\u7684\u52a0\u5bc6\u5bc6\u94a5\u3002

"},{"location":"zh/contribute-provisioning/#cli","title":"\u5728\u54ea\u91cc\u8fd0\u884cCLI","text":"

\u8bf7\u52ff\u5728\u4ea4\u6362\u673a\u4e0a\u5b89\u88c5CLI

DoubleZero CLI\uff08doublezero\uff09\u5e94\u5b89\u88c5\u5728\u7ba1\u7406\u670d\u52a1\u5668\u6216\u865a\u62df\u673a\u4e0a\uff0c\u800c\u4e0d\u662f\u60a8\u7684Arista\u4ea4\u6362\u673a\u4e0a\u3002

flowchart LR\n    subgraph \"\u7ba1\u7406\u670d\u52a1\u5668/\u865a\u62df\u673a\"\n        CLI[DoubleZero CLI]\n        KEYS[\u60a8\u7684\u5bc6\u94a5\u5bf9]\n    end\n\n    subgraph \"\u60a8\u7684DZD\u4ea4\u6362\u673a\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|\u521b\u5efa\u8bbe\u5907\u3001\u94fe\u8def| BC[\u533a\u5757\u94fe]\n    CA -->|\u62c9\u53d6\u914d\u7f6e| CTRL[\u63a7\u5236\u5668]\n    TA -->|\u63d0\u4ea4\u6307\u6807| BC
\u5b89\u88c5\u5728\u7ba1\u7406\u670d\u52a1\u5668\u4e0a \u5b89\u88c5\u5728\u4ea4\u6362\u673a\u4e0a doublezero CLI Config Agent \u60a8\u7684\u670d\u52a1\u5bc6\u94a5 Telemetry Agent \u60a8\u7684\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5 \u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5\uff08\u526f\u672c\uff09"},{"location":"zh/contribute-provisioning/#_4","title":"\u4ec0\u4e48\u662f\u5bc6\u94a5\uff1f","text":"

\u53ef\u4ee5\u5c06\u5bc6\u94a5\u7406\u89e3\u4e3a\u5b89\u5168\u767b\u5f55\u51ed\u636e\uff1a

\u4e24\u8005\u90fd\u662f\u52a0\u5bc6\u5bc6\u94a5\u5bf9\uff08\u60a8\u5171\u4eab\u7684\u516c\u94a5\uff0c\u60a8\u4fdd\u5bc6\u7684\u79c1\u94a5\uff09\u3002

flowchart LR\n    subgraph \"\u60a8\u7684\u5bc6\u94a5\"\n        SK[\u670d\u52a1\u5bc6\u94a5<br/>~/.config/solana/id.json]\n        MK[\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|\u7528\u4e8e| CLI[CLI\u547d\u4ee4<br/>doublezero device create<br/>doublezero link create]\n    MK -->|\u7528\u4e8e| TEL[Telemetry Agent<br/>\u94fe\u4e0a\u63d0\u4ea4\u6307\u6807]
"},{"location":"zh/contribute-provisioning/#21","title":"\u6b65\u9aa42.1\uff1a\u751f\u6210\u670d\u52a1\u5bc6\u94a5","text":"

\u8fd9\u662f\u60a8\u4e0eDoubleZero\u4ea4\u4e92\u7684\u4e3b\u8981\u8eab\u4efd\u3002

doublezero keygen\n

\u8fd9\u5c06\u5728\u9ed8\u8ba4\u4f4d\u7f6e\u521b\u5efa\u4e00\u4e2a\u5bc6\u94a5\u5bf9\u3002\u8f93\u51fa\u663e\u793a\u60a8\u7684\u516c\u94a5\u2014\u2014\u8fd9\u662f\u60a8\u5c06\u4e0eDZF\u5171\u4eab\u7684\u5185\u5bb9\u3002

"},{"location":"zh/contribute-provisioning/#22","title":"\u6b65\u9aa42.2\uff1a\u751f\u6210\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5","text":"

\u6b64\u5bc6\u94a5\u7531Telemetry Agent\u7528\u4e8e\u7b7e\u7f72\u6307\u6807\u63d0\u4ea4\u3002

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"zh/contribute-provisioning/#23dzf","title":"\u6b65\u9aa42.3\uff1a\u5411DZF\u63d0\u4ea4\u5bc6\u94a5","text":"

\u8054\u7cfbDoubleZero\u57fa\u91d1\u4f1a\u6216Malbec Labs\u5e76\u63d0\u4f9b\uff1a

  1. \u60a8\u7684\u670d\u52a1\u5bc6\u94a5\u516c\u94a5
  2. \u60a8\u7684GitHub\u7528\u6237\u540d\uff08\u7528\u4e8e\u4ed3\u5e93\u8bbf\u95ee\uff09

\u4ed6\u4eec\u5c06\uff1a

"},{"location":"zh/contribute-provisioning/#24","title":"\u6b65\u9aa42.4\uff1a\u9a8c\u8bc1\u60a8\u7684\u8d26\u6237","text":"

\u786e\u8ba4\u540e\uff0c\u9a8c\u8bc1\u60a8\u7684\u8d21\u732e\u8005\u8d26\u6237\u662f\u5426\u5b58\u5728\uff1a

doublezero contributor list\n

\u60a8\u5e94\u8be5\u5728\u5217\u8868\u4e2d\u770b\u5230\u60a8\u7684\u8d21\u732e\u8005\u4ee3\u7801\u3002

"},{"location":"zh/contribute-provisioning/#25","title":"\u6b65\u9aa42.5\uff1a\u8bbf\u95ee\u8d21\u732e\u8005\u4ed3\u5e93","text":"

malbeclabs/contributors \u4ed3\u5e93\u5305\u542b\uff1a

\u8bf7\u6309\u7167\u5176\u4e2d\u7684\u8bf4\u660e\u8fdb\u884c\u8bbe\u5907\u7279\u5b9a\u914d\u7f6e\u3002

"},{"location":"zh/contribute-provisioning/#3","title":"\u9636\u6bb53\uff1a\u8bbe\u5907\u914d\u7f6e","text":"

\u73b0\u5728\u60a8\u5c06\u5728\u533a\u5757\u94fe\u4e0a\u6ce8\u518c\u7269\u7406\u8bbe\u5907\u5e76\u914d\u7f6e\u5176\u63a5\u53e3\u3002

"},{"location":"zh/contribute-provisioning/#_5","title":"\u4e86\u89e3\u8bbe\u5907\u7c7b\u578b","text":"
flowchart TB\n    subgraph \"\u8fb9\u7f18\u8bbe\u5907\"\n        E[\u8fb9\u7f18DZD]\n        EU[\u7528\u6237\u8fde\u63a5\u5230\u6b64\u5904]\n        EU --> E\n        E <-->|DZX\u94fe\u8def| ED[\u5176\u4ed6DZD]\n    end\n\n    subgraph \"\u4f20\u8f93\u8bbe\u5907\"\n        T[\u4f20\u8f93DZD]\n        T <-->|WAN\u94fe\u8def| T2[\u53e6\u4e00\u4e2aDZD]\n        T <-->|DZX\u94fe\u8def| TD[\u5176\u4ed6DZD]\n    end\n\n    subgraph \"\u6df7\u5408\u8bbe\u5907\"\n        H[\u6df7\u5408DZD]\n        HU[\u7528\u6237\u8fde\u63a5\u5230\u6b64\u5904]\n        HU --> H\n        H <-->|WAN\u94fe\u8def| H2[\u53e6\u4e00\u4e2aDZD]\n        H <-->|DZX\u94fe\u8def| HD[\u5176\u4ed6DZD]\n    end
\u7c7b\u578b \u529f\u80fd \u4f7f\u7528\u65f6\u673a \u8fb9\u7f18 \u4ec5\u63a5\u53d7\u7528\u6237\u8fde\u63a5 \u5355\u4e00\u4f4d\u7f6e\uff0c\u4ec5\u9762\u5411\u7528\u6237 \u4f20\u8f93 \u5728\u8bbe\u5907\u4e4b\u95f4\u4f20\u8f93\u6d41\u91cf \u9aa8\u5e72\u8fde\u63a5\uff0c\u65e0\u7528\u6237 \u6df7\u5408 \u540c\u65f6\u652f\u6301\u7528\u6237\u8fde\u63a5\u548c\u9aa8\u5e72 \u6700\u5e38\u89c1\u2014\u2014\u529f\u80fd\u5168\u9762"},{"location":"zh/contribute-provisioning/#31","title":"\u6b65\u9aa43.1\uff1a\u67e5\u627e\u60a8\u7684\u4f4d\u7f6e\u548c\u4ea4\u6362\u4e2d\u5fc3","text":"

\u5728\u521b\u5efa\u8bbe\u5907\u4e4b\u524d\uff0c\u67e5\u627e\u60a8\u7684\u6570\u636e\u4e2d\u5fc3\u4f4d\u7f6e\u548c\u6700\u8fd1\u4ea4\u6362\u4e2d\u5fc3\u7684\u4ee3\u7801\uff1a

# \u5217\u51fa\u53ef\u7528\u4f4d\u7f6e\uff08\u6570\u636e\u4e2d\u5fc3\uff09\ndoublezero location list\n\n# \u5217\u51fa\u53ef\u7528\u4ea4\u6362\u4e2d\u5fc3\uff08\u4e92\u8fde\u70b9\uff09\ndoublezero exchange list\n
"},{"location":"zh/contribute-provisioning/#32","title":"\u6b65\u9aa43.2\uff1a\u5728\u94fe\u4e0a\u521b\u5efa\u60a8\u7684\u8bbe\u5907","text":"

\u5728\u533a\u5757\u94fe\u4e0a\u6ce8\u518c\u60a8\u7684\u8bbe\u5907\uff1a

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

\u793a\u4f8b\uff1a

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 4vKz8H...truncated...7xPq2\n

\u9a8c\u8bc1\u60a8\u7684\u8bbe\u5907\u662f\u5426\u5df2\u521b\u5efa\uff1a

doublezero device list | grep nyc-dz001\n

\u53c2\u6570\u8bf4\u660e\uff1a

\u53c2\u6570 \u542b\u4e49 --code \u60a8\u8bbe\u5907\u7684\u552f\u4e00\u540d\u79f0\uff08\u4f8b\u5982\uff0cnyc-dz001\uff09 --contributor \u60a8\u7684\u8d21\u732e\u8005\u4ee3\u7801\uff08\u7531DZF\u63d0\u4f9b\uff09 --device-type hybrid\u3001transit\u6216edge --location \u6765\u81ealocation list\u7684\u6570\u636e\u4e2d\u5fc3\u4ee3\u7801 --exchange \u6765\u81eaexchange list\u7684\u6700\u8fd1\u4ea4\u6362\u4e2d\u5fc3\u4ee3\u7801 --public-ip \u7528\u6237\u901a\u8fc7\u4e92\u8054\u7f51\u8fde\u63a5\u5230\u60a8\u8bbe\u5907\u7684\u516c\u5171IP --dz-prefixes \u5206\u914d\u7ed9\u7528\u6237\u7684IP\u5730\u5740\u5757"},{"location":"zh/contribute-provisioning/#33","title":"\u6b65\u9aa43.3\uff1a\u521b\u5efa\u5fc5\u9700\u7684\u73af\u56de\u63a5\u53e3","text":"

\u6bcf\u4e2a\u8bbe\u5907\u9700\u8981\u4e24\u4e2a\u73af\u56de\u63a5\u53e3\u7528\u4e8e\u5185\u90e8\u8def\u7531\uff1a

# VPNv4\u73af\u56de\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4\u73af\u56de\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

\u9884\u671f\u8f93\u51fa\uff08\u6bcf\u4e2a\u547d\u4ee4\uff09\uff1a

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"zh/contribute-provisioning/#34","title":"\u6b65\u9aa43.4\uff1a\u521b\u5efa\u7269\u7406\u63a5\u53e3","text":"

\u6ce8\u518c\u60a8\u5c06\u4f7f\u7528\u7684\u7269\u7406\u7aef\u53e3\uff1a

# \u57fa\u7840\u63a5\u53e3\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"zh/contribute-provisioning/#35cyoa","title":"\u6b65\u9aa43.5\uff1a\u521b\u5efaCYOA\u63a5\u53e3\uff08\u7528\u4e8e\u8fb9\u7f18/\u6df7\u5408\u8bbe\u5907\uff09","text":"

\u5982\u679c\u60a8\u7684\u8bbe\u5907\u63a5\u53d7\u7528\u6237\u8fde\u63a5\uff0c\u60a8\u9700\u8981\u4e00\u4e2aCYOA\uff08Choose Your Own Adventure\uff09\u63a5\u53e3\u3002\u8fd9\u544a\u8bc9\u7cfb\u7edf\u7528\u6237\u5982\u4f55\u8fde\u63a5\u5230\u60a8\u3002

CYOA\u7c7b\u578b\u8bf4\u660e\uff1a

\u7c7b\u578b \u901a\u4fd7\u89e3\u91ca \u4f7f\u7528\u65f6\u673a gre-over-dia \u7528\u6237\u901a\u8fc7\u666e\u901a\u4e92\u8054\u7f51\u8fde\u63a5 \u6700\u5e38\u89c1\u2014\u2014\u7528\u6237\u901a\u8fc7DIA\u8fde\u63a5\u5230\u60a8\u7684DZD gre-over-private-peering \u7528\u6237\u901a\u8fc7\u79c1\u6709\u94fe\u8def\u8fde\u63a5 \u7528\u6237\u4e0e\u60a8\u7684\u7f51\u7edc\u6709\u76f4\u63a5\u8fde\u63a5 gre-over-public-peering \u7528\u6237\u901a\u8fc7IX\u8fde\u63a5 \u7528\u6237\u5728\u4e92\u8054\u7f51\u4ea4\u6362\u4e2d\u5fc3\u4e0e\u60a8\u5bf9\u7b49 gre-over-fabric \u7528\u6237\u5728\u540c\u4e00\u672c\u5730\u7f51\u7edc \u7528\u6237\u5728\u540c\u4e00\u6570\u636e\u4e2d\u5fc3 gre-over-cable \u76f4\u63a5\u7535\u7f06\u8fde\u63a5\u5230\u7528\u6237 \u5355\u4e2a\u4e13\u7528\u7528\u6237

\u793a\u4f8b\u2014\u2014\u6807\u51c6\u4e92\u8054\u7f51\u7528\u6237\uff1a

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 2wLp8N...truncated...5vHt3\n

\u53c2\u6570\u8bf4\u660e\uff1a

\u53c2\u6570 \u542b\u4e49 --interface-cyoa \u7528\u6237\u5982\u4f55\u8fde\u63a5\uff08\u53c2\u89c1\u4e0a\u8868\uff09 --interface-dia \u5982\u679c\u8fd9\u662f\u9762\u5411\u4e92\u8054\u7f51\u7684\u7aef\u53e3\uff0c\u5219\u4e3adia --bandwidth \u7aef\u53e3\u901f\u5ea6\uff08Mbps\uff09\uff0c10000 = 10Gbps --cir \u627f\u8bfa\u901f\u7387\uff08Mbps\uff09\uff0c\u4fdd\u8bc1\u5e26\u5bbd --user-tunnel-endpoint \u6b64\u7aef\u53e3\u63a5\u53d7\u7528\u6237\u96a7\u9053"},{"location":"zh/contribute-provisioning/#36","title":"\u6b65\u9aa43.6\uff1a\u9a8c\u8bc1\u60a8\u7684\u8bbe\u5907","text":"
doublezero device list\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

\u60a8\u7684\u8bbe\u5907\u5e94\u663e\u793a\u72b6\u6001activated\u3002

"},{"location":"zh/contribute-provisioning/#4","title":"\u9636\u6bb54\uff1a\u94fe\u8def\u5efa\u7acb\u4e0e\u4ee3\u7406\u5b89\u88c5","text":"

\u94fe\u8def\u5c06\u60a8\u7684\u8bbe\u5907\u8fde\u63a5\u5230DoubleZero\u7f51\u7edc\u7684\u5176\u4f59\u90e8\u5206\u3002

"},{"location":"zh/contribute-provisioning/#_6","title":"\u4e86\u89e3\u94fe\u8def","text":"
flowchart LR\n    subgraph \"\u60a8\u7684\u7f51\u7edc\"\n        D1[\u60a8\u7684DZD 1<br/>NYC]\n        D2[\u60a8\u7684DZD 2<br/>LAX]\n    end\n\n    subgraph \"\u5176\u4ed6\u8d21\u732e\u8005\"\n        O1[\u4ed6\u4eec\u7684DZD<br/>NYC]\n    end\n\n    D1 ---|WAN\u94fe\u8def<br/>\u540c\u4e00\u8d21\u732e\u8005| D2\n    D1 ---|DZX\u94fe\u8def<br/>\u4e0d\u540c\u8d21\u732e\u8005| O1
\u94fe\u8def\u7c7b\u578b \u8fde\u63a5\u5bf9\u8c61 \u63a5\u53d7\u65b9\u5f0f WAN\u94fe\u8def \u60a8\u7684\u4e24\u4e2a\u8bbe\u5907 \u81ea\u52a8\uff08\u60a8\u62e5\u6709\u4e24\u7aef\uff09 DZX\u94fe\u8def \u60a8\u7684\u8bbe\u5907\u4e0e\u53e6\u4e00\u4e2a\u8d21\u732e\u8005 \u9700\u8981\u5bf9\u65b9\u63a5\u53d7"},{"location":"zh/contribute-provisioning/#41wan","title":"\u6b65\u9aa44.1\uff1a\u521b\u5efaWAN\u94fe\u8def\uff08\u5982\u679c\u60a8\u6709\u591a\u4e2a\u8bbe\u5907\uff09","text":"

WAN\u94fe\u8def\u8fde\u63a5\u60a8\u81ea\u5df1\u7684\u8bbe\u5907\uff1a

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

\u793a\u4f8b\uff1a

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"zh/contribute-provisioning/#42dzx","title":"\u6b65\u9aa44.2\uff1a\u521b\u5efaDZX\u94fe\u8def","text":"

DZX\u94fe\u8def\u5c06\u60a8\u7684\u8bbe\u5907\u76f4\u63a5\u8fde\u63a5\u5230\u53e6\u4e00\u4e2a\u8d21\u732e\u8005\u7684DZD\uff1a

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

\u9884\u671f\u8f93\u51fa\uff1a

Signature: 8mKp3W...truncated...2nRx7\n

\u521b\u5efaDZX\u94fe\u8def\u540e\uff0c\u53e6\u4e00\u4e2a\u8d21\u732e\u8005\u5fc5\u987b\u63a5\u53d7\u5b83\uff1a

# \u53e6\u4e00\u4e2a\u8d21\u732e\u8005\u8fd0\u884c\u6b64\u547d\u4ee4\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

\u9884\u671f\u8f93\u51fa\uff08\u63a5\u53d7\u65b9\u8d21\u732e\u8005\uff09\uff1a

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"zh/contribute-provisioning/#43","title":"\u6b65\u9aa44.3\uff1a\u9a8c\u8bc1\u94fe\u8def","text":"
doublezero link list\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

\u4e00\u65e6\u4e24\u7aef\u90fd\u914d\u7f6e\u5b8c\u6210\uff0c\u94fe\u8def\u5e94\u663e\u793a\u72b6\u6001activated\u3002

"},{"location":"zh/contribute-provisioning/#_7","title":"\u4ee3\u7406\u5b89\u88c5","text":"

\u4e24\u4e2a\u8f6f\u4ef6\u4ee3\u7406\u5728\u60a8\u7684DZD\u4e0a\u8fd0\u884c\uff1a

flowchart TB\n    subgraph \"\u60a8\u7684DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[\u4ea4\u6362\u673a\u786c\u4ef6/\u8f6f\u4ef6]\n    end\n\n    CA -->|\u8f6e\u8be2\u914d\u7f6e| CTRL[\u63a7\u5236\u5668\u670d\u52a1]\n    CA -->|\u5e94\u7528\u914d\u7f6e| HW\n\n    HW -->|\u6307\u6807| TA\n    TA -->|\u94fe\u4e0a\u63d0\u4ea4| BC[DoubleZero\u8d26\u672c]
\u4ee3\u7406 \u529f\u80fd Config Agent \u4ece\u63a7\u5236\u5668\u62c9\u53d6\u914d\u7f6e\uff0c\u5e94\u7528\u5230\u60a8\u7684\u4ea4\u6362\u673a Telemetry Agent \u6d4b\u91cf\u5230\u5176\u4ed6\u8bbe\u5907\u7684\u5ef6\u8fdf/\u4e22\u5305\uff0c\u94fe\u4e0a\u62a5\u544a\u6307\u6807"},{"location":"zh/contribute-provisioning/#44config-agent","title":"\u6b65\u9aa44.4\uff1a\u5b89\u88c5Config Agent","text":""},{"location":"zh/contribute-provisioning/#api","title":"\u5728\u4ea4\u6362\u673a\u4e0a\u542f\u7528API","text":"

\u6dfb\u52a0\u5230EOS\u914d\u7f6e\uff1a

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF\u6ce8\u610f\u4e8b\u9879

\u5982\u679c\u60a8\u7684\u7ba1\u7406VRF\u540d\u79f0\u4e0d\u540c\uff08\u4f8b\u5982management\uff09\uff0c\u8bf7\u5c06default\u66ff\u6362\u4e3a\u60a8\u7684\u7ba1\u7406VRF\u540d\u79f0\u3002

"},{"location":"zh/contribute-provisioning/#_8","title":"\u4e0b\u8f7d\u5e76\u5b89\u88c5\u4ee3\u7406","text":"
# \u5728\u4ea4\u6362\u673a\u4e0a\u8fdb\u5165bash\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# \u5b89\u88c5\u4e3aEOS\u6269\u5c55\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-provisioning/#_9","title":"\u9a8c\u8bc1\u6269\u5c55","text":"
switch# show extensions\n

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"zh/contribute-provisioning/#_10","title":"\u914d\u7f6e\u5e76\u542f\u52a8\u4ee3\u7406","text":"

\u6dfb\u52a0\u5230EOS\u914d\u7f6e\uff1a

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

VRF\u6ce8\u610f\u4e8b\u9879

\u5982\u679c\u60a8\u7684\u7ba1\u7406VRF\u4e0d\u662fdefault\uff08\u5373\u547d\u540d\u7a7a\u95f4\u4e0d\u662fns-default\uff09\uff0c\u8bf7\u5728exec\u547d\u4ee4\u524d\u52a0\u4e0aexec /sbin/ip netns exec ns-<VRF>\u3002\u4f8b\u5982\uff0c\u5982\u679c\u60a8\u7684VRF\u662fmanagement\uff1a

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

\u4ecedoublezero device list\u83b7\u53d6\u60a8\u7684\u8bbe\u5907\u516c\u94a5\uff08account\u5217\uff09\u3002

"},{"location":"zh/contribute-provisioning/#_11","title":"\u9a8c\u8bc1\u662f\u5426\u6b63\u5728\u8fd0\u884c","text":"
switch# show agent doublezero-agent logs\n

\u60a8\u5e94\u8be5\u770b\u5230\"Starting doublezero-agent\"\u4ee5\u53ca\u6210\u529f\u7684\u63a7\u5236\u5668\u8fde\u63a5\u3002

"},{"location":"zh/contribute-provisioning/#45telemetry-agent","title":"\u6b65\u9aa44.5\uff1a\u5b89\u88c5Telemetry Agent","text":""},{"location":"zh/contribute-provisioning/#_12","title":"\u5c06\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5\u590d\u5236\u5230\u8bbe\u5907","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"zh/contribute-provisioning/#_13","title":"\u5728\u94fe\u4e0a\u6ce8\u518c\u6307\u6807\u53d1\u5e03\u8005","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

\u4ece\u60a8\u7684metrics-publisher.json\u6587\u4ef6\u83b7\u53d6\u516c\u94a5\u3002

"},{"location":"zh/contribute-provisioning/#_14","title":"\u4e0b\u8f7d\u5e76\u5b89\u88c5\u4ee3\u7406","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# \u5b89\u88c5\u4e3aEOS\u6269\u5c55\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"zh/contribute-provisioning/#_15","title":"\u9a8c\u8bc1\u6269\u5c55","text":"
switch# show extensions\n

\u72b6\u6001\u5e94\u4e3a\"A, I, B\"\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"zh/contribute-provisioning/#_16","title":"\u914d\u7f6e\u5e76\u542f\u52a8\u4ee3\u7406","text":"

\u6dfb\u52a0\u5230EOS\u914d\u7f6e\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF\u6ce8\u610f\u4e8b\u9879

\u5982\u679c\u60a8\u7684\u7ba1\u7406VRF\u4e0d\u662fdefault\uff08\u5373\u547d\u540d\u7a7a\u95f4\u4e0d\u662fns-default\uff09\uff0c\u8bf7\u5728exec\u547d\u4ee4\u4e2d\u6dfb\u52a0--management-namespace ns-<VRF>\u3002\u4f8b\u5982\uff0c\u5982\u679c\u60a8\u7684VRF\u662fmanagement\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"zh/contribute-provisioning/#_17","title":"\u9a8c\u8bc1\u662f\u5426\u6b63\u5728\u8fd0\u884c","text":"
switch# show agent doublezero-telemetry logs\n

\u60a8\u5e94\u8be5\u770b\u5230\"Starting telemetry collector\"\u548c\"Starting submission loop\"\u3002

"},{"location":"zh/contribute-provisioning/#5","title":"\u9636\u6bb55\uff1a\u94fe\u8def\u78e8\u5408","text":"

\u6240\u6709\u65b0\u94fe\u8def\u5728\u627f\u8f7d\u6d41\u91cf\u524d\u5fc5\u987b\u5b8c\u6210\u78e8\u5408

\u65b0\u94fe\u8def\u5fc5\u987b\u81f3\u5c11\u6392\u6c3424\u5c0f\u65f6\uff0c\u7136\u540e\u624d\u80fd\u6fc0\u6d3b\u7528\u4e8e\u751f\u4ea7\u6d41\u91cf\u3002\u6b64\u78e8\u5408\u8981\u6c42\u5728RFC12\uff1a\u7f51\u7edc\u914d\u7f6e\u4e2d\u5b9a\u4e49\uff0c\u89c4\u5b9a\u94fe\u8def\u5c31\u7eea\u524d\u9700\u8981\u7ea6200,000\u4e2aDZ\u8d26\u672c\u69fd\u4f4d\uff08\u7ea620\u5c0f\u65f6\uff09\u7684\u5e72\u51c0\u6307\u6807\u3002

\u5728\u4ee3\u7406\u5b89\u88c5\u5e76\u8fd0\u884c\u540e\uff0c\u5728metrics.doublezero.xyz\u4e0a\u76d1\u63a7\u60a8\u7684\u94fe\u8def\u81f3\u5c11\u8fde\u7eed24\u5c0f\u65f6\uff1a

\u53ea\u6709\u5f53\u78e8\u5408\u671f\u663e\u793a\u5e72\u51c0\u7684\u94fe\u8def\uff08\u96f6\u4e22\u5305\u548c\u96f6\u9519\u8bef\uff09\u65f6\uff0c\u624d\u80fd\u89e3\u9664\u6392\u6c34\u72b6\u6001\u3002

"},{"location":"zh/contribute-provisioning/#6","title":"\u9636\u6bb56\uff1a\u9a8c\u8bc1\u4e0e\u6fc0\u6d3b","text":"

\u901a\u8fc7\u6b64\u6e05\u5355\u786e\u8ba4\u4e00\u5207\u6b63\u5e38\u5de5\u4f5c\u3002

\u60a8\u7684\u8bbe\u5907\u521d\u59cb\u9501\u5b9a\uff08max_users = 0\uff09

\u521b\u5efa\u8bbe\u5907\u65f6\uff0cmax_users\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a0\u3002\u8fd9\u610f\u5473\u7740\u8fd8\u6ca1\u6709\u7528\u6237\u53ef\u4ee5\u8fde\u63a5\u5230\u5b83\u3002\u8fd9\u662f\u6709\u610f\u4e3a\u4e4b\u2014\u2014\u60a8\u5fc5\u987b\u5728\u63a5\u53d7\u7528\u6237\u6d41\u91cf\u4e4b\u524d\u9a8c\u8bc1\u4e00\u5207\u6b63\u5e38\u3002

\u5728\u5c06max_users\u8bbe\u7f6e\u4e3a0\u4ee5\u4e0a\u4e4b\u524d\uff0c\u60a8\u5fc5\u987b\uff1a

  1. \u786e\u8ba4\u6240\u6709\u94fe\u8def\u5df2\u5728metrics.doublezero.xyz\u4e0a\u5b8c\u621024\u5c0f\u65f6\u78e8\u5408\uff0c\u96f6\u4e22\u5305/\u9519\u8bef
  2. \u4e0eDZ/Malbec Labs\u534f\u8c03\u8fdb\u884c\u8fde\u63a5\u6d4b\u8bd5\uff1a
    • \u6d4b\u8bd5\u7528\u6237\u80fd\u5426\u8fde\u63a5\u5230\u60a8\u7684\u8bbe\u5907\uff1f
    • \u7528\u6237\u662f\u5426\u901a\u8fc7DZ\u7f51\u7edc\u63a5\u6536\u8def\u7531\uff1f
    • \u7528\u6237\u662f\u5426\u80fd\u7aef\u5230\u7aef\u901a\u8fc7DZ\u7f51\u7edc\u8def\u7531\u6d41\u91cf\uff1f
  3. \u4ec5\u5728DZ/ML\u786e\u8ba4\u6d4b\u8bd5\u901a\u8fc7\u540e\uff0c\u5c06max_users\u8bbe\u7f6e\u4e3a96\uff1a
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"zh/contribute-provisioning/#_18","title":"\u8bbe\u5907\u68c0\u67e5","text":"
# \u60a8\u7684\u8bbe\u5907\u5e94\u663e\u793a\u72b6\u6001\"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

\u9884\u671f\u8f93\u51fa\uff1a

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# \u60a8\u7684\u63a5\u53e3\u5e94\u88ab\u5217\u51fa\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

\u9884\u671f\u8f93\u51fa\uff1a

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"zh/contribute-provisioning/#_19","title":"\u94fe\u8def\u68c0\u67e5","text":"
# \u94fe\u8def\u5e94\u663e\u793a\u72b6\u6001\"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

\u9884\u671f\u8f93\u51fa\uff1a

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"zh/contribute-provisioning/#_20","title":"\u4ee3\u7406\u68c0\u67e5","text":"

\u5728\u4ea4\u6362\u673a\u4e0a\uff1a

# Config Agent\u5e94\u663e\u793a\u6210\u529f\u7684\u914d\u7f6e\u62c9\u53d6\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry Agent\u5e94\u663e\u793a\u6210\u529f\u7684\u63d0\u4ea4\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"zh/contribute-provisioning/#_21","title":"\u6700\u7ec8\u9a8c\u8bc1\u56fe","text":"
flowchart TB\n    subgraph \"\u9a8c\u8bc1\u6e05\u5355\"\n        D[\u8bbe\u5907\u72b6\u6001\uff1a\u5df2\u6fc0\u6d3b\uff1f]\n        I[\u63a5\u53e3\uff1a\u5df2\u6ce8\u518c\uff1f]\n        L[\u94fe\u8def\uff1a\u5df2\u6fc0\u6d3b\uff1f]\n        CA[Config Agent\uff1a\u6b63\u5728\u62c9\u53d6\u914d\u7f6e\uff1f]\n        TA[Telemetry Agent\uff1a\u6b63\u5728\u63d0\u4ea4\u6307\u6807\uff1f]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[\u6240\u6709\u68c0\u67e5\u901a\u8fc7] --> NOTIFY[\u901a\u77e5DZF/Malbec Labs<br/>\u60a8\u5728\u6280\u672f\u4e0a\u5df2\u51c6\u5907\u5c31\u7eea\uff01]
"},{"location":"zh/contribute-provisioning/#_22","title":"\u6545\u969c\u6392\u9664","text":""},{"location":"zh/contribute-provisioning/#_23","title":"\u8bbe\u5907\u521b\u5efa\u5931\u8d25","text":""},{"location":"zh/contribute-provisioning/#requested","title":"\u94fe\u8def\u5361\u5728\"requested\"\u72b6\u6001","text":""},{"location":"zh/contribute-provisioning/#config-agent","title":"Config Agent\u65e0\u6cd5\u8fde\u63a5","text":""},{"location":"zh/contribute-provisioning/#telemetry-agent","title":"Telemetry Agent\u672a\u63d0\u4ea4","text":""},{"location":"zh/contribute-provisioning/#_24","title":"\u540e\u7eed\u6b65\u9aa4","text":""},{"location":"zh/contribute/","title":"\u8d21\u732e\u8005\u9700\u6c42\u4e0e\u67b6\u6784","text":"

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.

"},{"location":"zh/contribute/#_2","title":"\u6458\u8981","text":"

\u4efb\u4f55\u5e0c\u671b\u5c06\u5176\u672a\u5145\u5206\u5229\u7528\u7684\u5149\u7ea4\u7535\u7f06\u548c\u7f51\u7edc\u786c\u4ef6\u8d27\u5e01\u5316\u7684\u4eba\u90fd\u53ef\u4ee5\u4e3aDoubleZero\u7f51\u7edc\u505a\u51fa\u8d21\u732e\u3002\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u4e24\u70b9\u4e4b\u95f4\u63d0\u4f9b\u4e13\u7528\u5e26\u5bbd\uff0c\u5728\u6bcf\u7aef\u8fd0\u8425DoubleZero\u517c\u5bb9\u8bbe\u5907\uff08DZD\uff09\uff0c\u5e76\u5728\u6bcf\u7aef\u8fde\u63a5\u5230\u516c\u5171\u4e92\u8054\u7f51\u3002\u7f51\u7edc\u8d21\u732e\u8005\u8fd8\u5fc5\u987b\u5728\u6bcf\u4e2aDZD\u4e0a\u8fd0\u884cDoubleZero\u8f6f\u4ef6\uff0c\u4ee5\u63d0\u4f9b\u591a\u64ad\u3001\u7528\u6237\u67e5\u627e\u548c\u8fb9\u7f18\u8fc7\u6ee4\u7b49\u670d\u52a1\u3002

DoubleZero\u667a\u80fd\u5408\u7ea6\u662f\u786e\u4fdd\u7f51\u7edc\u7ef4\u6301\u53ef\u6d4b\u91cf\u5e76\u96c6\u6210\u5230\u62d3\u6251\u4e2d\u7684\u9ad8\u8d28\u91cf\u94fe\u8def\u7684\u57fa\u7840\uff0c\u4f7f\u6211\u4eec\u7684\u7f51\u7edc\u63a7\u5236\u5668\u80fd\u591f\u5f00\u53d1\u4e0d\u540c\u7528\u6237\u548c\u7aef\u70b9\u4e4b\u95f4\u6700\u9ad8\u6548\u7684\u7aef\u5230\u7aef\u8def\u5f84\u3002\u5728\u6267\u884c\u667a\u80fd\u5408\u7ea6\u5e76\u90e8\u7f72\u7f51\u7edc\u8bbe\u5907\u548c\u5e26\u5bbd\u540e\uff0c\u5b9e\u4f53\u88ab\u5f52\u7c7b\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u3002\u8bf7\u53c2\u9605DoubleZero\u7ecf\u6d4e\u5b66\u8fdb\u4e00\u6b65\u4e86\u89e3\u4f5c\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u53c2\u4e0eDoubleZero\u7684\u7ecf\u6d4e\u5b66\u539f\u7406\u3002

"},{"location":"zh/contribute/#doublezero","title":"\u6210\u4e3aDoubleZero\u7f51\u7edc\u8d21\u732e\u8005\u7684\u8981\u6c42","text":""},{"location":"zh/contribute/#_3","title":"\u5feb\u901f\u5165\u95e8\u6307\u5357","text":"

\u4f5c\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\uff0c\u5728DoubleZero\u4e2d\u5f00\u59cb\u7684\u6700\u7b80\u5355\u65b9\u5f0f\u662f\u8bc6\u522b\u60a8\u7f51\u7edc\u4e2d\u53ef\u4ee5\u4e13\u7528\u4e8eDoubleZero\u7684\u5bb9\u91cf\u3002\u4e00\u65e6\u786e\u5b9a\uff0c\u5fc5\u987b\u90e8\u7f72DZD\uff0c\u4ee5\u4fbfDoubleZero\u8986\u76d6\u7f51\u7edc\u53ea\u9700\u8981IPv4\u53ef\u8fbe\u6027\u548c\u6700\u5c0f2048\u5b57\u8282MTU\u4f5c\u4e3a\u6765\u81ea\u8d21\u732e\u8005\u7f51\u7edc\u7684\u4f9d\u8d56\u9879\u3002

\u56fe1\u5c55\u793a\u4e86\u8d21\u732e\u5e26\u5bbd\u548c\u6570\u636e\u5305\u53d1\u9001\u53ca\u5904\u7406\u670d\u52a1\u7684\u6700\u7b80\u5355\u6a21\u578b\u3002DZD\u90e8\u7f72\u5728\u6bcf\u4e2a\u6570\u636e\u4e2d\u5fc3\uff0c\u4e0e\u7f51\u7edc\u8d21\u732e\u8005\u7684\u5185\u90e8\u7f51\u7edc\u63a5\u53e3\uff0c\u63d0\u4f9bDoubleZero WAN\u8fde\u63a5\u3002\u8fd9\u7531\u672c\u5730\u4e92\u8054\u7f51\u8865\u5145\uff0c\u901a\u5e38\u662f\u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff08DIA\uff09\u89e3\u51b3\u65b9\u6848\uff0c\u7528\u4f5cDoubleZero\u7528\u6237\u7684\u63a5\u5165\u70b9\u3002\u867d\u7136DIA\u9884\u8ba1\u662f\u4fc3\u8fdbDoubleZero\u7528\u6237\u8bbf\u95ee\u7684\u9996\u9009\u9009\u9879\uff0c\u4f46\u591a\u79cd\u8fde\u63a5\u6a21\u578b\u4e5f\u662f\u53ef\u80fd\u7684\uff0c\u4f8b\u5982\u5230\u670d\u52a1\u5668\u7684\u7269\u7406\u5e03\u7ebf\u3001\u7f51\u7edc\u7ed3\u6784\u6269\u5c55\u7b49\u3002\u6211\u4eec\u5c06\u8fd9\u4e9b\u9009\u9879\u79f0\u4e3a\u81ea\u9009\u5192\u9669\uff08CYOA\uff09\uff0c\u4e3a\u8d21\u732e\u8005\u63d0\u4f9b\u4ee5\u6700\u9002\u5408\u5176\u5185\u90e8\u7f51\u7edc\u7b56\u7565\u7684\u65b9\u5f0f\u8fde\u63a5\u672c\u5730\u6216\u8fdc\u7a0b\u7528\u6237\u7684\u7075\u6d3b\u6027\u3002

\u4e0e\u4efb\u4f55\u7f51\u7edc\u4e00\u6837\uff0c\u53ef\u8fbe\u6027\u662f\u67b6\u6784\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff0c\u56e0\u4e3a\u7f51\u7edc\u8d21\u732e\u8005\u4e0d\u80fd\u5b64\u7acb\u5b58\u5728\u3002\u56e0\u6b64\uff0cDZD\u5fc5\u987b\u6709\u4e00\u6761\u5230DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09\u7684\u94fe\u8def\uff0c\u4ee5\u5728\u53c2\u4e0e\u8005\u4e4b\u95f4\u521b\u5efa\u8fde\u7eed\u7f51\u7edc\u3002

\u56fe1\uff1a2\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e - \u5355\u4e00\u8d21\u732e\u8005"},{"location":"zh/contribute/#_4","title":"\u8d21\u732e\u793a\u4f8b","text":"

\u7f51\u7edc\u8d21\u732e\u8005\u53ef\u4ee5\u901a\u8fc7\u591a\u79cd\u65b9\u5f0f\u589e\u52a0\u5176DoubleZero\u8d21\u732e\uff0c\u5305\u62ec\uff1a

"},{"location":"zh/contribute/#13","title":"\u793a\u4f8b1\uff1a\u5355\u4e00\u8d21\u732e\u8005\uff0c3\u4e2a\u6570\u636e\u4e2d\u5fc3\uff0c\u4e24\u6761\u94fe\u8def","text":"\u56fe2\uff1a3\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e - \u5355\u4e00\u8d21\u732e\u8005

\u5355\u4e2aDZD\u53ef\u4ee5\u652f\u6301\u5411DoubleZero\u8d21\u732e\u7684\u591a\u6761\u94fe\u8def\u3002\u56fe2\u5c55\u793a\u4e86\u5f53\u6807\u4e3a1\u7684\u5355\u4e2a\u6570\u636e\u4e2d\u5fc3\u5411\u4e24\u4e2a\u4e0d\u540c\u7684\u8fdc\u7a0b\u6570\u636e\u4e2d\u5fc32\u548c3\u7ec8\u6b62\u5e26\u5bbd\u65f6\u7684\u6f5c\u5728\u62d3\u6251\u3002\u5728\u6b64\u573a\u666f\u4e2d\uff0c\u6bcf\u4e2a\u6570\u636e\u4e2d\u5fc3\u53ea\u5305\u542b1\u4e2aDZD\u3002\u6240\u6709DZD\u90fd\u4f7f\u7528DIA\u4f5c\u4e3a\u5176CYOA\u63a5\u53e3\u7684\u7528\u6237\u63a5\u5165\u70b9\u3002

"},{"location":"zh/contribute/#23","title":"\u793a\u4f8b2\uff1a\u5355\u4e00\u8d21\u732e\u8005\uff0c3\u4e2a\u6570\u636e\u4e2d\u5fc3\uff0c\u4e09\u6761\u94fe\u8def","text":"

\u56fe3\u63cf\u8ff0\u4e86\u5f53\u5355\u4e2a\u8d21\u732e\u8005\u57283\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u4ee5\u4e09\u89d2\u5f62\u62d3\u6251\u90e8\u7f72\u4e09\u6761\u94fe\u8def\u65f6\u7684DoubleZero\u62d3\u6251\u3002\u5728\u7c7b\u4f3c\u793a\u4f8b1\u7684\u573a\u666f\u4e2d\uff0c\u5355\u4e2aDZD\u90e8\u7f72\u5728\u6570\u636e\u4e2d\u5fc31\u30012\u548c3\u4e2d\uff0c\u6bcf\u4e2a\u652f\u63012\u6761\u72ec\u7acb\u7684\u7f51\u7edc\u94fe\u8def\u3002\u7531\u6b64\u4ea7\u751f\u7684\u62d3\u6251\u662f\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684\u4e09\u89d2\u5f62\u6216\u73af\u5f62\u3002

\u56fe3\uff1a3\u4e2a\u6570\u636e\u4e2d\u5fc3\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e - \u5355\u4e00\u8d21\u732e\u8005"},{"location":"zh/contribute/#doublezero_1","title":"DoubleZero\u4ea4\u6362\u70b9","text":"

\u521b\u5efa\u8fde\u7eed\u7f51\u7edc\u662fDoubleZero\u67b6\u6784\u7684\u57fa\u672c\u6784\u5efa\u5757\u3002\u8d21\u732e\u8005\u901a\u8fc7\u90fd\u5e02\u533a\u5185\u7684DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09\u8fdb\u884c\u63a5\u53e3\uff0c\u90fd\u5e02\u533a\u662f\u7ebd\u7ea6\uff08NYC\uff09\u3001\u4f26\u6566\uff08LON\uff09\u6216\u4e1c\u4eac\uff08TYO\uff09\u7b49\u57ce\u5e02\u3002DZX\u662f\u7c7b\u4f3c\u4e8e\u4e92\u8054\u7f51\u4ea4\u6362\u70b9\u7684\u7f51\u7edc\u7ed3\u6784\uff0c\u5141\u8bb8\u5bf9\u7b49\u4e92\u8054\u548c\u8def\u7531\u4ea4\u6362\u3002

\u5728\u56fe4\u4e2d\uff0c\u7f51\u7edc\u8d21\u732e\u80051\u5728\u6570\u636e\u4e2d\u5fc31\u30012\u548c3\u8fd0\u8425\uff0c\u800c\u7f51\u7edc\u8d21\u732e\u80052\u5728\u6570\u636e\u4e2d\u5fc32\u30014\u548c5\u8fd0\u8425\u3002\u901a\u8fc7\u5728\u6570\u636e\u4e2d\u5fc32\u4e92\u8fde\uff0cDoubleZero\u7f51\u7edc\u8986\u76d6\u8303\u56f4\u589e\u52a0\u52305\u4e2a\u8fde\u7eed\u6570\u636e\u4e2d\u5fc3\u3002

\u56fe4\uff1a2\u4e2a\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e\u8005\u4e4b\u95f4\u7684DoubleZero\u7f51\u7edc\u5e26\u5bbd\u8d21\u732e"},{"location":"zh/contribute/#_5","title":"\u5e26\u5bbd\u8d21\u732e\u9009\u9879","text":"

DoubleZero\u8981\u6c42\u7f51\u7edc\u8d21\u732e\u8005\u901a\u8fc7\u667a\u80fd\u5408\u7ea6\u63d0\u4f9b\u5728\u4e24\u4e2a\u7ec8\u6b62\u6570\u636e\u4e2d\u5fc3\u7684DZD\u4e4b\u95f4\u5177\u6709\u4fdd\u8bc1\u5e26\u5bbd\u3001\u5ef6\u8fdf\u548c\u6296\u52a8\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u8fde\u63a5\u3002DoubleZero\u4e0d\u5f3a\u5236\u89c4\u5b9a\u7f51\u7edc\u8d21\u732e\u8005\u5982\u4f55\u5b9e\u65bd\u5176\u8d21\u732e\uff0c\u4f46\u5728\u4ee5\u4e0b\u7ae0\u8282\u4e2d\uff0c\u6211\u4eec\u63d0\u4f9b\u53ef\u4f9b\u5176\u81ea\u884c\u51b3\u5b9a\u4f7f\u7528\u7684\u53c2\u8003\u9009\u9879\u3002

\u7f51\u7edc\u8d21\u732e\u8005\u53ef\u80fd\u9700\u8981\u8003\u8651\u7684\u91cd\u8981\u9886\u57df\uff1a

"},{"location":"zh/contribute/#1","title":"\u7b2c1\u5c42\u5e26\u5bbd","text":"\u56fe5\uff1a\u7b2c1\u5c42\u5149\u5b66\u670d\u52a1

\u7b2c1\u5c42\u5e26\u5bbd\uff0c\u66f4\u6b63\u5f0f\u5730\u79f0\u4e3a\u6ce2\u957f\u670d\u52a1\uff0c\u53ef\u4ee5\u5728\u73b0\u6709\u5149\u5b66\u57fa\u7840\u8bbe\u65bd\uff08\u5982DWDM\u3001CWDM\u6216\u901a\u8fc7\u5149\u5b66\u591a\u8def\u590d\u7528\u5668\uff08MUX\uff09\uff09\u4e0a\u914d\u7f6e\u4e13\u7528\u5bb9\u91cf\u3002\u5728\u56fe5\u4e2d\uff0cDZD\u4f7f\u7528\u5f69\u8272\u5149\u7ea4\u8fde\u63a5\u5230L1 MUX\uff0c\u5c06DZD\u6ce2\u957f\u63d2\u5165\u5230\u73b0\u6709\u6697\u5149\u7ea4\u4e0a\u3002

\u5bf9\u4e8e\u5df2\u7ecf\u8fd0\u8425\u73b0\u6709\u6838\u5fc3\u7f51\u7edc\u7684\u7f51\u7edc\u8d21\u732e\u8005\uff0c\u6b64\u89e3\u51b3\u65b9\u6848\u5177\u6709\u4f17\u591a\u4f18\u52bf\u3002\u8fed\u4ee3\u64cd\u4f5c\u66f4\u6539\u4ee5\u53ca\u989d\u5916\u7684\u8d44\u672c\u652f\u51fa\u548c\u8fd0\u8425\u652f\u51fa\u8981\u6c42\u662f\u9002\u5ea6\u7684\u3002\u6b64\u9009\u9879\u5728\u63d0\u4f9b\u4e0e\u7f51\u7edc\u8d21\u732e\u8005\u7f51\u7edc\u670d\u52a1\u7684\u9694\u79bb\u65b9\u9762\u7279\u522b\u5f3a\u5927\u3002

"},{"location":"zh/contribute/#_6","title":"\u5206\u7ec4\u4ea4\u6362\u5e26\u5bbd","text":"

\u5206\u7ec4\u4ea4\u6362\u7f51\u7edc\u53ef\u4ee5\u88ab\u89c6\u4e3a\u5178\u578b\u7684\u4f01\u4e1a\u7f51\u7edc\uff0c\u8fd0\u884c\u652f\u6301\u4e1a\u52a1\u5e94\u7528\u7a0b\u5e8f\u7684\u6807\u51c6\u8def\u7531\u548c\u4ea4\u6362\u534f\u8bae\u3002\u6709\u591a\u79cd\u7f51\u7edc\u6280\u672f\u53ef\u4ee5\u5b9e\u73b0\u8fde\u63a5\uff0c\u4f8b\u5982\u4f7f\u7528VLAN\u6807\u7b7e\u7684\u7b2c2\u5c42\uff08L2\uff09\u6269\u5c55\u3002

"},{"location":"zh/contribute/#l2","title":"L2\u6269\u5c55","text":"\u56fe6\uff1a\u5206\u7ec4\u4ea4\u6362\u7f51\u7edc - L2\u6269\u5c55

\u5982\u56fe6\u6240\u793a\u7684L2\u6269\u5c55\u53ef\u4ee5\u901a\u8fc7VLAN\u6807\u8bb0\u5b9e\u73b0\u3002DZD\u7684\u7aef\u53e3\u53ef\u4ee5\u8fde\u63a5\u5230\u8d21\u732e\u8005\u7684\u5185\u90e8\u7f51\u7edc\u4ea4\u6362\u673a\uff0c\u4ea4\u6362\u673a\u7aef\u53e3\u8bbe\u7f6e\u4e3a\u4f8b\u5982VLAN 10\u7684\u63a5\u5165\u7aef\u53e3\u3002\u901a\u8fc7802.1q\u6807\u8bb0\uff0c\u6b64VLAN\u53ef\u4ee5\u5728\u8d21\u732e\u8005\u7f51\u7edc\u7684\u591a\u4e2a\u4ea4\u6362\u673a\u8df3\u4e0a\u4f20\u8f93\uff0c\u7ec8\u6b62\u4e8e\u4e0e\u8fdc\u7a0bDZD\u63a5\u53e3\u7684\u4ea4\u6362\u673a\u3002

\u6b64\u89e3\u51b3\u65b9\u6848\u53d7\u76ca\u4e8e\u5e7f\u6cdb\u652f\u6301\u548c\u76f8\u5bf9\u5bb9\u6613\u5b9e\u65bd\uff0c\u540c\u65f6\u5728DoubleZero\u548c\u5185\u90e8\u7b2c3\u5c42\u670d\u52a1\u4e4b\u95f4\u521b\u5efa\u5206\u6bb5\u3002\u5e26\u5bbd\u53ef\u4ee5\u6839\u636e\u8d21\u732e\u8005\u5185\u90e8\u4ea4\u6362\u673a\u6216\u8def\u7531\u5668\u7684\u63a5\u53e3\u901f\u5ea6\u8fdb\u884c\u63a7\u5236\u3002\u5fc5\u987b\u901a\u8fc7\u670d\u52a1\u8d28\u91cf\uff08QoS\uff09\u6216\u5176\u4ed6\u6d41\u91cf\u7ba1\u7406\u7b56\u7565\u7b49\u6280\u672f\u4ed4\u7ec6\u8003\u8651\u5171\u4eab\u5185\u90e8L2\u7f51\u7edc\u7684\u6027\u80fd\u3002\u4f46\u662f\uff0c\u5982\u679c\u8d21\u732e\u8005\u7684\u6838\u5fc3\u7f51\u7edc\u4e2d\u6709\u73b0\u6709\u5bb9\u91cf\uff0c\u989d\u5916\u7684\u8d44\u672c\u652f\u51fa\u548c\u8fd0\u8425\u652f\u51fa\u6295\u8d44\u5e94\u8be5\u662f\u9002\u5ea6\u7684\u3002

"},{"location":"zh/contribute/#_7","title":"\u4e13\u7528\u7b2c\u4e09\u65b9\u5e26\u5bbd","text":"\u56fe7\uff1a\u4e13\u7528\u7b2c\u4e09\u65b9\u5e26\u5bbd

\u867d\u7136\u91cd\u7528\u53ef\u7528\u5bb9\u91cf\u5bf9\u8bb8\u591a\u7f51\u7edc\u8d21\u732e\u8005\u6765\u8bf4\u5f88\u6709\u5438\u5f15\u529b\uff0c\u4f46\u4e5f\u53ef\u4ee5\u5c06\u65b0\u83b7\u53d6\u7684\u5e26\u5bbd\u4e13\u7528\u4e8eDoubleZero\u3002\u5728\u8fd9\u79cd\u573a\u666f\u4e2d\uff0cDZD\u5c06\u76f4\u63a5\u8fde\u63a5\u5230\u7b2c\u4e09\u65b9\u8fd0\u8425\u5546\uff0c\u800c\u6ca1\u6709\u4efb\u4f55\u8d21\u732e\u8005\u7684\u5185\u90e8\u8bbe\u5907\u5185\u8054\uff08\u56fe7\uff09\u3002

\u6b64\u9009\u9879\u5f88\u6709\u5438\u5f15\u529b\uff0c\u56e0\u4e3a\u5b83\u786e\u4fdd\u4e86DoubleZero\u7684\u4e13\u7528\u5e26\u5bbd\uff0c\u64cd\u4f5c\u7b80\u5355\uff0c\u5e76\u786e\u4fdd\u4e0e\u4efb\u4f55\u5176\u4ed6\u7f51\u7edc\u670d\u52a1\u5b8c\u5168\u9694\u79bb\u3002\u6b64\u9009\u9879\u53ef\u80fd\u4f1a\u6709\u6700\u9ad8\u7684\u8fd0\u8425\u652f\u51fa\u589e\u52a0\uff0c\u5e76\u9700\u8981\u4e0e\u7b2c\u4e09\u65b9\u8fd0\u8425\u5546\u7b7e\u8ba2\u65b0\u7684\u670d\u52a1\u5408\u540c\u3002

"},{"location":"zh/contribute/#_8","title":"\u786c\u4ef6\u8981\u6c42","text":""},{"location":"zh/contribute/#100gbps","title":"100Gbps\u5e26\u5bbd\u8d21\u732e","text":"

\u8bf7\u6ce8\u610f\uff0c\u4ee5\u4e0b\u6570\u91cf\u53cd\u6620\u4e86\u4e24\u4e2a\u6570\u636e\u4e2d\u5fc3\u6240\u9700\u7684\u8bbe\u5907\uff0c\u5373\u90e8\u7f721\u6761\u5149\u7ea4\u7535\u7f06\u8fdb\u884c\u5e26\u5bbd\u8d21\u732e\u6240\u9700\u7684\u603b\u786c\u4ef6\u3002

*\u6240\u6709FPGA\u5747\u9700\u7ecf\u8fc7\u6700\u7ec8\u6d4b\u8bd5\u3002\u4f7f\u7528\u5185\u7f6e\u53ccVirtex\u00ae UltraScale+\u2122 FPGA\u7684Arista 7130LBR\u4ea4\u6362\u673a\u53ef\u80fd\u652f\u630110G\u8d21\u732e\uff08\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0cDoubleZero\u57fa\u91d1\u4f1a / Malbec Labs\u5f88\u4e50\u610f\u63d0\u4f9b\u66f4\u591a\u4fe1\u606f\uff09\u3002"},{"location":"zh/contribute/#_9","title":"\u529f\u80fd\u4e0e\u7aef\u53e3\u8981\u6c42","text":"\u529f\u80fd \u7aef\u53e3\u901f\u5ea6 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 \u79c1\u6709\u5e26\u5bbd 100G \u662f 1 \u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff08DIA\uff09 10G \u662f 2 DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09 100G \u662f* 1 \u4e00\u65e6\u540c\u4e00\u90fd\u5e02\u533a\u6709\u8d85\u8fc73\u4e2a\u63d0\u4f9b\u5546\u8fd0\u8425\uff0c\u5fc5\u987b\u652f\u6301\uff1b\u5728\u6b64\u4e4b\u524d\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ea4\u53c9\u8fde\u63a5\u6216\u5176\u4ed6\u5bf9\u7b49\u4e92\u8054\u5b89\u6392\u4e0e\u5176\u4ed6\u63d0\u4f9b\u5546\u4e92\u8fde\u3002 \u7ba1\u7406 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002 \u63a7\u5236\u53f0 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002"},{"location":"zh/contribute/#dzd","title":"DZD\u7f51\u7edc\u786c\u4ef6","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 AMD* V80* 24540474 \u662f 4 Arista 7280CR3A DCS-7280CR3A-32S \u662f 2 \u5982\u679c\u4ea4\u8d27\u671f\u8f83\u957f\uff0c\u53ef\u80fd\u6709\u66ff\u4ee3\u65b9\u6848\u3002"},{"location":"zh/contribute/#-100g","title":"\u5149\u7ea4 - 100G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 100GBASE-LR QSFP-100G-LR \u5426 16 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002\u8fde\u63a5FPGA\u9700\u8981100G\u3002"},{"location":"zh/contribute/#-10g","title":"\u5149\u7ea4 - 10G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 10GBASE-LR SFP-10G-LR \u5426 2 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u5426 2 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002"},{"location":"zh/contribute/#ip","title":"IP\u5bfb\u5740","text":"IP\u5bfb\u5740 \u6700\u5c0f\u5b50\u7f51\u5927\u5c0f DZ\u8981\u6c42 \u5907\u6ce8 \u516c\u5171IPv4 /29 \u662f\uff08\u5bf9\u4e8e\u8fb9\u7f18/\u6df7\u5408DZD\uff09 \u5fc5\u987b\u901a\u8fc7DIA\u53ef\u8def\u7531\u3002\u6211\u4eec\u53ef\u80fd\u4f1a\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\u6d88\u9664\u6b64\u9700\u6c42\u3002

\u8bf7\u786e\u4fdd\u6574\u4e2a/29\u6c60\u53ef\u7528\u4e8eDZ\u534f\u8bae\u3002\u4efb\u4f55\u70b9\u5bf9\u70b9\u5bfb\u5740\u7684\u8981\u6c42\uff08\u4f8b\u5982DIA\u63a5\u53e3\u4e0a\u7684\uff09\u5e94\u901a\u8fc7\u4e0d\u540c\u7684\u5730\u5740\u6c60\u8fdb\u884c\u7ba1\u7406\u3002

"},{"location":"zh/contribute/#10gbps","title":"10Gbps\u5e26\u5bbd\u8d21\u732e","text":"

\u8bf7\u6ce8\u610f\uff0c\u6570\u91cf\u53cd\u6620\u4e86\u4e24\u4e2a\u6570\u636e\u4e2d\u5fc3\u7684\u8bbe\u5907\uff0c\u5373\u90e8\u7f721\u4e2a\u5e26\u5bbd\u8d21\u732e\u6240\u9700\u7684\u603b\u786c\u4ef6\u3002

"},{"location":"zh/contribute/#_10","title":"\u529f\u80fd\u4e0e\u7aef\u53e3\u8981\u6c42","text":"\u529f\u80fd \u7aef\u53e3\u901f\u5ea6 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 \u79c1\u6709\u5e26\u5bbd 10G \u662f 1 \u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff08DIA\uff09 10G \u662f 2 DoubleZero\u4ea4\u6362\u70b9\uff08DZX\uff09 100G \u662f* 1 \u4e00\u65e6\u540c\u4e00\u90fd\u5e02\u533a\u6709\u8d85\u8fc73\u4e2a\u63d0\u4f9b\u5546\u8fd0\u8425\uff0c\u5fc5\u987b\u652f\u6301\uff1b\u5728\u6b64\u4e4b\u524d\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ea4\u53c9\u8fde\u63a5\u6216\u5176\u4ed6\u5bf9\u7b49\u4e92\u8054\u5b89\u6392\u4e0e\u5176\u4ed6\u63d0\u4f9b\u5546\u4e92\u8fde\u3002 \u7ba1\u7406 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002 \u63a7\u5236\u53f0 \u5426 1 \u7531\u8d21\u732e\u8005\u81ea\u5df1\u7684\u5185\u90e8\u7ba1\u7406\u7b56\u7565\u51b3\u5b9a\u3002"},{"location":"zh/contribute/#_11","title":"\u786c\u4ef6","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 AMD* V80* 24540474* \u662f 4 Arista 7280CR3A DCS-7280CR3A-32S \u662f 2 \u5982\u679c\u4ea4\u8d27\u671f\u8f83\u957f\uff0c\u53ef\u80fd\u6709\u66ff\u4ee3\u65b9\u6848\u3002"},{"location":"zh/contribute/#-100g_1","title":"\u5149\u7ea4 - 100G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 100GBASE-LR QSFP-100G-LR \u5426 14 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002\u8fde\u63a5FPGA\u9700\u8981100G\u3002"},{"location":"zh/contribute/#-10g_1","title":"\u5149\u7ea4 - 10G","text":"\u5236\u9020\u5546 \u578b\u53f7 \u90e8\u4ef6\u7f16\u53f7 DZ\u8981\u6c42 \u6570\u91cf \u5907\u6ce8 Arista 10GBASE-LR SFP-10G-LR \u5426 4 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u5426 4 \u5e03\u7ebf\u548c\u5149\u7ea4\u9009\u62e9\u7531\u8d21\u732e\u8005\u81ea\u884c\u51b3\u5b9a\u3002 ---"},{"location":"zh/contribute/#ip_1","title":"IP\u5bfb\u5740","text":"IP\u5bfb\u5740 \u6700\u5c0f\u5b50\u7f51\u5927\u5c0f DZ\u8981\u6c42 \u5907\u6ce8 \u516c\u5171IPv4 /29 \u662f\uff08\u5bf9\u4e8e\u8fb9\u7f18/\u6df7\u5408DZD\uff09 \u5fc5\u987b\u901a\u8fc7DIA\u53ef\u8def\u7531\u3002\u6211\u4eec\u53ef\u80fd\u4f1a\u968f\u7740\u65f6\u95f4\u7684\u63a8\u79fb\u6d88\u9664\u6b64\u9700\u6c42\u3002

\u8bf7\u786e\u4fdd\u6574\u4e2a/29\u6c60\u53ef\u7528\u4e8eDZ\u534f\u8bae\u3002\u4efb\u4f55\u70b9\u5bf9\u70b9\u5bfb\u5740\u7684\u8981\u6c42\uff08\u4f8b\u5982DIA\u63a5\u53e3\u4e0a\u7684\uff09\u5e94\u901a\u8fc7\u4e0d\u540c\u7684\u5730\u5740\u6c60\u8fdb\u884c\u7ba1\u7406\u3002

"},{"location":"zh/contribute/#_12","title":"\u6570\u636e\u4e2d\u5fc3\u8981\u6c42","text":""},{"location":"zh/contribute/#_13","title":"\u673a\u67b6\u4e0e\u7535\u6e90\u8981\u6c42","text":"\u8981\u6c42 \u89c4\u683c \u673a\u67b6\u7a7a\u95f4 4U \u7535\u6e90 4KW\uff08\u63a8\u8350\uff09"},{"location":"zh/contribute/#_14","title":"\u540e\u7eed\u6b65\u9aa4","text":"

\u51c6\u5907\u597d\u914d\u7f6e\u60a8\u7684\u7b2c\u4e00\u4e2aDZD\u4e86\u5417\uff1f\u7ee7\u7eed\u9605\u8bfb\u8bbe\u5907\u914d\u7f6e\u6307\u5357\u3002

"},{"location":"zh/glossary/","title":"\u8bcd\u6c47\u8868","text":"

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.

\u672c\u9875\u9762\u5b9a\u4e49\u4e86\u6587\u6863\u4e2d\u4f7f\u7528\u7684DoubleZero\u4e13\u7528\u672f\u8bed\u3002

"},{"location":"zh/glossary/#_2","title":"\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd","text":""},{"location":"zh/glossary/#dzddoublezero","title":"DZD\uff08DoubleZero\u8bbe\u5907\uff09","text":"

\u7ec8\u6b62DoubleZero\u94fe\u8def\u5e76\u8fd0\u884cDoubleZero\u4ee3\u7406\u8f6f\u4ef6\u7684\u7269\u7406\u7f51\u7edc\u4ea4\u6362\u786c\u4ef6\u3002DZD\u90e8\u7f72\u5728\u6570\u636e\u4e2d\u5fc3\uff0c\u63d0\u4f9b\u8def\u7531\u3001\u6570\u636e\u5305\u5904\u7406\u548c\u7528\u6237\u8fde\u63a5\u670d\u52a1\u3002\u6bcf\u4e2aDZD\u9700\u8981\u7279\u5b9a\u7684\u786c\u4ef6\u89c4\u683c\uff0c\u5e76\u540c\u65f6\u8fd0\u884c\u914d\u7f6e\u4ee3\u7406\u548c\u9065\u6d4b\u4ee3\u7406\u3002

"},{"location":"zh/glossary/#dzxdoublezero","title":"DZX\uff08DoubleZero\u4ea4\u6362\u70b9\uff09","text":"

\u7f51\u72b6\u7f51\u7edc\u4e2d\u4e0d\u540c\u8d21\u732e\u8005\u94fe\u8def\u76f8\u4e92\u6865\u63a5\u7684\u4e92\u8fde\u70b9\u3002DZX\u4f4d\u4e8e\u53d1\u751f\u7f51\u7edc\u4ea4\u53c9\u7684\u4e3b\u8981\u90fd\u5e02\u533a\uff08\u5982\u7ebd\u7ea6\u3001\u4f26\u6566\u3001\u4e1c\u4eac\uff09\u3002\u7f51\u7edc\u8d21\u732e\u8005\u5fc5\u987b\u5728\u6700\u8fd1\u7684DZX\u5c06\u5176\u94fe\u8def\u4ea4\u53c9\u8fde\u63a5\u5230\u66f4\u5e7f\u6cdb\u7684DoubleZero\u7f51\u72b6\u7f51\u7edc\u3002\u6982\u5ff5\u4e0a\u7c7b\u4f3c\u4e8e\u4e92\u8054\u7f51\u4ea4\u6362\u70b9\uff08IX\uff09\u3002

"},{"location":"zh/glossary/#wan","title":"WAN\u94fe\u8def","text":"

\u7531\u540c\u4e00\u8d21\u732e\u8005\u8fd0\u8425\u7684\u4e24\u4e2aDZD\u4e4b\u95f4\u7684\u5e7f\u57df\u7f51\u94fe\u8def\u3002WAN\u94fe\u8def\u5728\u5355\u4e2a\u8d21\u732e\u8005\u7684\u57fa\u7840\u8bbe\u65bd\u5185\u63d0\u4f9b\u9aa8\u5e72\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#dzx","title":"DZX\u94fe\u8def","text":"

\u7531\u4e0d\u540c\u8d21\u732e\u8005\u8fd0\u8425\u7684DZD\u4e4b\u95f4\u5728DZX\u5efa\u7acb\u7684\u94fe\u8def\u3002DZX\u94fe\u8def\u9700\u8981\u53cc\u65b9\u660e\u786e\u63a5\u53d7\u3002

"},{"location":"zh/glossary/#dz","title":"DZ\u524d\u7f00","text":"

\u4ee5CIDR\u683c\u5f0f\u5206\u914d\u7ed9DZD\u7684IP\u5730\u5740\u5206\u914d\uff0c\u7528\u4e8e\u8986\u76d6\u7f51\u7edc\u5bfb\u5740\u3002\u5728\u8bbe\u5907\u521b\u5efa\u65f6\u4f7f\u7528--dz-prefixes\u53c2\u6570\u6307\u5b9a\u3002

"},{"location":"zh/glossary/#_3","title":"\u8bbe\u5907\u7c7b\u578b","text":""},{"location":"zh/glossary/#_4","title":"\u8fb9\u7f18\u8bbe\u5907","text":"

\u4e3aDoubleZero\u7f51\u7edc\u63d0\u4f9b\u7528\u6237\u8fde\u63a5\u7684DZD\u3002\u8fb9\u7f18\u8bbe\u5907\u5229\u7528CYOA\u63a5\u53e3\u7ec8\u6b62\u7528\u6237\uff08\u9a8c\u8bc1\u5668\u3001RPC\u8fd0\u8425\u5546\uff09\u5e76\u5c06\u5176\u8fde\u63a5\u5230\u7f51\u7edc\u3002

"},{"location":"zh/glossary/#_5","title":"\u4e2d\u8f6c\u8bbe\u5907","text":"

\u5728DoubleZero\u7f51\u7edc\u5185\u63d0\u4f9b\u9aa8\u5e72\u8fde\u63a5\u7684DZD\u3002\u4e2d\u8f6c\u8bbe\u5907\u5728DZD\u4e4b\u95f4\u4f20\u8f93\u6d41\u91cf\uff0c\u4f46\u4e0d\u76f4\u63a5\u7ec8\u6b62\u7528\u6237\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#_6","title":"\u6df7\u5408\u8bbe\u5907","text":"

\u7ed3\u5408\u8fb9\u7f18\u548c\u4e2d\u8f6c\u529f\u80fd\u7684DZD\uff0c\u540c\u65f6\u63d0\u4f9b\u7528\u6237\u8fde\u63a5\u548c\u9aa8\u5e72\u8def\u7531\u3002

"},{"location":"zh/glossary/#_7","title":"\u8fde\u63a5\u6027","text":""},{"location":"zh/glossary/#cyoa","title":"CYOA\uff08\u81ea\u9009\u5192\u9669\uff09","text":"

\u5141\u8bb8\u8d21\u732e\u8005\u4e3a\u7528\u6237\u6ce8\u518c\u8fde\u63a5\u9009\u9879\u4ee5\u8fde\u63a5\u5230DoubleZero\u7f51\u7edc\u7684\u63a5\u53e3\u7c7b\u578b\u3002CYOA\u63a5\u53e3\u5305\u62ecDIA\u3001GRE\u96a7\u9053\u548c\u79c1\u6709\u5bf9\u7b49\u4e92\u8054\u7b49\u5404\u79cd\u65b9\u6cd5\u3002\u6709\u5173\u914d\u7f6e\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605\u521b\u5efaCYOA\u63a5\u53e3\u3002

"},{"location":"zh/glossary/#dia","title":"DIA\uff08\u76f4\u63a5\u4e92\u8054\u7f51\u8bbf\u95ee\uff09","text":"

\u901a\u8fc7\u516c\u5171\u4e92\u8054\u7f51\u63d0\u4f9b\u8fde\u63a5\u7684\u6807\u51c6\u7f51\u7edc\u672f\u8bed\u3002\u5728DoubleZero\u4e2d\uff0cDIA\u662f\u4e00\u79cdCYOA\u63a5\u53e3\u7c7b\u578b\uff0c\u7528\u6237\uff08\u9a8c\u8bc1\u5668\u3001RPC\u8fd0\u8425\u5546\uff09\u901a\u8fc7\u5176\u73b0\u6709\u4e92\u8054\u7f51\u8fde\u63a5\u8fde\u63a5\u5230DZD\u3002

"},{"location":"zh/glossary/#ibrl","title":"IBRL\uff08\u589e\u52a0\u5e26\u5bbd\u51cf\u5c11\u5ef6\u8fdf\uff09","text":"

\u5141\u8bb8\u9a8c\u8bc1\u5668\u548cRPC\u8282\u70b9\u5728\u4e0d\u91cd\u542f\u533a\u5757\u94fe\u5ba2\u6237\u7aef\u7684\u60c5\u51b5\u4e0b\u8fde\u63a5\u5230DoubleZero\u7684\u8fde\u63a5\u6a21\u5f0f\u3002IBRL\u4f7f\u7528\u73b0\u6709\u516c\u5171IP\u5730\u5740\uff0c\u5e76\u5efa\u7acb\u5230\u6700\u8fd1DZD\u7684\u8986\u76d6\u96a7\u9053\u3002\u6709\u5173\u8bbe\u7f6e\u8bf4\u660e\uff0c\u8bf7\u53c2\u9605\u4e3b\u7f51Beta\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#_8","title":"\u591a\u64ad","text":"

DoubleZero\u652f\u6301\u7684\u4e00\u5bf9\u591a\u6570\u636e\u5305\u4f20\u9001\u65b9\u6cd5\u3002\u591a\u64ad\u6a21\u5f0f\u6709\u4e24\u79cd\u89d2\u8272\uff1a\u53d1\u5e03\u8005\uff08\u8de8\u7f51\u7edc\u53d1\u9001\u6570\u636e\u5305\uff09\u548c\u8ba2\u9605\u8005\uff08\u4ece\u53d1\u5e03\u8005\u63a5\u6536\u6570\u636e\u5305\uff09\u3002\u5f00\u53d1\u56e2\u961f\u4f7f\u7528\u6b64\u65b9\u5f0f\u8fdb\u884c\u9ad8\u6548\u7684\u6570\u636e\u5206\u53d1\u3002\u6709\u5173\u8fde\u63a5\u8be6\u60c5\uff0c\u8bf7\u53c2\u9605\u5176\u4ed6\u591a\u64ad\u8fde\u63a5\u3002

"},{"location":"zh/glossary/#_9","title":"\u8f6f\u4ef6\u7ec4\u4ef6","text":""},{"location":"zh/glossary/#doublezerod","title":"doublezerod","text":"

\u8fd0\u884c\u5728\u7528\u6237\u670d\u52a1\u5668\uff08\u9a8c\u8bc1\u5668\u3001RPC\u8282\u70b9\uff09\u4e0a\u7684DoubleZero\u5b88\u62a4\u7a0b\u5e8f\u670d\u52a1\u3002\u5b83\u7ba1\u7406\u5230DoubleZero\u7f51\u7edc\u7684\u8fde\u63a5\u3001\u5904\u7406\u96a7\u9053\u5efa\u7acb\uff0c\u5e76\u7ef4\u6301\u4e0eDZD\u7684\u8fde\u63a5\u3002\u901a\u8fc7systemd\u914d\u7f6e\uff0c\u5e76\u901a\u8fc7doublezero CLI\u63a7\u5236\u3002

"},{"location":"zh/glossary/#doublezerocli","title":"doublezero\uff08CLI\uff09","text":"

\u7528\u4e8e\u4e0eDoubleZero\u7f51\u7edc\u4ea4\u4e92\u7684\u547d\u4ee4\u884c\u754c\u9762\u3002\u7528\u4e8e\u8fde\u63a5\u3001\u7ba1\u7406\u8eab\u4efd\u3001\u68c0\u67e5\u72b6\u6001\u548c\u884c\u653f\u64cd\u4f5c\u3002\u4e0edoublezerod\u5b88\u62a4\u7a0b\u5e8f\u901a\u4fe1\u3002

"},{"location":"zh/glossary/#_10","title":"\u914d\u7f6e\u4ee3\u7406","text":"

\u8fd0\u884c\u5728DZD\u4e0a\u7684\u8f6f\u4ef6\u4ee3\u7406\uff0c\u7ba1\u7406\u8bbe\u5907\u914d\u7f6e\u3002\u4ece\u63a7\u5236\u5668\u670d\u52a1\u8bfb\u53d6\u914d\u7f6e\u5e76\u5c06\u66f4\u6539\u5e94\u7528\u5230\u8bbe\u5907\u3002\u6709\u5173\u8bbe\u7f6e\uff0c\u8bf7\u53c2\u9605\u914d\u7f6e\u4ee3\u7406\u5b89\u88c5\u3002

"},{"location":"zh/glossary/#_11","title":"\u9065\u6d4b\u4ee3\u7406","text":"

\u8fd0\u884c\u5728DZD\u4e0a\u7684\u8f6f\u4ef6\u4ee3\u7406\uff0c\u6536\u96c6\u6027\u80fd\u6307\u6807\uff08\u5ef6\u8fdf\u3001\u6296\u52a8\u3001\u4e22\u5305\uff09\u5e76\u5c06\u5176\u63d0\u4ea4\u5230DoubleZero\u8d26\u672c\u3002\u6709\u5173\u8bbe\u7f6e\uff0c\u8bf7\u53c2\u9605\u9065\u6d4b\u4ee3\u7406\u5b89\u88c5\u3002

"},{"location":"zh/glossary/#_12","title":"\u63a7\u5236\u5668","text":"

\u5411DZD\u4ee3\u7406\u63d0\u4f9b\u914d\u7f6e\u7684\u670d\u52a1\u3002\u63a7\u5236\u5668\u4eceDoubleZero\u8d26\u672c\u4e0a\u7684\u94fe\u4e0a\u72b6\u6001\u6d3e\u751f\u8bbe\u5907\u914d\u7f6e\u3002

"},{"location":"zh/glossary/#_13","title":"\u94fe\u8def\u72b6\u6001","text":""},{"location":"zh/glossary/#_14","title":"\u5df2\u6fc0\u6d3b","text":"

\u94fe\u8def\u7684\u6b63\u5e38\u8fd0\u884c\u72b6\u6001\u3002\u6d41\u91cf\u901a\u8fc7\u94fe\u8def\u6d41\u52a8\uff0c\u5e76\u53c2\u4e0e\u8def\u7531\u51b3\u7b56\u3002

"},{"location":"zh/glossary/#_15","title":"\u8f6f\u6e05\u7a7a","text":"

\u6d41\u91cf\u5c06\u5728\u7279\u5b9a\u94fe\u8def\u4e0a\u88ab\u963b\u6b62\u7684\u7ef4\u62a4\u72b6\u6001\u3002\u7528\u4e8e\u4f18\u96c5\u7684\u7ef4\u62a4\u7a97\u53e3\u3002\u53ef\u4ee5\u8fc7\u6e21\u5230\u5df2\u6fc0\u6d3b\u6216\u786c\u6e05\u7a7a\u3002

"},{"location":"zh/glossary/#_16","title":"\u786c\u6e05\u7a7a","text":"

\u94fe\u8def\u5b8c\u5168\u4ece\u670d\u52a1\u4e2d\u79fb\u9664\u7684\u7ef4\u62a4\u72b6\u6001\u3002\u6ca1\u6709\u6d41\u91cf\u901a\u8fc7\u94fe\u8def\u3002\u5fc5\u987b\u5148\u8fc7\u6e21\u5230\u8f6f\u6e05\u7a7a\u624d\u80fd\u8fd4\u56de\u5230\u5df2\u6fc0\u6d3b\u3002

"},{"location":"zh/glossary/#_17","title":"\u7ec4\u7ec7\u4e0e\u4ee3\u5e01","text":""},{"location":"zh/glossary/#dzfdoublezero","title":"DZF\uff08DoubleZero\u57fa\u91d1\u4f1a\uff09","text":"

DoubleZero\u57fa\u91d1\u4f1a\u662f\u4e00\u4e2a\u65e0\u6210\u5458\u7684\u975e\u8425\u5229\u5f00\u66fc\u7fa4\u5c9b\u57fa\u91d1\u4f1a\u516c\u53f8\uff0c\u6210\u7acb\u76ee\u7684\u662f\u652f\u6301DoubleZero\u7f51\u7edc\u7684\u5f00\u53d1\u3001\u53bb\u4e2d\u5fc3\u5316\u3001\u5b89\u5168\u6027\u548c\u91c7\u7528\u3002

"},{"location":"zh/glossary/#2z","title":"2Z\u4ee3\u5e01","text":"

DoubleZero\u7f51\u7edc\u7684\u539f\u751f\u4ee3\u5e01\u3002\u7528\u4e8e\u652f\u4ed8\u9a8c\u8bc1\u5668\u8d39\u7528\u5e76\u4f5c\u4e3a\u5956\u52b1\u5206\u914d\u7ed9\u8d21\u732e\u8005\u3002\u9a8c\u8bc1\u5668\u53ef\u4ee5\u901a\u8fc7\u94fe\u4e0a\u5151\u6362\u7a0b\u5e8f\u4ee52Z\u652f\u4ed8\u8d39\u7528\u3002\u8bf7\u53c2\u9605\u4f7f\u75282Z\u652f\u4ed8\u8d39\u7528\u548c\u5c06SOL\u5151\u6362\u4e3a2Z\u3002

"},{"location":"zh/glossary/#_18","title":"\u8d21\u732e\u8005","text":"

\u5411DoubleZero\u7f51\u7edc\u8d21\u732e\u5e26\u5bbd\u548c\u786c\u4ef6\u7684\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u63d0\u4f9b\u5546\u3002\u8d21\u732e\u8005\u8fd0\u8425DZD\uff0c\u63d0\u4f9bWAN\u548cDZX\u94fe\u8def\uff0c\u5e76\u56e0\u5176\u8d21\u732e\u800c\u83b7\u5f972Z\u4ee3\u5e01\u6fc0\u52b1\u3002\u8bf7\u53c2\u9605\u8d21\u732e\u8005\u6587\u6863\u4ee5\u5f00\u59cb\u3002

"},{"location":"zh/glossary/#_19","title":"\u7f51\u7edc\u6982\u5ff5","text":""},{"location":"zh/glossary/#mtu","title":"MTU\uff08\u6700\u5927\u4f20\u8f93\u5355\u5143\uff09","text":"

\u53ef\u4ee5\u901a\u8fc7\u7f51\u7edc\u94fe\u8def\u4f20\u8f93\u7684\u6700\u5927\u6570\u636e\u5305\u5927\u5c0f\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\u3002DoubleZero WAN\u94fe\u8def\u901a\u5e38\u4f7f\u7528MTU 9000\uff08\u5de8\u578b\u5e27\uff09\u4ee5\u63d0\u9ad8\u6548\u7387\u3002

"},{"location":"zh/glossary/#vrf","title":"VRF\uff08\u865a\u62df\u8def\u7531\u548c\u8f6c\u53d1\uff09","text":"

\u5141\u8bb8\u540c\u4e00\u7269\u7406\u8def\u7531\u5668\u4e0a\u5b58\u5728\u591a\u4e2a\u9694\u79bb\u8def\u7531\u8868\u7684\u6280\u672f\u3002\u8d21\u732e\u8005\u901a\u5e38\u4f7f\u7528\u5355\u72ec\u7684\u7ba1\u7406VRF\u5c06\u4ea4\u6362\u673a\u7ba1\u7406\u6d41\u91cf\u4e0e\u751f\u4ea7\u6d41\u91cf\u9694\u79bb\u3002

"},{"location":"zh/glossary/#gre","title":"GRE\uff08\u901a\u7528\u8def\u7531\u5c01\u88c5\uff09","text":"

\u5c06\u7f51\u7edc\u6570\u636e\u5305\u5c01\u88c5\u5728IP\u6570\u636e\u5305\u5185\u7684\u96a7\u9053\u534f\u8bae\u3002IBRL\u548cCYOA\u8fde\u63a5\u4f7f\u7528GRE\u5728\u7528\u6237\u548cDZD\u4e4b\u95f4\u521b\u5efa\u8986\u76d6\u96a7\u9053\u3002

"},{"location":"zh/glossary/#bgp","title":"BGP\uff08\u8fb9\u754c\u7f51\u5173\u534f\u8bae\uff09","text":"

\u7528\u4e8e\u5728\u4e92\u8054\u7f51\u4e0a\u7684\u7f51\u7edc\u4e4b\u95f4\u4ea4\u6362\u8def\u7531\u4fe1\u606f\u7684\u8def\u7531\u534f\u8bae\u3002DoubleZero\u5185\u90e8\u4f7f\u7528BGP\uff0cASN\u4e3a65342\u3002

"},{"location":"zh/glossary/#asn","title":"ASN\uff08\u81ea\u6cbb\u7cfb\u7edf\u53f7\uff09","text":"

\u5206\u914d\u7ed9\u7f51\u7edc\u7528\u4e8eBGP\u8def\u7531\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002\u6240\u6709DoubleZero\u8bbe\u5907\u4f7f\u7528ASN 65342\u4f5c\u4e3a\u5185\u90e8BGP\u8fdb\u7a0b\u3002

"},{"location":"zh/glossary/#_20","title":"\u73af\u56de\u63a5\u53e3","text":"

\u8def\u7531\u5668/\u4ea4\u6362\u673a\u4e0a\u7528\u4e8e\u7ba1\u7406\u548c\u8def\u7531\u76ee\u7684\u7684\u865a\u62df\u7f51\u7edc\u63a5\u53e3\u3002DZD\u4f7f\u7528Loopback255\uff08VPNv4\uff09\u548cLoopback256\uff08IPv4\uff09\u8fdb\u884c\u5185\u90e8\u8def\u7531\u3002

"},{"location":"zh/glossary/#cidr","title":"CIDR\uff08\u65e0\u7c7b\u522b\u57df\u95f4\u8def\u7531\uff09","text":"

\u6307\u5b9aIP\u5730\u5740\u8303\u56f4\u7684\u8868\u793a\u6cd5\u3002\u683c\u5f0f\u4e3aIP/\u524d\u7f00\u957f\u5ea6\uff0c\u5176\u4e2d\u524d\u7f00\u957f\u5ea6\u8868\u793a\u7f51\u7edc\u5927\u5c0f\uff08\u5982/29 = 8\u4e2a\u5730\u5740\uff0c/24 = 256\u4e2a\u5730\u5740\uff09\u3002

"},{"location":"zh/glossary/#_21","title":"\u6296\u52a8","text":"

\u968f\u65f6\u95f4\u53d8\u5316\u7684\u6570\u636e\u5305\u5ef6\u8fdf\u53d8\u5316\u3002\u4f4e\u6296\u52a8\u5bf9\u4e8e\u5b9e\u65f6\u5e94\u7528\u81f3\u5173\u91cd\u8981\u3002

"},{"location":"zh/glossary/#rtt","title":"RTT\uff08\u5f80\u8fd4\u65f6\u95f4\uff09","text":"

\u6570\u636e\u5305\u4ece\u6e90\u5230\u76ee\u7684\u5730\u518d\u8fd4\u56de\u6240\u9700\u7684\u65f6\u95f4\u3002\u7528\u4e8e\u6d4b\u91cf\u8bbe\u5907\u4e4b\u95f4\u7684\u7f51\u7edc\u5ef6\u8fdf\u3002

"},{"location":"zh/glossary/#twamp","title":"TWAMP\uff08\u53cc\u5411\u4e3b\u52a8\u6d4b\u91cf\u534f\u8bae\uff09","text":"

\u7528\u4e8e\u6d4b\u91cf\u5ef6\u8fdf\u548c\u4e22\u5305\u7b49\u7f51\u7edc\u6027\u80fd\u6307\u6807\u7684\u534f\u8bae\u3002\u9065\u6d4b\u4ee3\u7406\u4f7f\u7528TWAMP\u6536\u96c6DZD\u4e4b\u95f4\u7684\u6307\u6807\u3002

"},{"location":"zh/glossary/#is-is","title":"IS-IS\uff08\u4e2d\u95f4\u7cfb\u7edf\u5230\u4e2d\u95f4\u7cfb\u7edf\uff09","text":"

DoubleZero\u7f51\u7edc\u5185\u90e8\u4f7f\u7528\u7684\u94fe\u8def\u72b6\u6001\u8def\u7531\u534f\u8bae\u3002\u5728\u94fe\u8def\u6e05\u7a7a\u64cd\u4f5c\u671f\u95f4\u8c03\u6574IS-IS\u6307\u6807\u3002

"},{"location":"zh/glossary/#_22","title":"\u533a\u5757\u94fe\u4e0e\u5bc6\u94a5","text":""},{"location":"zh/glossary/#_23","title":"\u94fe\u4e0a","text":"

\u5728DoubleZero\u8bed\u5883\u4e2d\uff0c\u94fe\u4e0a\u6307\u8bb0\u5f55\u5728DoubleZero\u8d26\u672c\u4e0a\u7684\u6570\u636e\u548c\u64cd\u4f5c\u3002\u4e0e\u4f20\u7edf\u7f51\u7edc\u4e2d\u8bbe\u5907\u548c\u94fe\u8def\u914d\u7f6e\u5b58\u5728\u4e8e\u96c6\u4e2d\u5f0f\u7ba1\u7406\u7cfb\u7edf\u4e0d\u540c\uff0cDoubleZero\u5c06\u8bbe\u5907\u6ce8\u518c\u3001\u94fe\u8def\u914d\u7f6e\u548c\u9065\u6d4b\u63d0\u4ea4\u8bb0\u5f55\u5728\u94fe\u4e0a\u2014\u2014\u4f7f\u6240\u6709\u53c2\u4e0e\u8005\u90fd\u80fd\u900f\u660e\u548c\u53ef\u9a8c\u8bc1\u5730\u4e86\u89e3\u7f51\u7edc\u72b6\u6001\u3002

"},{"location":"zh/glossary/#_24","title":"\u670d\u52a1\u5bc6\u94a5","text":"

\u7528\u4e8e\u9a8c\u8bc1CLI\u64cd\u4f5c\u7684\u52a0\u5bc6\u5bc6\u94a5\u5bf9\u3002\u8fd9\u662f\u60a8\u4e0eDoubleZero\u667a\u80fd\u5408\u7ea6\u4ea4\u4e92\u7684\u8d21\u732e\u8005\u8eab\u4efd\u3002\u5b58\u50a8\u4e8e~/.config/solana/id.json\u3002

"},{"location":"zh/glossary/#_25","title":"\u6307\u6807\u53d1\u5e03\u8005\u5bc6\u94a5","text":"

\u9065\u6d4b\u4ee3\u7406\u7528\u4e8e\u7b7e\u7f72\u5411\u533a\u5757\u94fe\u63d0\u4ea4\u6307\u6807\u7684\u52a0\u5bc6\u5bc6\u94a5\u5bf9\u3002\u4e0e\u670d\u52a1\u5bc6\u94a5\u5206\u5f00\uff0c\u4ee5\u5b9e\u73b0\u5b89\u5168\u9694\u79bb\u3002\u5b58\u50a8\u4e8e~/.config/doublezero/metrics-publisher.json\u3002

"},{"location":"zh/glossary/#_26","title":"\u786c\u4ef6\u4e0e\u8f6f\u4ef6","text":""},{"location":"zh/glossary/#eos","title":"EOS\uff08\u53ef\u6269\u5c55\u64cd\u4f5c\u7cfb\u7edf\uff09","text":"

\u8fd0\u884c\u5728DZD\u4ea4\u6362\u673a\u4e0a\u7684Arista\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u3002\u8d21\u732e\u8005\u5c06\u914d\u7f6e\u4ee3\u7406\u548c\u9065\u6d4b\u4ee3\u7406\u4f5c\u4e3aEOS\u6269\u5c55\u5b89\u88c5\u3002

"},{"location":"zh/glossary/#eos_1","title":"EOS\u6269\u5c55","text":"

\u53ef\u4ee5\u5b89\u88c5\u5728Arista EOS\u4ea4\u6362\u673a\u4e0a\u7684\u8f6f\u4ef6\u5305\u3002DZ\u4ee3\u7406\u4ee5.rpm\u6587\u4ef6\u5f62\u5f0f\u5206\u53d1\uff0c\u901a\u8fc7extension\u547d\u4ee4\u5b89\u88c5\u3002

"},{"location":"zh/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"zh/multicast-admin/#doublezero","title":"DoubleZero\u4e2d\u7684\u591a\u64ad\u7ec4\u7ba1\u7406","text":"

\u591a\u64ad\u7ec4\u662f\u5171\u4eab\u516c\u5171\u6807\u8bc6\u7b26\uff08\u901a\u5e38\u662f\u591a\u64adIP\u5730\u5740\uff09\u7684\u8bbe\u5907\u6216\u7f51\u7edc\u8282\u70b9\u7684\u903b\u8f91\u96c6\u5408\uff0c\u7528\u4e8e\u9ad8\u6548\u5730\u5411\u591a\u4e2a\u63a5\u6536\u8005\u4f20\u8f93\u6570\u636e\u3002\u4e0e\u5355\u64ad\uff08\u4e00\u5bf9\u4e00\uff09\u6216\u5e7f\u64ad\uff08\u4e00\u5bf9\u5168\u90e8\uff09\u901a\u4fe1\u4e0d\u540c\uff0c\u591a\u64ad\u4f7f\u53d1\u9001\u65b9\u80fd\u591f\u4f20\u8f93\u5355\u4e2a\u6570\u636e\u6d41\uff0c\u7f51\u7edc\u4ec5\u4e3a\u5df2\u52a0\u5165\u8be5\u7ec4\u7684\u63a5\u6536\u8005\u590d\u5236\u8be5\u6570\u636e\u6d41\u3002

\u8fd9\u79cd\u65b9\u6cd5\u4f18\u5316\u4e86\u5e26\u5bbd\u4f7f\u7528\uff0c\u5e76\u51cf\u5c11\u4e86\u53d1\u9001\u65b9\u548c\u7f51\u7edc\u57fa\u7840\u8bbe\u65bd\u7684\u8d1f\u8f7d\uff0c\u56e0\u4e3a\u6570\u636e\u5305\u5728\u6bcf\u6761\u94fe\u8def\u4e0a\u53ea\u4f20\u8f93\u4e00\u6b21\uff0c\u4ec5\u5728\u5fc5\u8981\u65f6\u624d\u4f1a\u590d\u5236\u4ee5\u5230\u8fbe\u591a\u4e2a\u8ba2\u9605\u8005\u3002\u591a\u64ad\u7ec4\u901a\u5e38\u7528\u4e8e\u5b9e\u65f6\u89c6\u9891\u6d41\u3001\u4f1a\u8bae\u3001\u91d1\u878d\u6570\u636e\u5206\u53d1\u548c\u5b9e\u65f6\u6d88\u606f\u7cfb\u7edf\u7b49\u573a\u666f\u3002

\u5728DoubleZero\u4e2d\uff0c\u591a\u64ad\u7ec4\u63d0\u4f9b\u4e86\u4e00\u79cd\u5b89\u5168\u4e14\u53d7\u63a7\u7684\u673a\u5236\uff0c\u7528\u4e8e\u7ba1\u7406\u8c01\u53ef\u4ee5\u5728\u6bcf\u4e2a\u7ec4\u5185\u53d1\u9001\uff08\u53d1\u5e03\u8005\uff09\u548c\u63a5\u6536\uff08\u8ba2\u9605\u8005\uff09\u6570\u636e\uff0c\u786e\u4fdd\u9ad8\u6548\u4e14\u53d7\u6cbb\u7406\u7684\u4fe1\u606f\u5206\u53d1\u3002

flowchart LR\n    subgraph \u53d1\u5e03\u8005\n        P1[\u53d1\u5e03\u8005 1]\n        P2[\u53d1\u5e03\u8005 2]\n        P3[\u53d1\u5e03\u8005 3]\n    end\n    subgraph \u8ba2\u9605\u8005\n        S1[\u8ba2\u9605\u8005 1]\n        S2[\u8ba2\u9605\u8005 2]\n        S3[\u8ba2\u9605\u8005 3]\n        S4[\u8ba2\u9605\u8005 4]\n    end\n    P1 --> B[\u591a\u64ad\u7ec4]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

\u4e0a\u56fe\u663e\u793a\u4e86\u591a\u4e2a\u7528\u6237\u5982\u4f55\u5411\u591a\u64ad\u7ec4\u53d1\u5e03\u6d88\u606f\uff0c\u4ee5\u53ca\u591a\u4e2a\u7528\u6237\u5982\u4f55\u8ba2\u9605\u63a5\u6536\u8fd9\u4e9b\u6d88\u606f\u3002DoubleZero\u7f51\u7edc\u9ad8\u6548\u5730\u590d\u5236\u6570\u636e\u5305\uff0c\u786e\u4fdd\u6240\u6709\u8ba2\u9605\u8005\u90fd\u80fd\u6536\u5230\u6d88\u606f\uff0c\u800c\u4e0d\u4f1a\u4ea7\u751f\u4e0d\u5fc5\u8981\u7684\u4f20\u8f93\u5f00\u9500\u3002

"},{"location":"zh/multicast-admin/#1","title":"1. \u521b\u5efa\u548c\u5217\u51fa\u591a\u64ad\u7ec4","text":"

\u591a\u64ad\u7ec4\u662fDoubleZero\u4e2d\u5b89\u5168\u9ad8\u6548\u6570\u636e\u5206\u53d1\u7684\u57fa\u7840\u3002\u6bcf\u4e2a\u7ec4\u90fd\u6709\u552f\u4e00\u6807\u8bc6\uff0c\u5e76\u914d\u7f6e\u4e86\u7279\u5b9a\u7684\u5e26\u5bbd\u548c\u6240\u6709\u8005\u3002\u53ea\u6709DoubleZero\u57fa\u91d1\u4f1a\u7ba1\u7406\u5458\u624d\u80fd\u521b\u5efa\u65b0\u7684\u591a\u64ad\u7ec4\uff0c\u786e\u4fdd\u9002\u5f53\u7684\u6cbb\u7406\u548c\u8d44\u6e90\u5206\u914d\u3002

\u521b\u5efa\u540e\uff0c\u53ef\u4ee5\u5217\u51fa\u591a\u64ad\u7ec4\uff0c\u4ee5\u63d0\u4f9b\u6240\u6709\u53ef\u7528\u7ec4\u3001\u5176\u914d\u7f6e\u548c\u5f53\u524d\u72b6\u6001\u7684\u6982\u89c8\u3002\u8fd9\u5bf9\u4e8e\u7f51\u7edc\u8fd0\u8425\u5546\u548c\u7ec4\u6240\u6709\u8005\u76d1\u63a7\u8d44\u6e90\u548c\u7ba1\u7406\u8bbf\u95ee\u81f3\u5173\u91cd\u8981\u3002

\u521b\u5efa\u591a\u64ad\u7ec4\uff1a

\u53ea\u6709DoubleZero\u57fa\u91d1\u4f1a\u624d\u80fd\u521b\u5efa\u65b0\u7684\u591a\u64ad\u7ec4\u3002\u521b\u5efa\u547d\u4ee4\u9700\u8981\u552f\u4e00\u4ee3\u7801\u3001\u6700\u5927\u5e26\u5bbd\u548c\u6240\u6709\u8005\u516c\u94a5\uff08\u6216\u5f53\u524d\u4ed8\u6b3e\u4eba\u7684\"me\"\uff09\u3002

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

\u5217\u51fa\u6240\u6709\u591a\u64ad\u7ec4\uff1a

\u8981\u5217\u51fa\u6240\u6709\u591a\u64ad\u7ec4\u5e76\u67e5\u770b\u6458\u8981\u4fe1\u606f\uff08\u5305\u62ec\u7ec4\u4ee3\u7801\u3001\u591a\u64adIP\u3001\u5e26\u5bbd\u3001\u53d1\u5e03\u8005\u548c\u8ba2\u9605\u8005\u6570\u91cf\u3001\u72b6\u6001\u548c\u6240\u6709\u8005\uff09\uff1a

doublezero multicast group list\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u6b64\u547d\u4ee4\u663e\u793a\u5305\u542b\u6240\u6709\u591a\u64ad\u7ec4\u53ca\u5176\u4e3b\u8981\u5c5e\u6027\u7684\u8868\u683c\uff1a - account\uff1a\u7ec4\u8d26\u6237\u5730\u5740 - code\uff1a\u591a\u64ad\u7ec4\u4ee3\u7801 - multicast_ip\uff1a\u5206\u914d\u7ed9\u7ec4\u7684\u591a\u64adIP\u5730\u5740 - max_bandwidth\uff1a\u7ec4\u5141\u8bb8\u7684\u6700\u5927\u5e26\u5bbd - publishers\uff1a\u7ec4\u4e2d\u7684\u53d1\u5e03\u8005\u6570\u91cf - subscribers\uff1a\u7ec4\u4e2d\u7684\u8ba2\u9605\u8005\u6570\u91cf - status\uff1a\u5f53\u524d\u72b6\u6001\uff08\u5982activated\uff09 - owner\uff1a\u6240\u6709\u8005\u516c\u94a5

\u521b\u5efa\u7ec4\u540e\uff0c\u6240\u6709\u8005\u53ef\u4ee5\u7ba1\u7406\u54ea\u4e9b\u7528\u6237\u53ef\u4ee5\u4f5c\u4e3a\u53d1\u5e03\u8005\u6216\u8ba2\u9605\u8005\u8fde\u63a5\u3002

"},{"location":"zh/multicast-admin/#2","title":"2. \u7ba1\u7406\u53d1\u5e03\u8005/\u8ba2\u9605\u8005\u5141\u8bb8\u5217\u8868","text":"

\u53d1\u5e03\u8005\u548c\u8ba2\u9605\u8005\u5141\u8bb8\u5217\u8868\u5bf9\u4e8e\u63a7\u5236DoubleZero\u4e2d\u591a\u64ad\u7ec4\u7684\u8bbf\u95ee\u81f3\u5173\u91cd\u8981\u3002\u8fd9\u4e9b\u5217\u8868\u660e\u786e\u5b9a\u4e49\u4e86\u54ea\u4e9b\u7528\u6237\u88ab\u5141\u8bb8\u5728\u7279\u5b9a\u591a\u64ad\u7ec4\u5185\u53d1\u5e03\uff08\u53d1\u9001\u6570\u636e\uff09\u6216\u8ba2\u9605\uff08\u63a5\u6536\u6570\u636e\uff09\u3002

\u7ba1\u7406\u8fd9\u4e9b\u5217\u8868\u662f\u7ec4\u6240\u6709\u8005\u7684\u8d23\u4efb\uff0c\u4ed6\u53ef\u4ee5\u4f7f\u7528DoubleZero CLI\u6dfb\u52a0\u3001\u5220\u9664\u6216\u67e5\u770b\u6388\u6743\u7684\u53d1\u5e03\u8005\u548c\u8ba2\u9605\u8005\u3002\u9002\u5f53\u7684\u5141\u8bb8\u5217\u8868\u7ba1\u7406\u5bf9\u4e8e\u7ef4\u62a4\u591a\u64ad\u901a\u4fe1\u7684\u5b89\u5168\u6027\u3001\u5b8c\u6574\u6027\u548c\u53ef\u8ffd\u6eaf\u6027\u81f3\u5173\u91cd\u8981\u3002

\u6ce8\u610f\uff1a \u8981\u8ba2\u9605\u6216\u53d1\u5e03\u5230\u591a\u64ad\u7ec4\uff0c\u7528\u6237\u5fc5\u987b\u9996\u5148\u6309\u7167\u6807\u51c6\u8fde\u63a5\u7a0b\u5e8f\u83b7\u5f97\u8fde\u63a5\u5230DoubleZero\u7684\u6388\u6743\u3002\u8fd9\u91cc\u63cf\u8ff0\u7684\u5141\u8bb8\u5217\u8868\u547d\u4ee4\u4ec5\u5c06\u5df2\u6388\u6743\u7684DoubleZero\u7528\u6237\u4e0e\u591a\u64ad\u7ec4\u5173\u8054\u3002\u5c06\u65b0IP\u6dfb\u52a0\u5230\u591a\u64ad\u7ec4\u7684\u5141\u8bb8\u5217\u8868\u672c\u8eab\u4e0d\u6388\u4e88\u5bf9DoubleZero\u7684\u8bbf\u95ee\u6743\u9650\uff1b\u7528\u6237\u5fc5\u987b\u5728\u4e0e\u591a\u64ad\u7ec4\u4ea4\u4e92\u4e4b\u524d\u5df2\u5b8c\u6210\u4e00\u822c\u6388\u6743\u6d41\u7a0b\u3002

"},{"location":"zh/multicast-admin/#_1","title":"\u5c06\u53d1\u5e03\u8005\u6dfb\u52a0\u5230\u5141\u8bb8\u5217\u8868","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_2","title":"\u4ece\u5141\u8bb8\u5217\u8868\u4e2d\u5220\u9664\u53d1\u5e03\u8005","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_3","title":"\u5217\u51fa\u7ec4\u7684\u53d1\u5e03\u8005\u5141\u8bb8\u5217\u8868","text":"

\u8981\u5217\u51fa\u7279\u5b9a\u591a\u64ad\u7ec4\u5141\u8bb8\u5217\u8868\u4e2d\u7684\u6240\u6709\u53d1\u5e03\u8005\uff0c\u8bf7\u4f7f\u7528\uff1a

doublezero multicast group allowlist publisher list --code <CODE>\n

\u793a\u4f8b\uff1a

doublezero multicast group allowlist publisher list --code mg01\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u6b64\u547d\u4ee4\u663e\u793a\u5f53\u524d\u5141\u8bb8\u8fde\u63a5\u5230\u6307\u5b9a\u7ec4\u7684\u6240\u6709\u53d1\u5e03\u8005\uff0c\u5305\u62ec\u5176\u8d26\u6237\u3001\u7ec4\u4ee3\u7801\u3001\u5ba2\u6237\u7aefIP\u548c\u7528\u6237\u4ed8\u6b3e\u4eba\u3002

"},{"location":"zh/multicast-admin/#_4","title":"\u5c06\u8ba2\u9605\u8005\u6dfb\u52a0\u5230\u5141\u8bb8\u5217\u8868","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_5","title":"\u4ece\u5141\u8bb8\u5217\u8868\u4e2d\u5220\u9664\u8ba2\u9605\u8005","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"zh/multicast-admin/#_6","title":"\u5217\u51fa\u7ec4\u7684\u8ba2\u9605\u8005\u5141\u8bb8\u5217\u8868","text":"

\u8981\u5217\u51fa\u7279\u5b9a\u591a\u64ad\u7ec4\u5141\u8bb8\u5217\u8868\u4e2d\u7684\u6240\u6709\u8ba2\u9605\u8005\uff0c\u8bf7\u4f7f\u7528\uff1a

doublezero multicast group allowlist subscriber list --code <CODE>\n

\u793a\u4f8b\uff1a

doublezero multicast group allowlist subscriber list --code mg01\n

\u793a\u4f8b\u8f93\u51fa\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u6b64\u547d\u4ee4\u663e\u793a\u5f53\u524d\u5141\u8bb8\u8fde\u63a5\u5230\u6307\u5b9a\u7ec4\u7684\u6240\u6709\u8ba2\u9605\u8005\uff0c\u5305\u62ec\u5176\u8d26\u6237\u3001\u7ec4\u4ee3\u7801\u3001\u5ba2\u6237\u7aefIP\u548c\u7528\u6237\u4ed8\u6b3e\u4eba\u3002

\u6709\u5173\u8fde\u63a5\u548c\u4f7f\u7528\u591a\u64ad\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5176\u4ed6\u591a\u64ad\u8fde\u63a5\u3002

"},{"location":"zh/paying-fees/","title":"\u9a8c\u8bc1\u5668\u5b9a\u4ef7\u4e0e\u8d39\u7528","text":"

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.

\u4e3aSolana\u9a8c\u8bc1\u5668\u63d0\u4f9b\u7b80\u5355\u3001\u4e00\u81f4\u7684\u5b9a\u4ef7

\u8d39\u7528\u5c06\u4ece\u7b2c859\u4e2aepoch\u5f00\u59cb\u5f81\u6536\uff0c\u8be5epoch\u4ece\u7f8e\u56fd\u4e1c\u90e8\u65f6\u95f410\u67084\u65e5\uff08\u5468\u516d\uff09\u51cc\u66684\u70b9\u5f00\u59cb\u3002\u5bf9\u533a\u5757\u7b7e\u540d\u5956\u52b1\u548c\u4f18\u5148\u8d39\u7528\u6536\u53d6\u7edf\u4e005%\u7684\u8d39\u7528\u3002

\u8fd9\u4e9b\u8d39\u7528\u76f4\u63a5\u8d44\u52a9\u4f7fDoubleZero\u6210\u4e3a\u53ef\u80fd\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u5305\u62ec\u7269\u7406\u5149\u7ea4\u7ebf\u8def\u548c\u6570\u636e\u4e2d\u5fc3\u8bbe\u5907\u3002

\u6709\u5173\u8d39\u7528\u5b58\u5728\u539f\u56e0\u53ca\u9a8c\u8bc1\u5668\u5b9a\u4ef7\u6a21\u578b\u7684\u6df1\u5165\u63a2\u8ba8\uff0c\u8bf7\u53c2\u9605\u6b64\u5904\u3002

\u672c\u6307\u5357\u4ece\u6280\u672f\u89d2\u5ea6\u91cd\u70b9\u4ecb\u7ecd\u5982\u4f55\u652f\u4ed8\u8d39\u7528\u3002

"},{"location":"zh/paying-fees/#_2","title":"\u7ed3\u7b97\u6a21\u5f0f","text":""},{"location":"zh/paying-fees/#_3","title":"\u4f30\u7b97\u8d39\u7528","text":"

\u5386\u53f2\u4f30\u7b97\u548c\u6bcf\u4e2a\u516c\u94a5\u7684\u6570\u636e\u53ef\u5728\u8d39\u7528\u4f30\u7b97\u4ed3\u5e93\u4e2d\u83b7\u53d6\u3002\u8be5\u4ed3\u5e93\u4e0d\u66ff\u4ee3\u94fe\u4e0a\u6570\u636e\u3002\u60a8\u8d1f\u8d23\u94fe\u4e0a\u4f59\u989d\uff0c\u800c\u975e\u6b64\u4ed3\u5e93\u4e2d\u7684\u4f59\u989d\u3002

\u95ee\u9898\uff1f\u8bf7\u8054\u7cfbNihar Shah\uff1anihar@doublezero.us

"},{"location":"zh/paying-fees/#_4","title":"\u5f00\u53d1\u8005\u8be6\u60c5","text":""},{"location":"zh/paying-fees/#_5","title":"\u547d\u4ee4\u884c\u754c\u9762","text":"

DoubleZero CLI\u63d0\u4f9b\u547d\u4ee4\u6765\u7ba1\u7406\u9a8c\u8bc1\u5668\u5b58\u6b3e\u548c\u76d1\u63a7\u4f59\u989d\u3002 \u60a8\u9700\u8981\u5728\u8fd0\u884c\u8fd9\u4e9b\u547d\u4ee4\u7684\u8d26\u6237\u4e2d\u62e5\u6709SOL\u6765\u652f\u4ed8gas\u8d39\u7528\u3002

"},{"location":"zh/paying-fees/#1","title":"\u6b65\u9aa41\uff1a\u4e86\u89e3\u6b20\u6b3e","text":"

\u8981\u67e5\u770b\u7279\u5b9a\u5730\u5740\u7684\u503a\u52a1\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u683c\u5f0f\uff1a

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
\u6211\u4eec\u5c06\u5728\u4e0b\u9762\u68c0\u67e5\u793a\u4f8b\u8f93\u51fa\uff1a

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
\u5728\u793a\u4f8b\u8f93\u51fa\u4e2d\uff0cnote\u4e0b\u6709\u4e24\u79cd\u4e0d\u540c\u7684\u53ef\u80fd\u8f93\u51fa\u3002Not funded\u8868\u793a\u8d26\u6237\u5c1a\u672a\u8d44\u91d1\u5316\u3002\u5728\u793a\u4f8b\u4e2d\uff0c0.632515639 SOL needed\u662f\u4e0e\u76ee\u6807\u9a8c\u8bc1\u5668ID\u76f8\u5173\u7684\u6240\u6709\u5f53\u524d\u6b20\u6b3e\u6240\u9700\u7684\u672a\u507f\u8fd8SOL\u91d1\u989d\u3002

"},{"location":"zh/paying-fees/#2","title":"\u6b65\u9aa42\uff1a\u652f\u4ed8\u6b20\u6b3e","text":"

Note

\u60a8\u53ef\u4ee5\u5b89\u6392\u6b64\u547d\u4ee4\u5b9a\u671f\u8fd0\u884c\u3002

\u8981\u507f\u8fd8\u6b20\u6b3e\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u3002\u8fd9\u5c06\u81ea\u52a8\u4f7f\u7528$HOME/.config/solana/id.json\u4e2d\u7684\u9ed8\u8ba4\u5bc6\u94a5\u5bf9\u3002

\u60a8\u53ef\u4ee5\u901a\u8fc7\u5728\u547d\u4ee4\u672b\u5c3e\u6dfb\u52a0\u53c2\u6570-k path/to/keypair.json\u6765\u6307\u5b9a\u60a8\u8981\u7528\u4e8e\u652f\u4ed8\u503a\u52a1\u7684\u5bc6\u94a5\u5bf9\u3002

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
\u4ee5\u4e0b\u63d0\u4f9b\u793a\u4f8b\u8f93\u51fa

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: \u8fd4\u56de\u5df2\u8d44\u91d1\u5316\u7684\u5b58\u6b3e\u8d26\u6237

Funded: \u8fd4\u56de\u4ea4\u6613\u54c8\u5e0c\uff0c\u60a8\u53ef\u4ee5\u5728\u60a8\u559c\u6b22\u7684Solana\u6d4f\u89c8\u5668\u4e2d\u67e5\u8be2

Node ID: \u8fd4\u56de\u5df2\u652f\u4ed8\u7684\u9a8c\u8bc1\u5668ID

Balance: \u8fd4\u56de\u8f6c\u8d26\u5b8c\u6210\u540e\u5b58\u6b3e\u8d26\u6237\u4e2d\u7684SOL\u91d1\u989d

"},{"location":"zh/paying-fees2z/","title":"Paying fees2z","text":"

\u5728\u8bbf\u95ee\u6216\u4f7f\u7528\u4ee3\u7801\u6216\u76f8\u5173\u6750\u6599\u4e4b\u524d\uff0c\u8bf7\u67e5\u770b\u514d\u8d23\u58f0\u660e\u3002

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.

\u514d\u8d23\u58f0\u660e

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u4ec5\u4f9b\u4fe1\u606f\u548c\u6280\u672f\u76ee\u7684\u63d0\u4f9b\u3002\u672c\u6587\u4e2d\u63cf\u8ff0\u7684\u4ee3\u5e01\u8f6c\u6362\u529f\u80fd\u662f\u975e\u6258\u7ba1\u578b\u7684\u3002\u7528\u6237\u76f4\u63a5\u4e0e\u5e95\u5c42\u667a\u80fd\u5408\u7ea6\u4ea4\u4e92\uff0c\u59cb\u7ec8\u5b8c\u5168\u63a7\u5236\u81ea\u5df1\u7684\u8d44\u4ea7\u3002

\u8be5\u7cfb\u7edf\u53ef\u80fd\u4f9d\u8d56\u4e8e\u6216\u4e0e\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u672a\u5f00\u53d1\u3001\u7ba1\u7406\u6216\u5ba1\u67e5\u7684\u7b2c\u4e09\u65b9\u4ee3\u7801\u3001\u6570\u636e\u6e90\u6216\u4ef7\u683c\u548c\u8d39\u7528\u673a\u5236\uff08\u4f8b\u5982\u667a\u80fd\u5408\u7ea6\u3001API\u6216\u53bb\u4e2d\u5fc3\u5316\u4ea4\u6613\u6240\uff09\u4ea4\u4e92\u3002\u5bf9\u7b2c\u4e09\u65b9\u7ec4\u4ef6\u7684\u51c6\u786e\u6027\u3001\u529f\u80fd\u6216\u5b89\u5168\u6027\u4e0d\u4f5c\u4efb\u4f55\u58f0\u660e\u6216\u4fdd\u8bc1\u3002 \u672c\u4ee3\u7801\u7684\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4fdd\u8bc1\u5176\u51c6\u786e\u6027\u3001\u5b8c\u6574\u6027\u6216\u6301\u7eed\u53ef\u7528\u6027\u3002\u4ee3\u7801\u548c\u76f8\u5173\u6750\u6599\u6309\"\u539f\u6837\"\uff08AS IS\uff09\u63d0\u4f9b\uff0c\u53ef\u80fd\u5305\u542b\u9519\u8bef\u3001\u7f3a\u9677\u6216\u6f0f\u6d1e\u3002\u4f7f\u7528\u98ce\u9669\u81ea\u8d1f\u3002 \u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u4e0d\u4f1a\u56e0\u4f7f\u7528\u8fd9\u4e9b\u5408\u7ea6\u800c\u6536\u53d6\u4efb\u4f55\u8d39\u7528\u3002\u5bf9\u4ee3\u7801\u6216\u76f8\u5173\u6587\u6863\u6ca1\u6709\u7ef4\u62a4\u3001\u66f4\u65b0\u6216\u652f\u6301\u7684\u4e49\u52a1\u3002

\u672c\u6587\u4ef6\u4e0d\u662f\u5bf9\u53c2\u4e0e\u4ee3\u5e01\u8f6c\u6362\u3001\u5151\u6362\u6216\u5176\u4ed6\u4ea4\u6613\u7684\u63a8\u4ecb\u3001\u62db\u63fd\u6216\u5efa\u8bae\u3002\u4e0d\u63d0\u4f9b\u6cd5\u5f8b\u3001\u8d22\u52a1\u6216\u6295\u8d44\u5efa\u8bae\u3002 \u7528\u6237\u5355\u72ec\u8d1f\u8d23\u786e\u5b9a\u5176\u6d3b\u52a8\u7684\u5408\u6cd5\u6027\u3002\u5728\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u4e4b\u524d\uff0c\u5fc5\u987b\u67e5\u9605\u9002\u7528\u4e8e\u5176\u53f8\u6cd5\u7ba1\u8f96\u533a\u7684\u6cd5\u5f8b\u6cd5\u89c4\uff0c\u5e76\u54a8\u8be2\u72ec\u7acb\u987e\u95ee\u3002\u5728\u8fdd\u6cd5\u7684\u5730\u65b9\u4f7f\u7528\u662f\u88ab\u7981\u6b62\u7684\uff0c\u5305\u62ec\u53d7\u5236\u88c1\u7684\u4e2a\u4eba\u6216\u7ec4\u7ec7\u6216\u53d7\u9650\u5730\u533a\u7684\u4f7f\u7528\u3002

\u5728\u6cd5\u5f8b\u5141\u8bb8\u7684\u6700\u5927\u8303\u56f4\u5185\uff0c\u5f00\u53d1\u4eba\u5458\u548c\u53d1\u884c\u4eba\u5426\u8ba4\u56e0\u4f7f\u7528\u4ee3\u7801\u6216\u53c2\u4e0e\u8f6c\u6362\u800c\u5f15\u8d77\u7684\u6216\u4e0e\u4e4b\u76f8\u5173\u7684\u6240\u6709\u635f\u5931\u3001\u635f\u5bb3\u6216\u7d22\u8d54\u7684\u4efb\u4f55\u8d23\u4efb\u3002

\u672c\u6587\u6863\u53ca\u76f8\u5173\u4ee3\u7801\u7684\u5ba1\u67e5\u548c\u4f7f\u7528\u987b\u9075\u5b88\u7f51\u7ad9\u4f7f\u7528\u6761\u6b3e\u548c\u534f\u8bae\u4f7f\u7528\u6761\u6b3e\u3002

\u9a8c\u8bc1\u5668\u53ef\u4ee5\u901a\u8fc7\u94fe\u4e0a\u5151\u6362\u7a0b\u5e8f\u4ee52Z\u652f\u4ed8\u8d39\u7528\u3002\u901a\u8fc7\u5c062Z\u5151\u6362\u4e3aSOL\u6765\u6267\u884c\u5151\u6362\u3002\u5b58\u6b3e\u8d26\u6237\u7684SOL\u4f59\u989d\u4f1a\u6839\u636e\u5151\u6362\u60c5\u51b5\u66f4\u65b0\u3002

\u6b64\u8fc7\u7a0b\u59cb\u7ec8\u4f7f\u75281 SOL\u7684\u589e\u91cf\u3002\u6b64\u5151\u6362\u7684\u7ed3\u679c\u59cb\u7ec8\u76f4\u63a5\u5b58\u5165\u5b58\u6b3e\u8d26\u6237\u3002\u8fd9\u662f\u5355\u5411\u7684\uff0c\u60a8\u65e0\u6cd5\u4ece\u6b64\u4ea4\u6613\u4e2d\u53d6\u56de2Z\u6216SOL\u3002\u5b83\u88ab\u53d1\u9001\u5230\u94fe\u4e0a\u5206\u914d\u6a21\u5757\u3002

"},{"location":"zh/paying-fees2z/#1","title":"\u6b65\u9aa41","text":"

\u9996\u5148\u68c0\u67e5\u5f53\u524d\u8f6c\u6362\u6c47\u7387

doublezero-solana revenue-distribution fetch sol-conversion\n

\u8f93\u51fa\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"zh/paying-fees2z/#2","title":"\u6b65\u9aa42","text":"

\u63d0\u4ea4\u9650\u4ef7\u8ba2\u5355\u3002\u6b64\u5151\u6362\u7531\u60a8\u81ea\u884c\u627f\u62c5\u98ce\u9669\u3002\u6211\u4eec\u4e0d\u5efa\u8bae\u4efb\u4f55\u98ce\u9669\u504f\u597d\uff0c\u6b64\u5904\u63d0\u4f9b\u7684\u793a\u4f8b\u4ec5\u4f9b\u6559\u80b2\u76ee\u7684\u3002

"},{"location":"zh/paying-fees2z/#_1","title":"\u5982\u4f55\u6784\u5efa\u9650\u4ef7\u8ba2\u5355","text":"

\u57fa\u4e8e\u4e0a\u9762\u7684\u793a\u4f8b\uff0c\u6211\u4eec\u5c06\u63d0\u4ea4\u6bd4\u4f30\u8ba1\u4ef7\u683c\u9ad85%\u7684\u9650\u4ef7\u8ba2\u5355\u3002 797.76 * 1.05 = 837.65

\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u5047\u8bbe\u5b58\u6b3e\u8d26\u6237\u4e2d\u67090 SOL\u3002

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
\u4e0a\u9762\u547d\u4ee4\u4e2d\u7684--fund 1\u660e\u786e\u5411\u5b58\u6b3e\u8d26\u6237\u6ce8\u51651 SOL\u3002

\u9009\u62e91\u4ee5\u5916\u7684\u6570\u5b57\u5c06\u5bfc\u81f4\u9519\u8bef\uff0c\u5e76\u901a\u77e5\u60a8\u9519\u8bef\u7684\u91d1\u989d\uff1a

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

\u7cfb\u7edf\u5c06\u8981\u6c42\u60a8\u786e\u8ba4\u4ea4\u6613\uff1a

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

\u8f93\u51fa\uff1a

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
\u8bf7\u6ce8\u610f\uff0c\u5151\u6362\u6210\u529f\u540e\uff0cBalance:\u5c06\u66f4\u65b0\u4e3a1 SOL\u3002

\u5982\u679c\u4ef7\u683c\u8d85\u51fa\u6307\u5b9a\u8303\u56f4\uff0c\u5c06\u53d1\u751f\u4ee5\u4e0b\u7c7b\u578b\u7684\u9519\u8bef\uff1a

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"zh/quick-connect/","title":"\u5feb\u901f\u8fde\u63a5","text":"

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.

\u56de\u7b54\u51e0\u4e2a\u95ee\u9898\uff0c\u6211\u4eec\u5c06\u4e3a\u60a8\u7684\u8bbe\u7f6e\u751f\u6210\u5305\u542b\u786e\u5207\u6b65\u9aa4\u548c\u547d\u4ee4\u7684\u4e2a\u6027\u5316\u8fde\u63a5\u6307\u5357\u3002

\u7b80\u5316\u6307\u5357

\u672c\u5411\u5bfc\u63d0\u4f9b\u5b8c\u6574\u6587\u6863\u4e2d\u7684\u5173\u952e\u7247\u6bb5\uff0c\u5e2e\u52a9\u60a8\u5c3d\u5feb\u5b8c\u6210\u8fde\u63a5\u3002\u5b8c\u6574\u8be6\u60c5\u8bf7\u53c2\u9605\u8bbe\u7f6e\u548c\u79df\u6237\u6307\u5357\u3002

\u60a8\u8981\u8fde\u63a5\u54ea\u4e2a\u7f51\u7edc\uff1f \u4e3b\u7f51Beta \u9002\u7528\u4e8e\u6d3b\u8dc3\u9a8c\u8bc1\u5668\u548cRPC\u8fd0\u8425\u5546\u7684\u751f\u4ea7\u7f51\u7edc \u6d4b\u8bd5\u7f51 \u6d4b\u8bd5\u548c\u5f00\u53d1\u7f51\u7edc \u60a8\u7684\u670d\u52a1\u5668\u8fd0\u884c\u4ec0\u4e48\u64cd\u4f5c\u7cfb\u7edf\uff1f Ubuntu / Debian Ubuntu 22.04+ \u6216 Debian 11+ Rocky Linux / RHEL Rocky Linux \u6216 RHEL 9+ \u54ea\u4e2a\u751f\u6001\u7cfb\u7edf\uff1f Solana Solana\u4e0a\u7684\u9a8c\u8bc1\u5668\u548cRPC\u8fd0\u8425\u5546 Shelby Shelby\u4e0a\u7684RPC\u548c\u5b58\u50a8\u8282\u70b9\uff08\u4ec5\u9650\u6d4b\u8bd5\u7f51\uff09 \u65b0\u79df\u6237 \u5176\u4ed6\u751f\u6001\u7cfb\u7edf \u60a8\u4f7f\u7528\u54ea\u79cd\u9632\u706b\u5899\u5de5\u5177\uff1f iptables \u76f4\u63a5iptables\u89c4\u5219 UFW \u7b80\u5355\u9632\u706b\u5899 \u60a8\u8fd0\u884c\u4ec0\u4e48\u7c7b\u578b\u7684\u8282\u70b9\uff1f \u9a8c\u8bc1\u5668 \u5177\u6709\u8eab\u4efd\u5bc6\u94a5\u5bf9\u7684\u9886\u5bfc\u8005\u8c03\u5ea6Solana\u9a8c\u8bc1\u5668 \u975e\u9a8c\u8bc1\u5668\uff08RPC\uff09 RPC\u8282\u70b9\u6216MEV\u57fa\u7840\u8bbe\u65bd \u60a8\u9700\u8981\u4ec0\u4e48\u8fde\u63a5\u6a21\u5f0f\uff1f \u5355\u64ad\uff08IBRL\uff09 \u6807\u51c6\u70b9\u5bf9\u70b9\u8fde\u63a5 \u591a\u64ad \u4e00\u5bf9\u591a\u6570\u636e\u5305\u4f20\u9001\uff08\u53d1\u5e03\u8005/\u8ba2\u9605\u8005\uff09 \u4e24\u8005 \u540c\u65f6\u4f7f\u7528\u5355\u64ad\u548c\u591a\u64ad\u96a7\u9053 \u60a8\u7684\u591a\u64ad\u89d2\u8272\u662f\u4ec0\u4e48\uff1f \u53d1\u5e03\u8005 \u5411\u591a\u64ad\u7ec4\u53d1\u9001\u6570\u636e\uff08\u5982\u533a\u5757\u751f\u4ea7\u8005\uff09 \u8ba2\u9605\u8005 \u4ece\u591a\u64ad\u7ec4\u63a5\u6536\u6570\u636e"},{"location":"zh/setup/","title":"DoubleZero\u8bbe\u7f6e\u65b9\u6cd5","text":"

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.

\u672f\u8bed

\u521d\u6b21\u4f7f\u7528DoubleZero\uff1f\u8bf7\u5728\u8bcd\u6c47\u8868\u4e2d\u67e5\u770bdoublezerod\u3001IBRL\u3001DZD\u7b49\u672f\u8bed\u7684\u5b9a\u4e49\u3002

\u901a\u8fc7\u8fde\u63a5\u5230DoubleZero\uff0c\u60a8\u540c\u610fDoubleZero\u670d\u52a1\u6761\u6b3e

"},{"location":"zh/setup/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Warning

\u5bf9\u4e8e\u9a8c\u8bc1\u5668\uff1aDoubleZero\u5fc5\u987b\u76f4\u63a5\u5b89\u88c5\u5728\u9a8c\u8bc1\u5668\u4e3b\u673a\u4e0a\uff0c\u800c\u4e0d\u662f\u5bb9\u5668\u4e2d\u3002

"},{"location":"zh/setup/#doublezero_1","title":"\u8fde\u63a5\u5230DoubleZero","text":"

DoubleZero\u6d4b\u8bd5\u7f51\u548cDoubleZero\u4e3b\u7f51Beta\u662f\u7269\u7406\u4e0a\u4e0d\u540c\u7684\u7f51\u7edc\u3002\u5b89\u88c5\u65f6\u8bf7\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u3002

\u52a0\u5165DoubleZero\u65f6\uff0c\u60a8\u5c06\u5efa\u7acbDoubleZero\u8eab\u4efd\uff08\u79f0\u4e3aDoubleZero ID\u7684\u516c\u94a5\uff09\u3002\u6b64\u5bc6\u94a5\u662fDoubleZero\u8bc6\u522b\u60a8\u673a\u5668\u7684\u65b9\u5f0f\u4e4b\u4e00\u3002

"},{"location":"zh/setup/#1-doublezero","title":"1. \u5b89\u88c5DoubleZero\u8f6f\u4ef6\u5305","text":"

\u5f53\u524d\u7248\u672c

\u8f6f\u4ef6\u5305 \u4e3b\u7f51Beta \u6d4b\u8bd5\u7f51 doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

\u6839\u636e\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u6309\u7167\u4ee5\u4e0b\u8bf4\u660e\u64cd\u4f5c\uff1a

"},{"location":"zh/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

\u4e3b\u7f51Beta\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

\u6d4b\u8bd5\u7f51\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"zh/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

\u4e3b\u7f51Beta\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u6d4b\u8bd5\u7f51\u7684\u5f53\u524d\u63a8\u8350\u90e8\u7f72\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u4ec5\u9650\u73b0\u6709\u7528\u6237\uff1a\u5c06\u8f6f\u4ef6\u5305\u4ece\u6d4b\u8bd5\u7f51\u5207\u6362\u5230\u4e3b\u7f51Beta\uff0c\u6216\u4ece\u4e3b\u7f51Beta\u5207\u6362\u5230\u6d4b\u8bd5\u7f51

\u4ece\u4e0a\u8ff0\u8f6f\u4ef6\u5305\u4ed3\u5e93\u5b89\u88c5\u65f6\uff0cDoubleZero\u6d4b\u8bd5\u7f51\u6216DoubleZero\u4e3b\u7f51Beta\u5404\u6709\u5176\u4e13\u7528\u4ed3\u5e93\u3002\u5982\u679c\u60a8\u5728\u67d0\u4e2a\u65f6\u5019\u9700\u8981\u5207\u6362\u7f51\u7edc\uff0c\u5219\u9700\u8981\u5220\u9664\u4e4b\u524d\u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\u4ed3\u5e93\u5e76\u66f4\u65b0\u5230\u76ee\u6807\u4ed3\u5e93\u3002

\u6b64\u793a\u4f8b\u5c55\u793a\u4e86\u4ece\u6d4b\u8bd5\u7f51\u8fc1\u79fb\u5230\u4e3b\u7f51Beta\u7684\u8fc7\u7a0b\u3002

\u901a\u8fc7\u5c06\u6b65\u9aa43\u66ff\u6362\u4e3a\u4e0a\u8ff0\u6d4b\u8bd5\u7f51\u5b89\u88c5\u547d\u4ee4\uff0c\u4e5f\u53ef\u4ee5\u4ee5\u76f8\u540c\u6b65\u9aa4\u5b8c\u6210\u4ece\u4e3b\u7f51Beta\u5230\u6d4b\u8bd5\u7f51\u7684\u8fc1\u79fb\u3002

  1. \u627e\u5230\u65e7\u7684\u4ed3\u5e93\u6587\u4ef6

    \u9996\u5148\uff0c\u8bc6\u522b\u7cfb\u7edf\u4e0a\u73b0\u6709\u7684DoubleZero\u4ed3\u5e93\u914d\u7f6e\u6587\u4ef6\uff1a

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. \u5220\u9664\u65e7\u7684\u4ed3\u5e93\u6587\u4ef6

    \u5220\u9664\u4e0a\u4e00\u6b65\u4e2d\u627e\u5230\u7684\u65e7\u4ed3\u5e93\u6587\u4ef6\u3002\u4f8b\u5982\uff1a

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. \u4ece\u65b0\u4ed3\u5e93\u5b89\u88c5

    \u6dfb\u52a0\u65b0\u7684\u4e3b\u7f51Beta\u4ed3\u5e93\u5e76\u5b89\u88c5\u6700\u65b0\u8f6f\u4ef6\u5305\uff1a

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"zh/setup/#doublezerod","title":"\u68c0\u67e5doublezerod\u72b6\u6001","text":"

\u8f6f\u4ef6\u5305\u5b89\u88c5\u540e\uff0c\u5c06\u5b89\u88c5\u3001\u6fc0\u6d3b\u5e76\u542f\u52a8\u65b0\u7684systemd\u5355\u5143\u3002\u8981\u68c0\u67e5\u72b6\u6001\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a

sudo systemctl status doublezerod\n

"},{"location":"zh/setup/#grebgp","title":"GRE\u548cBGP\u7684\u9632\u706b\u5899\u914d\u7f6e","text":"

DoubleZero\u4f7f\u7528GRE\u96a7\u9053\uff08IP\u534f\u8bae47\uff09\u548cBGP\u8def\u7531\uff08\u94fe\u8def\u672c\u5730\u5730\u5740\u7684tcp/179\uff09\u3002\u8bf7\u786e\u4fdd\u60a8\u7684\u9632\u706b\u5899\u5141\u8bb8\u8fd9\u4e9b\u534f\u8bae\uff1a

\u7528iptables\u5141\u8bb8GRE\u548cBGP\uff1a

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

\u6216\u7528UFW\u5141\u8bb8GRE\u548cBGP\uff1a

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"zh/setup/#2-doublezero","title":"2. \u521b\u5efa\u65b0\u7684DoubleZero\u8eab\u4efd","text":"

\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5728\u670d\u52a1\u5668\u4e0a\u521b\u5efaDoubleZero\u8eab\u4efd\uff1a

doublezero keygen\n

Info

\u5982\u679c\u60a8\u6709\u60f3\u8981\u4f7f\u7528\u7684\u73b0\u6709ID\uff0c\u53ef\u4ee5\u6309\u7167\u4ee5\u4e0b\u53ef\u9009\u6b65\u9aa4\u64cd\u4f5c\u3002

\u521b\u5efadoublezerod\u914d\u7f6e\u76ee\u5f55

mkdir -p ~/.config/doublezero\n

\u5c06\u60a8\u60f3\u5728DoubleZero\u4e2d\u4f7f\u7528\u7684id.json\u590d\u5236\u6216\u94fe\u63a5\u5230doublezero\u914d\u7f6e\u76ee\u5f55\u3002

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"zh/setup/#3-doublezero","title":"3. \u83b7\u53d6\u670d\u52a1\u5668\u7684DoubleZero\u8eab\u4efd","text":"

\u786e\u8ba4\u60a8\u7684DoubleZero\u8eab\u4efd\u3002\u6b64\u8eab\u4efd\u7528\u4e8e\u5728\u60a8\u7684\u673a\u5668\u4e0eDoubleZero\u4e4b\u95f4\u521b\u5efa\u8fde\u63a5\u3002

doublezero address\n

\u8f93\u51fa\uff1a

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"zh/setup/#4-doublezeroddz","title":"4. \u786e\u8ba4doublezerod\u5df2\u68c0\u6d4b\u5230DZ\u8bbe\u5907","text":"

\u5728\u8fde\u63a5\u4e4b\u524d\uff0c\u786e\u8ba4doublezerod\u5df2\u68c0\u6d4b\u5e76ping\u4e86\u6bcf\u4e2a\u53ef\u7528\u7684DZ\u6d4b\u8bd5\u7f51\u4ea4\u6362\u673a\uff1a

doublezero latency\n

\u793a\u4f8b\u8f93\u51fa\uff1a

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

\u5982\u679c\u8f93\u51fa\u4e2d\u672a\u663e\u793a\u8bbe\u5907\uff0c\u8bf7\u7b49\u5f8510\u81f320\u79d2\u540e\u91cd\u8bd5\u3002

"},{"location":"zh/setup/#5-doublezero","title":"5. \u4eceDoubleZero\u65ad\u5f00\u8fde\u63a5","text":"

\u4e0b\u4e00\u8282\u5c06\u914d\u7f6eDoubleZero\u73af\u5883\u3002\u4e3a\u786e\u4fdd\u6210\u529f\uff0c\u8bf7\u65ad\u5f00\u5f53\u524d\u4f1a\u8bdd\u7684\u8fde\u63a5\u3002\u8fd9\u53ef\u4ee5\u907f\u514d\u673a\u5668\u4e0a\u6253\u5f00\u591a\u4e2a\u96a7\u9053\u7684\u95ee\u9898\u3002

\u786e\u8ba4

doublezero status\n

\u5982\u679c\u72b6\u6001\u4e3aup\uff0c\u8bf7\u8fd0\u884c\uff1a

doublezero disconnect\n
"},{"location":"zh/setup/#_2","title":"\u4e0b\u4e00\u6b65\uff1a\u79df\u6237","text":"

\u8fde\u63a5\u5230DoubleZero\u56e0\u4f7f\u7528\u573a\u666f\u800c\u5f02\u3002\u5728DoubleZero\u4e2d\uff0c\u79df\u6237\u662f\u5177\u6709\u76f8\u4f3c\u7528\u6237\u914d\u7f6e\u6587\u4ef6\u7684\u7fa4\u7ec4\u3002\u4f8b\u5982\uff1a\u533a\u5757\u94fe\u3001\u6570\u636e\u4f20\u8f93\u5c42\u7b49\u3002

"},{"location":"zh/setup/#_3","title":"\u5728\u6b64\u5904\u9009\u62e9\u79df\u6237\u5e76\u7ee7\u7eed","text":""},{"location":"zh/setup/#prometheus","title":"\u53ef\u9009\uff1a\u542f\u7528Prometheus\u6307\u6807","text":"

\u719f\u6089Prometheus\u6307\u6807\u7684\u8fd0\u8425\u5546\u53ef\u80fd\u5e0c\u671b\u4e3aDoubleZero\u76d1\u63a7\u542f\u7528\u5b83\u3002\u8fd9\u5c06\u4f7f\u60a8\u80fd\u591f\u4e86\u89e3DoubleZero\u5ba2\u6237\u7aef\u7684\u6027\u80fd\u3001\u8fde\u63a5\u72b6\u6001\u548c\u8fd0\u8425\u5065\u5eb7\u72b6\u51b5\u3002

"},{"location":"zh/setup/#_4","title":"\u53ef\u7528\u6307\u6807","text":"

DoubleZero\u516c\u5f00\u51e0\u4e2a\u5173\u952e\u6307\u6807\uff1a - \u6784\u5efa\u4fe1\u606f\uff1a\u7248\u672c\u3001\u63d0\u4ea4\u54c8\u5e0c\u3001\u6784\u5efa\u65e5\u671f - \u4f1a\u8bdd\u72b6\u6001\uff1aDoubleZero\u4f1a\u8bdd\u662f\u5426\u6d3b\u8dc3 - \u8fde\u63a5\u6307\u6807\uff1a\u5ef6\u8fdf\u548c\u8fde\u63a5\u4fe1\u606f - \u6027\u80fd\u6570\u636e\uff1a\u541e\u5410\u91cf\u548c\u9519\u8bef\u7387

"},{"location":"zh/setup/#prometheus_1","title":"\u542f\u7528Prometheus\u6307\u6807","text":"

\u8981\u5728DoubleZero\u5ba2\u6237\u7aef\u4e0a\u542f\u7528Prometheus\u6307\u6807\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a

"},{"location":"zh/setup/#1-doublezerod-systemd","title":"1. \u4fee\u6539doublezerod systemd\u670d\u52a1\u542f\u52a8\u547d\u4ee4","text":"

\u521b\u5efa\u6216\u7f16\u8f91systemd\u8986\u76d6\u914d\u7f6e\uff1a

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

\u66ff\u6362\u4e3a\u6b64\u914d\u7f6e\uff1a

-env\u6807\u5fd7\u5e94\u6839\u636e\u60a8\u60f3\u6536\u96c6\u6570\u636e\u7684\u7f51\u7edc\u6307\u5411testnet\u6216mainnet-beta\u3002\u793a\u4f8b\u5757\u4e2d\u4f7f\u7528\u4e86testnet\u3002\u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u66f4\u6539\u4e3amainnet-beta\u3002

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"zh/setup/#2","title":"2. \u91cd\u65b0\u52a0\u8f7d\u5e76\u91cd\u542f\u670d\u52a1","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"zh/setup/#3","title":"3. \u786e\u8ba4\u6307\u6807\u53ef\u7528","text":"

\u786e\u8ba4\u6307\u6807\u7aef\u70b9\u6b63\u5728\u54cd\u5e94\uff1a

curl -s localhost:2113/metrics | grep doublezero\n

\u9884\u671f\u8f93\u51fa\uff1a

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"zh/setup/#_5","title":"\u6545\u969c\u6392\u9664","text":"

\u5982\u679c\u6307\u6807\u672a\u663e\u793a\uff1a

  1. \u68c0\u67e5\u670d\u52a1\u72b6\u6001\uff1asudo systemctl status doublezerod
  2. \u9a8c\u8bc1\u914d\u7f6e\uff1asudo systemctl cat doublezerod
  3. \u68c0\u67e5\u65e5\u5fd7\uff1asudo journalctl -u doublezerod -f
  4. \u6d4b\u8bd5\u7aef\u70b9\uff1acurl -v localhost:2113/metrics
  5. \u68c0\u67e5\u7aef\u53e3\uff1anetstat -tlnp | grep 2113
"},{"location":"zh/setup/#prometheus_2","title":"\u914d\u7f6ePrometheus\u670d\u52a1\u5668","text":"

\u914d\u7f6e\u548c\u5b89\u5168\u6027\u8d85\u51fa\u672c\u6587\u6863\u7684\u8303\u56f4\u3002 Grafana\u662f\u53ef\u89c6\u5316\u7684\u4f18\u79c0\u9009\u9879\uff0cGrafana\u6587\u6863\u6b64\u5904\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u5982\u4f55\u6536\u96c6Prometheus\u6307\u6807\u3002

"},{"location":"zh/setup/#grafana","title":"Grafana\u4eea\u8868\u677f\uff08\u53ef\u9009\uff09","text":"

\u5bf9\u4e8e\u53ef\u89c6\u5316\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528DoubleZero\u6307\u6807\u521b\u5efaGrafana\u4eea\u8868\u677f\u3002\u5e38\u89c1\u9762\u677f\u5305\u62ec\uff1a - \u968f\u65f6\u95f4\u53d8\u5316\u7684\u4f1a\u8bdd\u72b6\u6001 - \u6784\u5efa\u4fe1\u606f - \u8fde\u63a5\u5ef6\u8fdf\u8d8b\u52bf - \u9519\u8bef\u7387\u76d1\u63a7

"},{"location":"zh/tenant/","title":"\u79df\u6237","text":"

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\u4e0a\u7684\u79df\u6237\u662f\u5177\u6709\u76f8\u4f3c\u914d\u7f6e\u548c\u8fde\u63a5\u9700\u6c42\u7684\u7528\u6237\u7fa4\u7ec4\uff0c\u901a\u5e38\u4ee3\u8868\u4e0d\u540c\u7684\u533a\u5757\u94fe\u751f\u6001\u7cfb\u7edf\u3001\u6570\u636e\u4f20\u8f93\u5c42\u6216\u5206\u5e03\u5f0f\u7cfb\u7edf\u3002

\u8bf7\u67e5\u770b\u4e0b\u8868\uff0c\u9009\u62e9\u6700\u80fd\u63cf\u8ff0\u60a8\u8ba1\u5212\u5982\u4f55\u4e0eDoubleZero\u7f51\u7edc\u4ea4\u4e92\u7684\u7528\u4f8b\u3002

Solana

\u7528\u4f8b \u4e0b\u4e00\u6b65 Solana\u4e3b\u7f51\u9a8c\u8bc1\u5668\uff0c\u5305\u62ec\u5907\u4efd DoubleZero\u4e3b\u7f51Beta\u8fde\u63a5 Solana\u6d4b\u8bd5\u7f51\u9a8c\u8bc1\u5668\uff0c\u5305\u62ec\u5907\u4efd DoubleZero\u6d4b\u8bd5\u7f51\u8fde\u63a5 \u975e\u9a8c\u8bc1\u5668 - RPC\u53ca\u5176\u4ed6 DoubleZero\u4e3b\u7f51Beta\u548c\u6d4b\u8bd5\u7f51\u8fde\u63a5

Shelby

\u7528\u4f8b \u4e0b\u4e00\u6b65 Shelby\u6d4b\u8bd5\u7f51RPC\u548c\u5b58\u50a8\u8282\u70b9 DoubleZero\u6d4b\u8bd5\u7f51\u8fde\u63a5

\u65b0\u79df\u6237

\u7528\u4f8b \u4e0b\u4e00\u6b65 \u60a8\u6709\u65b0\u534f\u8bae\u3001\u5e94\u7528\u7a0b\u5e8f\u6216\u5176\u4ed6\u7528\u4f8b\u5e0c\u671b\u5229\u7528DoubleZero \u6dfb\u52a0\u65b0\u79df\u6237"},{"location":"zh/troubleshooting/","title":"\u6545\u969c\u6392\u9664","text":"

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.

\u672c\u6307\u5357\u5c06\u6db5\u76d6\u5404\u79cd\u95ee\u9898\uff0c\u5e76\u6301\u7eed\u66f4\u65b0\u3002\u5982\u679c\u60a8\u5b8c\u6210\u4e86\u672c\u6307\u5357\u4ecd\u9700\u8fdb\u4e00\u6b65\u652f\u6301\uff0c\u53ef\u4ee5\u5728DoubleZero Tech Discord\u4e2d\u5bfb\u6c42\u5e2e\u52a9\u3002

"},{"location":"zh/troubleshooting/#_2","title":"\u5e38\u7528\u547d\u4ee4\u548c\u8f93\u51fa","text":"

\u9996\u5148\u68c0\u67e5\u4ee5\u4e0b\u547d\u4ee4\u7684\u8f93\u51fa\u53ca\u5176\u9884\u671f\u8f93\u51fa\u3002\u8fd9\u5c06\u5e2e\u52a9\u60a8\u8fdb\u884c\u66f4\u8be6\u7ec6\u7684\u6545\u969c\u6392\u9664\u3002 \u5982\u679c\u60a8\u63d0\u4ea4\u5de5\u5355\uff0c\u53ef\u80fd\u4f1a\u88ab\u8981\u6c42\u63d0\u4f9b\u8fd9\u4e9b\u8f93\u51fa\u3002

"},{"location":"zh/troubleshooting/#1","title":"1. \u68c0\u67e5\u7248\u672c","text":"

\u547d\u4ee4\uff1a

doublezero --version

\u793a\u4f8b\u8f93\u51fa\uff1a

DoubleZero 0.6.3\n

"},{"location":"zh/troubleshooting/#2-doublezero","title":"2. \u68c0\u67e5DoubleZero\u5730\u5740","text":"

\u547d\u4ee4\uff1a

doublezero address

\u793a\u4f8b\u8f93\u51fa\uff1a

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"zh/troubleshooting/#3","title":"3. \u9a8c\u8bc1\u60a8\u7684\u8bbf\u95ee\u901a\u884c\u8bc1","text":"

\u793a\u4f8b\u516c\u94a5\uff1aMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u8fd0\u884c\u547d\u4ee4\u65f6\u8bf7\u66ff\u6362\u4e3a\u60a8\u7684\u516c\u94a5\u3002

\u547d\u4ee4\uff1a

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

\u8f93\u51fa\uff1a[\u6ce8\u610f\u6211\u4eec\u4f7f\u7528doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'\u5728\u6b64\u8f93\u51fa\u4e2d\u663e\u793a\u6807\u9898]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"zh/troubleshooting/#4-doublezero","title":"4. \u68c0\u67e5DoubleZero\u8d26\u672c\u4f59\u989d","text":"

\u547d\u4ee4\uff1a

doublezero balance

\u793a\u4f8b\u8f93\u51fa\uff1a

0.78 Credits\n

"},{"location":"zh/troubleshooting/#5","title":"5. \u68c0\u67e5\u8fde\u63a5\u72b6\u6001","text":"

\u547d\u4ee4\uff1a

doublezero status

\u793a\u4f8b\u8f93\u51fa\uff1a

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"zh/troubleshooting/#6","title":"6. \u68c0\u67e5\u5ef6\u8fdf","text":"

\u547d\u4ee4\uff1a

doublezero latency

\u793a\u4f8b\u8f93\u51fa\uff1a

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"zh/troubleshooting/#_3","title":"\u6545\u969c\u6392\u9664\u793a\u4f8b","text":"

\u73b0\u5728\u6211\u4eec\u5df2\u68c0\u67e5\u4e86\u57fa\u672c\u8f93\u51fa\u53ca\u5065\u5eb7\u90e8\u7f72\u4e2d\u7684\u9884\u671f\u5185\u5bb9\uff0c\u53ef\u4ee5\u68c0\u67e5\u4e00\u4e9b\u5e38\u89c1\u7684\u6545\u969c\u6392\u9664\u793a\u4f8b\u3002

"},{"location":"zh/troubleshooting/#_4","title":"\u95ee\u9898\uff1a\u274c \u521b\u5efa\u7528\u6237\u65f6\u51fa\u9519","text":"

\u6b64\u95ee\u9898\u901a\u5e38\u4e0e\u9884\u671f\u7684\u516c\u94a5/IP\u914d\u5bf9\u4e0e\u7528\u6237\u5c1d\u8bd5\u8bbf\u95eeDoubleZero\u7684\u516c\u94a5/IP\u914d\u5bf9\u4e0d\u5339\u914d\u6709\u5173\u3002

\u75c7\u72b6\uff1a - \u4f7f\u7528doublezero connect ibrl\u8fde\u63a5\u65f6\uff0c\u7528\u6237\u9047\u5230\u274c Error creating user

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u68c0\u67e5

`doublezero address`\n\n\u793a\u4f8b\u8f93\u51fa\uff1a\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. \u9a8c\u8bc1\u6b64\u5730\u5740\u5df2\u88ab\u5217\u5165\u767d\u540d\u5355\uff1a

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    \u793a\u4f8b\u8f93\u51fa\uff1a

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    doublezero address\u7684\u516c\u94a5\u5fc5\u987b\u4e0euser_payer\u516c\u94a5\u5339\u914d\uff0c\u4e14\u60a8\u5c1d\u8bd5\u8fde\u63a5\u7684IP\u5730\u5740\u5fc5\u987b\u4e0e\u8bbf\u95ee\u901a\u884c\u8bc1\u4e2d\u7684ip\u5339\u914d\u3002 doublezero address\u6765\u6e90\u4e8e\u9ed8\u8ba4\u60c5\u51b5\u4e0b~/.config/doublezero/\u4e2d\u7684id.json\u6587\u4ef6\u3002\u8bf7\u53c2\u9605\u6b64\u5904\u7684\u6b65\u9aa46

  2. \u5982\u679c\u4e0a\u8ff0\u5185\u5bb9\u770b\u8d77\u6765\u6b63\u786e\u4f46\u60a8\u5728\u8fde\u63a5\u65f6\u9047\u5230\u9519\u8bef\uff0c\u6216\u8005\u5982\u679c\u4e0a\u8ff0\u6620\u5c04\u4e0d\u6b63\u786e\uff0c\u8bf7\u5728DoubleZero Tech\u8054\u7cfb\u652f\u6301

"},{"location":"zh/troubleshooting/#_5","title":"\u95ee\u9898\uff1a\u274c \u914d\u7f6e\u670d\u52a1\u65f6\u51fa\u9519\uff1a\u683c\u5f0f\u9519\u8bef\uff1a\u65e0\u6cd5\u540c\u65f6\u914d\u7f6e\u591a\u4e2a\u96a7\u9053","text":"

\u6b64\u9519\u8bef\u8868\u793a\u8bbe\u5907\u5df2\u8fde\u63a5\u5230DoubleZero\u3002

\u75c7\u72b6\uff1a - \u7528\u6237\u5c1d\u8bd5\u8fde\u63a5\u5230DoubleZero - \u9047\u5230\u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time\u3002

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u68c0\u67e5 doublezero status

\u8f93\u51fa\uff1a\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up\u8868\u793a\u8fde\u63a5\u6b63\u5e38\u3002
  2. \u51fa\u73b0\u6b64\u9519\u8bef\u662f\u56e0\u4e3a\u5177\u6709\u7279\u5b9aDoubleZero IP\u7684\u5230DoubleZero\u7684\u96a7\u9053\u5df2\u5728\u6b64\u673a\u5668\u4e0a\u5904\u4e8e\u6d3b\u8dc3\u72b6\u6001\u3002

    \u6b64\u9519\u8bef\u901a\u5e38\u5728DoubleZero\u5ba2\u6237\u7aef\u5347\u7ea7\u540e\u9047\u5230\u3002DoubleZero\u5347\u7ea7\u4f1a\u81ea\u52a8\u91cd\u542fdoublezerod\u670d\u52a1\uff0c\u5982\u679c\u60a8\u5728\u670d\u52a1\u91cd\u542f\u4e4b\u524d\u5df2\u8fde\u63a5\uff0c\u5c06\u4f1a\u91cd\u65b0\u8fde\u63a5\u60a8\u3002

"},{"location":"zh/troubleshooting/#doublezerounknowndown","title":"\u95ee\u9898\uff1aDoubleZero\u72b6\u6001\u4e3aunknown\u6216down","text":"

\u6b64\u95ee\u9898\u901a\u5e38\u4e0e\u670d\u52a1\u5668\u548cDoubleZero\u8bbe\u5907\u4e4b\u95f4\u7684GRE\u96a7\u9053\u5df2\u6210\u529f\u6fc0\u6d3b\uff0c\u4f46\u9632\u706b\u5899\u963b\u6b62BGP\u4f1a\u8bdd\u5efa\u7acb\u6709\u5173\u3002\u56e0\u6b64\uff0c\u60a8\u6ca1\u6709\u4ece\u7f51\u7edc\u63a5\u6536\u8def\u7531\u6216\u901a\u8fc7DoubleZero\u53d1\u9001\u6d41\u91cf\u3002

\u75c7\u72b6\uff1a - doublezero connect ibrl\u6210\u529f\u3002\u4f46\u662f\uff0cdoublezero status\u8fd4\u56dedown\u6216unknown

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u68c0\u67e5\u60a8\u7684\u9632\u706b\u5899\u89c4\u5219\uff01

DoubleZero\u4f7f\u7528\u94fe\u8def\u672c\u5730\u5730\u5740\u7a7a\u95f4\uff1a169.254.0.0/16\u7528\u4e8e\u60a8\u7684\u673a\u5668\u548cDoubleZero\u8bbe\u5907\u4e4b\u95f4\u7684GRE\u96a7\u9053\u63a5\u53e3\u3002169.254.0.0/16\u901a\u5e38\u662f\"\u4e0d\u53ef\u8def\u7531\"\u7684\u5730\u5740\u7a7a\u95f4\uff0c\u56e0\u6b64\u826f\u597d\u7684\u5b89\u5168\u5b9e\u8df5\u4f1a\u5efa\u8bae\u60a8\u963b\u6b62\u4e0e\u6b64\u5730\u5740\u7a7a\u95f4\u4e4b\u95f4\u7684\u901a\u4fe1\u3002\u60a8\u9700\u8981\u5728\u9632\u706b\u5899\u4e2d\u5141\u8bb8\u4e00\u6761\u89c4\u5219\uff0c\u4f7fsrc 169.254.0.0/16\u53ef\u4ee5\u4e0edst 169.254.0.0/16\u5728tcp\u7aef\u53e3179\u4e0a\u901a\u4fe1\u3002\u8be5\u89c4\u5219\u9700\u8981\u653e\u5728\u4efb\u4f55\u62d2\u7edd169.254.0.0/16\u6d41\u91cf\u7684\u89c4\u5219\u4e4b\u4e0a\u3002

\u5728ufw\u7b49\u9632\u706b\u5899\u4e2d\uff0c\u60a8\u53ef\u4ee5\u8fd0\u884c`sudo ufw status`\u67e5\u770b\u9632\u706b\u5899\u89c4\u5219\uff0c\u4ee5\u53ca\n\n\u793a\u4f8b\u8f93\u51fa\uff0c\u53ef\u80fd\u7c7b\u4f3c\u4e8eSolana\u9a8c\u8bc1\u5668\u4f1a\u6709\u7684\u5185\u5bb9\uff1a\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\n\u5728\u4e0a\u9762\u7684\u8f93\u51fa\u4e2d\uff0c\u60a8\u53ef\u4ee5\u770b\u5230\u9664\u4e86\u6307\u5b9a\u7aef\u53e3\u5916\uff0c\u6240\u6709\u5230169.254.0.0/16\u7684\u6d41\u91cf\u90fd\u88ab\u62d2\u7edd\u3002\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179`\u5c06\u89c4\u5219\u63d2\u5165\u5230<N>\u4f4d\u7f6e\u3002\u5373\u5982\u679cN=1\uff0c\u5219\u5c06\u6b64\u89c4\u5219\u63d2\u5165\u4e3a\u7b2c\u4e00\u6761\u89c4\u5219\u3002\n`sudo ufw status numbered`\u5c06\u663e\u793a\u89c4\u5219\u7684\u6570\u5b57\u6392\u5e8f\u3002\n
"},{"location":"zh/troubleshooting/#doublezero","title":"\u95ee\u9898\uff1a\u6700\u8fd1\u7684DoubleZero\u8bbe\u5907\u5df2\u66f4\u6539","text":"

\u8fd9\u4e0d\u662f\u4e00\u4e2a\u9519\u8bef\uff0c\u4f46\u53ef\u4ee5\u662f\u4e00\u79cd\u4f18\u5316\u3002\u4ee5\u4e0b\u662f\u53ef\u4ee5\u4e0d\u65f6\u8fd0\u884c\u6216\u81ea\u52a8\u5316\u7684\u6700\u4f73\u5b9e\u8df5\u3002

\u89e3\u51b3\u65b9\u6848\uff1a

  1. \u68c0\u67e5\u5230\u6700\u8fd1\u8bbe\u5907\u7684\u5ef6\u8fdf

    • \u8fd0\u884cdoublezero latency

      \u8f93\u51fa

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      \u6ce8\u610f\u4e0a\u9762\u6700\u8fd1\u7684\u8bbe\u5907\u662fdz-ny7-sw01

      \u6211\u4eec\u60f3\u8981\u8fde\u63a5\u5230\u6b64\u8bbe\u5907\u3002\uff1a

  2. \u786e\u5b9a\u60a8\u662f\u5426\u5df2\u8fde\u63a5\u5230\u76ee\u6807\u8bbe\u5907

    • \u8fd0\u884cdoublezero user list --env testnet | grep 111.11.11.11\uff0c\u5c06111.11.11.11\u66ff\u6362\u4e3a\u60a8\u5df2\u8fde\u63a5\u5230DoubleZero\u7684\u8bbe\u5907\u7684\u516c\u5171IPv4\u5730\u5740\u3002\u60a8\u4e5f\u53ef\u4ee5\u4f7f\u7528\u60a8\u7684\u9a8c\u8bc1\u5668ID\u6216DoubleZero ID\u3002

      \u8f93\u51fa

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      \u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u6211\u4eec\u5df2\u8fde\u63a5\u5230\u6700\u8fd1\u7684\u8bbe\u5907\u3002\u65e0\u9700\u66f4\u591a\u6b65\u9aa4\uff0c\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u91cc\u505c\u6b62\u3002

      \u8ba9\u6211\u4eec\u8003\u8651\u5982\u679c\u8f93\u51fa\u4e3a account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \u8fd9\u5c06\u662f\u4e00\u4e2a\u6b21\u4f18\u8fde\u63a5\u3002\u8ba9\u6211\u4eec\u8003\u8651\u662f\u5426\u9700\u8981\u91cd\u65b0\u8fde\u63a5\u3002

      \u5728\u8fde\u63a5\u4e4b\u524d\uff0c\u6211\u4eec\u5c06\u68c0\u67e5\u8bbe\u5907\u662f\u5426\u6709\u53ef\u7528\u7684\u7528\u6237\u96a7\u9053\u3002

  3. \u53ef\u9009\uff1a\u68c0\u67e5\u7f51\u7edc\u4e2d\u7684\u53ef\u7528\u8bbe\u5907

    \u51fa\u4e8e\u6559\u80b2\u76ee\u7684\uff0c\u6211\u4eec\u5c06\u9996\u5148\uff1a - \u8fd0\u884cdoublezero device list\u83b7\u53d6\u5b8c\u6574\u7684\u8bbe\u5907\u5217\u8868\u3002\u6211\u4eec\u4ee52\u4e2a\u8bbe\u5907\u4e3a\u4f8b\u6765\u89e3\u91ca\u8f93\u51fa\u3002

    \u8f93\u51fa\uff1a\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n```\n\u6ce8\u610f\u4e0a\u9762`ams001-dz002`\u670969\u4e2a\u7528\u6237\uff0c\u6700\u591a128\u4e2a\u7528\u6237\u3002\u6b64\u8bbe\u5907\u53ef\u4ee5\u518d\u589e\u52a059\u4e2a\u7528\u6237\u3002\n\n\u4f46\u662f\uff0c`dz-fr5-sw01`\u67090\u4e2a\u7528\u6237\uff0c0\u4e2a\u6700\u5927\u7528\u6237\u3002\u60a8\u5c06\u65e0\u6cd5\u8fde\u63a5\u5230\u6b64\u8bbe\u5907\u3002\u6700\u5927\u7528\u6237\u4e3a0\uff0c\u8bbe\u5907\u4e0d\u63a5\u53d7\u4efb\u4f55\u8fde\u63a5\u3002\n\n\u73b0\u5728\u8ba9\u6211\u4eec\u56de\u5230\u8fde\u63a5\u5230\u6700\u8fd1\u7684\u8bbe\u5907\u3002\n
  4. \u786e\u5b9a\u76ee\u6807\u8bbe\u5907\u662f\u5426\u6709\u53ef\u7528\u8fde\u63a5

    • \u8fd0\u884cdoublezero device list | grep dz-ny7-sw01\uff0c\u5c06dz-ny7-sw01\u66ff\u6362\u4e3a\u60a8\u7684\u76ee\u6807\u8bbe\u5907

      \u8f93\u51fa

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      \u8fd9\u91cc\u6211\u4eec\u53ef\u4ee5\u770b\u5230dz-ny7-sw01\u6709\u53ef\u7528\u7684\u8fde\u63a5\u7a7a\u95f4\u3002

  5. \u8fde\u63a5\u5230\u6700\u8fd1\u7684DoubleZero\u8bbe\u5907

    \u6211\u4eec\u5c06\u65ad\u5f00\u8fde\u63a5\uff0c\u7136\u540e\u91cd\u65b0\u8fde\u63a5\u5230doublezero\u3002

    \u9996\u5148\u8fd0\u884c - doublezero disconnect

    \u8f93\u51fa

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    \u73b0\u5728\u6211\u4eec\u7528\u4ee5\u4e0b\u547d\u4ee4\u68c0\u67e5\u72b6\u6001\u4ee5\u786e\u8ba4\u65ad\u5f00\u8fde\u63a5 - doublezero status

    \u8f93\u51fa

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type\ndisconnected  | no session data     |             |            |            |               |\n
    \u6700\u540e\u6211\u4eec\u5c06\u91cd\u65b0\u8fde\u63a5 - doublezero connect ibrl

    \u8f93\u51fa

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    \u6ce8\u610f\u4e0a\u9762\u7684\u8f93\u51fa\u4e2d\u6211\u4eecConnected to device: dz-ny7-sw01\uff0c\u8fd9\u662f\u6211\u4eec\u5728\u6b65\u9aa41\u521d\u59cb\u8c03\u67e5\u4e2d\u53d1\u73b0dz-ny7-sw01\u662f\u5ef6\u8fdf\u6700\u4f4e\u8bbe\u5907\u7684\u671f\u671b\u7ed3\u679c\u3002

"},{"location":"zh/troubleshooting/#doublezero-statusna","title":"\u95ee\u9898\uff1adoublezero status\u8fd4\u56de\u67d0\u4e9b\u5b57\u6bb5\u4e3aN/A","text":"

\u6b64\u95ee\u9898\u901a\u5e38\u4e0e\u5f53\u524d\u5b88\u62a4\u7a0b\u5e8f\u548c\u5ba2\u6237\u7aef\u4e0e\u5efa\u7acb\u5df2\u8fde\u63a5DZ\u96a7\u9053\u65f6\u7684\u5b88\u62a4\u7a0b\u5e8f\u548c\u5ba2\u6237\u7aef\u4e0d\u5339\u914d\u6709\u5173\u3002

\u75c7\u72b6\uff1a - \u8fd0\u884cdoublezero status\u65f6\uff0c\u7528\u6237\u5728\u67d0\u4e9b\u5b57\u6bb5\u4e2d\u9047\u5230N/A

\u89e3\u51b3\u65b9\u6848\uff1a 1. \u8fd0\u884c doublezero status

\u793a\u4f8b\uff1a\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\n\u6ce8\u610f\u5728\u4e0a\u9762\u7684\u793a\u4f8b\u8f93\u51fa\u4e2d\uff0c`Tunnel status`\u4e3a`up`\u3002\u6211\u4eec\u7684`Network`\u662f`mainnet-beta`\u3002\u4f46\u662f\uff0c`Current Device`\u548c`Metro`\u662f`N/A`\u3002\n\n\u8fd9\u8868\u660e\u60a8\u7684\u673a\u5668\u4e0a\u6709\u4e00\u4e2a\u5f00\u653e\u96a7\u9053\uff0c\u5b83\u4e0d\u5728\u60a8\u5f53\u524d\u7684\u73af\u5883\u4e2d\u3002\n\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5728`mainnet-beta`\u4e0a\u627e\u4e0d\u5230`Current Device`\u7684`up`\u72b6\u6001\u544a\u8bc9\u6211\u4eec\u6211\u4eec\u7684\u96a7\u9053\u5728\u6d4b\u8bd5\u7f51\u4e0a\uff01\n
  1. \u66f4\u6539\u60a8\u7684\u73af\u5883\u3002

    \u4e3a\u4e86\u7ea0\u6b63\u4e0d\u5339\u914d\uff0c\u60a8\u5c06\u628a\u73af\u5883\u66f4\u6539\u4e3a\u8fd4\u56deN/A\u7684\u76f8\u53cd\u73af\u5883\u3002

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    \u8981\u914d\u7f6eDoubleZero\u5ba2\u6237\u7aefCLI\uff08doublezero\uff09\u548c\u5b88\u62a4\u7a0b\u5e8f\uff08doublezerod\uff09\u8fde\u63a5\u5230DoubleZero\u4e3b\u7f51Beta\uff1a

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. \u68c0\u67e5\u60a8\u7684\u72b6\u6001

    \u5207\u6362\u73af\u5883\u540e\u8fd0\u884c\uff1a

    doublezero status\n

    \u9884\u671f\u8f93\u51fa\u5e94\u7c7b\u4f3c\u4e8e\uff1a

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    \u6240\u6709\u5b57\u6bb5\u90fd\u5df2\u586b\u5145\uff0c\u60a8\u73b0\u5728\u5904\u4e8e\u6b63\u786e\u7684\u73af\u5883\u4e2d\u3002

"},{"location":"ja/","title":"DoubleZero\u3078\u3088\u3046\u3053\u305d","text":"

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\u306f\u3001\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306e\u3088\u3046\u306a\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u5411\u3051\u306b\u6700\u9069\u5316\u3055\u308c\u305f\u3001\u9ad8\u6027\u80fd\u306a\u5206\u6563\u578b\u30d7\u30ed\u30c8\u30b3\u30eb\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u3059\u3002DoubleZero\u306e\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u30c7\u30fc\u30bf\u306e\u9ad8\u5ea6\u306b\u6700\u9069\u5316\u3055\u308c\u305f\u9001\u4fe1\u3068\u524d\u51e6\u7406\u306e\u305f\u3081\u306e\u7d71\u5408\u30b5\u30fc\u30d3\u30b9\u3092\u4eab\u53d7\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/#doublezero_1","title":"DoubleZero\u306e\u5bfe\u8c61\u8005","text":""},{"location":"ja/#_1","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

DoubleZero\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u672a\u6d3b\u7528\u306e\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30d5\u30a1\u30a4\u30d0\u30fc\u30ea\u30f3\u30af\u3068\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\uff08\u30b9\u30a4\u30c3\u30c1\u3084FPGA\u30c7\u30d0\u30a4\u30b9\u306a\u3069\uff09\u3068\u3044\u3046\u5f62\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5bb9\u91cf\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u69cb\u6210\u3057\u3066DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u62e1\u5f35\u3059\u308b\u3053\u3068\u3067\u3001\u7d71\u5408\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002DZ\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3053\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5bb9\u91cf\u3092\u52d5\u7684\u3067\u5e83\u5927\u306a\u30b0\u30ed\u30fc\u30d0\u30eb\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u7d44\u307f\u8fbc\u307f\u3001\u8ca2\u732e\u306b\u5bfe\u3057\u3066\u30c8\u30fc\u30af\u30f3\u30a4\u30f3\u30bb\u30f3\u30c6\u30a3\u30d6\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002

"},{"location":"ja/#_2","title":"\u30e6\u30fc\u30b6\u30fc","text":"

DoubleZero\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u9ad8\u6027\u80fd\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u63a5\u7d9a\u3092\u5fc5\u8981\u3068\u3059\u308b\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306a\u3069\u306e\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u306b\u53c2\u52a0\u3057\u3066\u3044\u307e\u3059\u3002DoubleZero\u3068\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30b7\u30b9\u30c6\u30e0\u3092\u76f8\u4e92\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30afI/O\u3092\u52a0\u901f\u3059\u308b\u305f\u3081\u306e\u6700\u9069\u5316\u6a5f\u80fd\u306e\u30d0\u30f3\u30c9\u30eb\u3092\u7372\u5f97\u3057\u307e\u3059\u3002

\u521d\u671f\u5b9f\u88c5\u3067\u306f\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3001RPC\u304a\u3088\u3073MEV\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30e6\u30fc\u30b6\u30fc\u30b7\u30b9\u30c6\u30e0\u306f\u3001\u305d\u308c\u305e\u308c\u306e\u30ec\u30b8\u30e3\u30fc\u4e0a\u306e\u56fa\u6709\u306e\u8b58\u5225\u516c\u958b\u9375\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308b\u524d\u306b\u5165\u5834\u5236\u5fa1\u3092\u53d7\u3051\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u4ed6\u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u304b\u3089\u306e\u30e6\u30fc\u30b6\u30fc\u30b7\u30b9\u30c6\u30e0\u3092\u542b\u3080\u3088\u3046\u9032\u5316\u3059\u308b\u306b\u3064\u308c\u3066\u3001\u5404\u30e6\u30fc\u30b6\u30fc\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u5408\u308f\u305b\u305f\u8ffd\u52a0\u306e\u8b58\u5225\u304a\u3088\u3073\u8a8d\u8a3c\u6226\u7565\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/#_3","title":"\u30e1\u30ea\u30c3\u30c8","text":"

DoubleZero\u306e\u552f\u4e00\u306e\u4ee3\u66ff\u624b\u6bb5\u306f\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3067\u3059\u3002\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3068\u6bd4\u8f03\u3057\u3066\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306b2\u3064\u306e\u6539\u5584\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

\u7b2c\u4e00\u306b\u3001\u53d7\u4fe1\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306fDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30e6\u30fc\u30b6\u30fc\uff08\u4f8b\uff1a\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30ce\u30fc\u30c9\uff09\u306b\u9001\u4fe1\u3055\u308c\u308b\u524d\u306b\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30ec\u30d9\u30eb\u3067\u975e\u88c1\u91cf\u7684\u306a\u65b9\u6cd5\u3067\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\uff08\u30b9\u30d1\u30e0\u3068\u91cd\u8907\u306e\u9664\u53bb\uff09\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u5404\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u5341\u5206\u306a\u30ea\u30bd\u30fc\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u304c\u30b7\u30b9\u30c6\u30e0\u5168\u4f53\u306e\u5171\u6709\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u30ea\u30bd\u30fc\u30b9\u304b\u3089\u6069\u6075\u3092\u53d7\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u7d50\u679c\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u30ea\u30bd\u30fc\u30b9\u3092\u76f4\u63a5\u53ce\u76ca\u3092\u751f\u307f\u51fa\u3059\u6d3b\u52d5\u306b\u518d\u914d\u5206\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u6a5f\u80fd\u306f\u307e\u3060\u6a5f\u80fd\u3057\u3066\u3044\u307e\u305b\u3093\u3002

\u7b2c\u4e8c\u306b\u3001\u9001\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u3088\u308a\u76f4\u63a5\u7684\u306b\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3055\u308c\u3001\u52b9\u7387\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306b\u512a\u5148\u9806\u4f4d\u304c\u4ed8\u3051\u3089\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u3001DoubleZero\u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u30c7\u30fc\u30bf\u79fb\u52d5\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30ed\u30b8\u30c3\u30af\u304c\u901f\u5ea6\u306e\u305f\u3081\u306b\u6700\u9069\u5316\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3067\u3001\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3068\u306f\u7570\u306a\u308a\u307e\u3059\u3002\u3057\u305f\u304c\u3063\u3066\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f2\u3064\u306e\u30c7\u30fc\u30bf\u30b1\u30fc\u30d6\u30eb\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u9593\u306e\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u5909\u52d5\u91cf\u3068\u3057\u3066\u5b9a\u7fa9\u3055\u308c\u308b\u30b8\u30c3\u30bf\u30fc\u306e\u4f4e\u6e1b\u304b\u3089\u6069\u6075\u3092\u53d7\u3051\u307e\u3059\u3002\u672c\u8cea\u7684\u306b\u3001\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30ce\u30fc\u30c9\u306f\u3088\u308a\u901f\u304f\u30d6\u30ed\u30c3\u30af\u3092\u9001\u53d7\u4fe1\u3067\u304d\u307e\u3059\u3002

\u3053\u308c\u3089\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30e1\u30ea\u30c3\u30c8\u3092\u5408\u308f\u305b\u308b\u3068\u3001\u516c\u5171\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3067\u306f\u9054\u6210\u3067\u304d\u306a\u3044\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30ec\u30d9\u30eb\u3092\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002

\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001DoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u30db\u30ef\u30a4\u30c8\u30da\u30fc\u30d1\u30fc\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/#_4","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7","text":""},{"location":"ja/DZ%20Mainnet-beta%20Connection/","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#ibrl_1","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u63a5\u7d9a","text":"

Note

IBRL\u30e2\u30fc\u30c9\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u518d\u8d77\u52d5\u304c\u4e0d\u8981\u3067\u3059\u3002

Solana\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306fDoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3053\u306e\u30da\u30fc\u30b8\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u5404Solana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306b\u306f\u72ec\u81ea\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u30da\u30a2\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u3053\u304b\u3089\u30ce\u30fc\u30c9ID\u3068\u3057\u3066\u77e5\u3089\u308c\u308b\u516c\u958b\u9375\u3092\u62bd\u51fa\u3057\u307e\u3059\u3002\u3053\u308c\u306fSolana\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u4e00\u610f\u306e\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8\u3067\u3059\u3002

DoubleZeroID\u3068\u30ce\u30fc\u30c9ID\u304c\u7279\u5b9a\u3055\u308c\u308b\u3068\u3001\u30de\u30b7\u30f3\u306e\u6240\u6709\u6a29\u3092\u8a3c\u660e\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001DoubleZeroID\u3092\u542b\u3080\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u3067\u7f72\u540d\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u884c\u308f\u308c\u307e\u3059\u3002\u751f\u6210\u3055\u308c\u305f\u6697\u53f7\u7f72\u540d\u306f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5236\u5fa1\u3057\u3066\u3044\u308b\u3053\u3068\u306e\u691c\u8a3c\u53ef\u80fd\u306a\u8a3c\u660e\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002

\u6700\u5f8c\u306b\u3001DoubleZero\u3078\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u300c\u3053\u3061\u3089\u304c\u79c1\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3001\u3053\u3061\u3089\u304c\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3001\u305d\u3057\u3066\u3053\u3061\u3089\u304c\u63a5\u7d9a\u65b9\u6cd5\u3067\u3059\u3002\u300d\u3068\u3044\u3046\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u4f1d\u3048\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u60c5\u5831\u3092\u691c\u8a3c\u3057\u3001\u8a3c\u660e\u3092\u53d7\u3051\u5165\u308c\u3001DoubleZero\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30af\u30bb\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3057\u307e\u3059\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u30011\u53f0\u306e\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u81ea\u8eab\u3092\u767b\u9332\u3057\u3001\u540c\u6642\u306b\u6700\u59273\u53f0\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7/\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u30de\u30b7\u30f3\u3092\u767b\u9332\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u306fSolana\u30b4\u30b7\u30c3\u30d7\u306b\u5bfe\u3057\u3066\u78ba\u8a8d\u3055\u308c\u3001\u30bf\u30fc\u30b2\u30c3\u30c8IP\u304c\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002\u30bf\u30fc\u30b2\u30c3\u30c8IP\u3068DoubleZero ID\u306f\u3001\u30de\u30b7\u30f3\u3068\u30bf\u30fc\u30b2\u30c3\u30c8DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u306eGRE\u30c8\u30f3\u30cd\u30eb\u3092\u958b\u304f\u969b\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

\u6ce8\u610f\uff1a\u540c\u3058IP\u306b\u30b8\u30e3\u30f3\u30afID\u3068\u30d7\u30e9\u30a4\u30de\u30eaID\u304c\u3042\u308b\u5834\u5408\u3001\u30de\u30b7\u30f3\u306e\u767b\u9332\u306b\u306f\u30d7\u30e9\u30a4\u30de\u30eaID\u306e\u307f\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u30b8\u30e3\u30f3\u30afID\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u8868\u793a\u3055\u308c\u305a\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30de\u30b7\u30f3\u306eIP\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u306a\u3044\u305f\u3081\u3067\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a \u2705 doublezerod configured for environment mainnet-beta

\u7d0430\u79d2\u5f8c\u306b\u5229\u7528\u53ef\u80fd\u306aDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

doublezero latency\n
\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306e\u51fa\u529b\u4f8b\uff1a
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u306f\u69cb\u9020\u304c\u540c\u3058\u3067\u3059\u304c\u3001\u30c7\u30d0\u30a4\u30b9\u6570\u304c\u5c11\u306a\u304f\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#2-44880","title":"2. \u30dd\u30fc\u30c844880\u3092\u958b\u304f","text":"

\u4e00\u90e8\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u6a5f\u80fd\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u306b\u306f\u3001\u4f8b\u3048\u3070\u6b21\u306e\u3088\u3046\u306bIP\u30c6\u30fc\u30d6\u30eb\u3092\u66f4\u65b0\u3067\u304d\u307e\u3059\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308b-i doublezero0\u3001-o doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u307e\u305f\u306fUFW\u306e\u5834\u5408\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308bin on doublezero0\u3001out on doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#3","title":"3. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e","text":"

DoubleZero\u74b0\u5883\u304c\u8a2d\u5b9a\u3055\u308c\u305f\u306e\u3067\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3092\u884c\u3044\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u4f5c\u6210\u3057\u305fDoubleZero ID\u3092\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30de\u30b7\u30f3\u306eID\u306fdoublezero address\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u540c\u3058ID\u304c\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u3059\u3079\u3066\u306e\u30de\u30b7\u30f3\u306e~/.config/doublezero/id.json\u306b\u5fc5\u8981\u3067\u3059\u3002

\u3053\u308c\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306b\u3001\u307e\u305a\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u304c\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3067\u3042\u308b\u3053\u3068\u3092\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u3053\u308c\u306b\u3088\u308a\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u767b\u9332\u3055\u308c\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u8868\u793a\u3055\u308c\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u540c\u3058\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u304c1\u53f0\u3067\u3082\u8907\u6570\u53f0\u306e\u30de\u30b7\u30f3\u3067\u3082\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 1\u53f0\u306e\u30de\u30b7\u30f3\u3092\u767b\u9332\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30da\u30fc\u30b8\u306e\u30b3\u30de\u30f3\u30c9\u304b\u3089\"--backup-validator-ids\"\u307e\u305f\u306f\"backup_ids=\"\u5f15\u6570\u3092\u9664\u5916\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5b9f\u884c\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4ee5\u4e0b\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -u mainnet-beta\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u3053\u306e\u51fa\u529b\u306f\u6b63\u5e38\u3067\u3059\u3002\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u306f\u30d1\u30b9\u4f5c\u6210\u6642\u306b\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6295\u7968\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f7f\u7528\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#_2","title":"\u63a5\u7d9a\u306e\u6e96\u5099","text":"

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u306eSolana\u30b4\u30b7\u30c3\u30d7\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u3092\u6301\u3064\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b9\u30c6\u30fc\u30af\u304c\u3042\u308a\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u30de\u30b7\u30f3\u3067\u3059\uff1a

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

\u51fa\u529b\u4f8b\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306e\u6700\u5f8c\u306e\u51fa\u529b\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u69cb\u9020\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#4","title":"4. \u7f72\u540d\u306e\u751f\u6210","text":"

\u524d\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u6700\u5f8c\u306b\u3001solana sign-offchain-message\u306e\u305f\u3081\u306e\u4e8b\u524d\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u51fa\u529b\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f\u3002

\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

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

\u51fa\u529b\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#5-doublezero","title":"5. DoubleZero\u3067\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u958b\u59cb","text":"

request-validator-access\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u305f\u3081\u306bSolana\u4e0a\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002DoubleZero Sentinel\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u65b0\u3057\u3044\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u691c\u51fa\u3057\u3001\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3068\u7f72\u540d\u3092\u691c\u8a3c\u3057\u3001\u30b5\u30fc\u30d0\u30fc\u304c\u63a5\u7d9a\u3092\u78ba\u7acb\u3067\u304d\u308b\u3088\u3046\u306bDoubleZero\u306b\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002

\u30ce\u30fc\u30c9ID\u3001DoubleZeroID\u3001\u7f72\u540d\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

Note

\u3053\u306e\u4f8b\u3067\u306f-k /home/user/.config/solana/id.json\u3092\u4f7f\u7528\u3057\u3066\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u898b\u3064\u3051\u307e\u3059\u3002\u30ed\u30fc\u30ab\u30eb\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u9069\u5207\u306a\u5834\u6240\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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

\u51fa\u529b\uff1a

\u3053\u306e\u51fa\u529b\u306fSolana\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3067\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3092\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u306b\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u5fd8\u308c\u305a\u306b\u3002\u3053\u306e\u78ba\u8a8d\u306f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u6210\u529f\u3057\u305f\u5834\u5408\u3001DoubleZero\u306f\u30d7\u30e9\u30a4\u30de\u30ea\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3068\u3068\u3082\u306b\u767b\u9332\u3057\u307e\u3059\u3002\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306b\u767b\u9332\u3055\u308c\u305fIP\u306e\u9593\u3067\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u3088\u3046\u306b\u767b\u9332\u3055\u308c\u305f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u3078\u306e\u5207\u308a\u66ff\u3048\u6642\u306b\u63a5\u7d9a\u3092\u81ea\u52d5\u7684\u306b\u7dad\u6301\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#6-ibrl","title":"6. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Note

\u3053\u306e\u51fa\u529b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002Tunnel src\u3068DoubleZero IP\u304c\u30de\u30b7\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30afIPv4\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3057\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/DZ%20Mainnet-beta%20Connection/#_3","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306b\u3088\u308b\u30b7\u30e5\u30ec\u30c3\u30c9\u306e\u516c\u958b","text":"

\u3053\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u5b8c\u4e86\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3067\u30b7\u30e5\u30ec\u30c3\u30c9\u3092\u516c\u958b\u3059\u308b\u4e88\u5b9a\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u30da\u30fc\u30b8\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

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\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001\u3053\u3061\u3089\u306b\u8a18\u8f09\u306e\u8a55\u4fa1\u5951\u7d04\u306e\u6761\u4ef6\u306b\u540c\u610f\u3057\u307e\u3059\uff08\u30af\u30ea\u30c3\u30af\u3057\u3066\u5c55\u958b\uff09

DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8 \u8a55\u4fa1\u5951\u7d04

\u672c\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\uff08\u4ee5\u4e0b\u306b\u5b9a\u7fa9\uff09\u3078\u306e\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u306b\u3088\u308a\u3001\u5f53\u8a72\u30a2\u30af\u30bb\u30b9\u306e\u6700\u521d\u306e\u65e5\u4ed8\u6642\u70b9\uff08\u300c\u767a\u52b9\u65e5\u300d\uff09\u3067\u3001\u3053\u306e\u8a55\u4fa1\u5951\u7d04\uff08\u300c\u672c\u5951\u7d04\u300d\uff09\u304c\u3001DoubleZero Foundation\uff08\u300cDZF\u300d\uff09\u304c\u8a55\u4fa1\u30d9\u30fc\u30b9\u3067\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u6761\u4ef6\u3092\u5b9a\u3081\u308b\u3053\u3068\u306b\u540c\u610f\u3059\u308b\u3082\u306e\u3068\u3057\u307e\u3059\u3002\u672c\u5951\u7d04\u4e2d\u306e\u76f8\u4e92\u306e\u7d04\u675f\u3092\u7d04\u56e0\u3068\u3057\u3066\u3001\u4ee5\u4e0b\u306b\u540c\u610f\u3057\u307e\u3059\uff1a

1. \u5b9a\u7fa9\u3002

1.1\u300c\u6a5f\u5bc6\u60c5\u5831\u300d\u3068\u306f\u3001\u4e00\u65b9\u306e\u5f53\u4e8b\u8005\u304c\u4ed6\u65b9\u306b\u958b\u793a\u3057\u305f\u60c5\u5831\u3067\u3001\u6a5f\u5bc6\u3068\u3057\u3066\u6307\u5b9a\u3055\u308c\u305f\u3082\u306e\u3001\u307e\u305f\u306f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3001\u88fd\u54c1\u8a08\u753b\u3001\u4e8b\u696d\u8a08\u753b\u3001\u4f01\u696d\u79d8\u5bc6\u3001\u6280\u8853\u3001\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u72ec\u81ea\u60c5\u5831\u3092\u542b\u3080\u304c\u3053\u308c\u3089\u306b\u9650\u5b9a\u3055\u308c\u306a\u3044\u3001\u6a5f\u5bc6\u3067\u3042\u308b\u3068\u7406\u89e3\u3055\u308c\u308b\u3079\u304d\u3059\u3079\u3066\u306e\u60c5\u5831\u3092\u610f\u5473\u3057\u307e\u3059\u3002

1.2\u300c\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u300d\u3068\u306f\u3001web3\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5411\u3051DoubleZero\u9ad8\u6027\u80fd\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u7248\uff08\u300c\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u300d\uff09\u304a\u3088\u3073\u7d71\u5408\u5e2f\u57df\u5e45\u3092\u6301\u3064\u95a2\u9023\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\uff08\u300c\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u300d\uff09\u3001DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\uff08\u4ee5\u4e0b\u306b\u5b9a\u7fa9\uff09\u3001DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306b\u95a2\u9023\u3059\u308bDZF\u304c\u63d0\u4f9b\u3059\u308b\u3059\u3079\u3066\u306e\u8cc7\u6599\uff08\u300c\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u300d\uff09\u3001\u304a\u3088\u3073DZF\u304c\u3053\u3053\u3067\u30e6\u30fc\u30b6\u30fc\u306b\u63d0\u4f9b\u3059\u308b\u305d\u306e\u4ed6\u306e\u8cc7\u6599\u3092\u610f\u5473\u3057\u307e\u3059\u3002

2. \u30a2\u30af\u30bb\u30b9\u3002

2.1 \u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3002\u672c\u5951\u7d04\u306e\u6761\u4ef6\u306b\u5f93\u3044\u3001DZF\u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3092\u901a\u3058\u3066\u30e6\u30fc\u30b6\u30fc\u306b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306e\u30a2\u30af\u30bb\u30b9\u306f\u3001\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u306e\u307f\u3092\u8a55\u4fa1\u3059\u308b\u305f\u3081\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u975e\u72ec\u5360\u7684\u3001\u975e\u8b72\u6e21\u53ef\u80fd\u3001\u9650\u5b9a\u7684\u306a\u4f7f\u7528\u3067\u3059\u3002\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u6210\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\uff08\u300cDZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u300d\uff09\u306b\u95a2\u3057\u3066\u3001DZF\u306f\u3053\u3053\u3067\u8a55\u4fa1\u671f\u9593\u4e2d\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u60f3\u5b9a\u3055\u308c\u308b\u7bc4\u56f2\u3067\u306e\u307f\u3001DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u30b3\u30d4\u30fc\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3001\u5408\u7406\u7684\u306a\u6570\u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3001\u5b9f\u884c\u3001\u30c7\u30d7\u30ed\u30a4\uff08\u8a72\u5f53\u3059\u308b\u5834\u5408\uff09\u3059\u308b\u305f\u3081\u306e\u9650\u5b9a\u7684\u3067\u53d6\u308a\u6d88\u3057\u53ef\u80fd\u306a\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u30e6\u30fc\u30b6\u30fc\u306b\u4ed8\u4e0e\u3057\u307e\u3059\u3002

2.2 \u5236\u9650\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u767a\u52b9\u65e5\u304b\u3089DZF\u306b\u3088\u3063\u3066\u7d42\u4e86\u3055\u308c\u308b\u307e\u3067\uff08\u300c\u8a55\u4fa1\u671f\u9593\u300d\uff09\u672c\u5951\u7d04\u306b\u5f93\u3044\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u8a55\u4fa1\u671f\u9593\u3092\u8d85\u3048\u305f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u6a29\u306f\u3001\u624b\u6570\u6599\u306e\u652f\u6255\u3044\u3092\u542b\u3080\u5f53\u4e8b\u8005\u9593\u306e\u5225\u9014\u306e\u5546\u696d\u5951\u7d04\u306b\u5f93\u3046\u3053\u3068\u3092\u7406\u89e3\u3057\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3001\u7b2c\u4e09\u8005\u3092\u8a31\u53ef\u3057\u305f\u5834\u5408\u3082\u542b\u3081\u3001\u6b21\u306e\u3053\u3068\u3092\u884c\u3063\u3066\u306f\u306a\u308a\u307e\u305b\u3093\uff1a\uff08i\uff09\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u307e\u305f\u306f\u305d\u306e\u4e00\u90e8\u306b\u57fa\u3065\u3044\u3066\u6539\u5909\u3084\u6d3e\u751f\u4f5c\u54c1\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\uff1b\uff08ii\uff09\u672c\u5951\u7d04\u3067\u660e\u793a\u7684\u306b\u8a31\u53ef\u3055\u308c\u308b\u5834\u5408\u3092\u9664\u304d\u3001\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u8907\u88fd\u3059\u308b\u3053\u3068\uff1b\uff08iii\uff09\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u3059\u3079\u3066\u307e\u305f\u306f\u4e00\u90e8\u3092\u30b5\u30d6\u30e9\u30a4\u30bb\u30f3\u30b9\u3001\u914d\u5e03\u3001\u8ca9\u58f2\u3001\u8cb8\u3057\u51fa\u3057\u3001\u8cc3\u8cb8\u3001\u30ea\u30fc\u30b9\u3001\u8ee2\u9001\u3001\u307e\u305f\u306f\u6a29\u5229\u3092\u4ed8\u4e0e\u3059\u308b\u3053\u3068\u3001\u307e\u305f\u306f\u30b5\u30fc\u30d3\u30b9\u30d3\u30e5\u30fc\u30ed\u30fc\u7b49\u3068\u3057\u3066\u7b2c\u4e09\u8005\u306b\u30a2\u30af\u30bb\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\uff08\u305f\u3060\u3057\u3001\u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u30d9\u30fc\u30b9\u3067\u306a\u304f\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u307e\u305f\u306f\u88fd\u54c1\u3092\u901a\u3058\u3066\u307e\u305f\u306f\u95a2\u9023\u3057\u3066\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u5834\u5408\u3092\u9664\u304f\uff09\uff1b\u307e\u305f\u306f\uff08iv\uff09\u3053\u3053\u306b\u898f\u5b9a\u3055\u308c\u305f\u4ee5\u5916\u306e\u65b9\u6cd5\u3067\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3002

2.3 \u6240\u6709\u6a29\u3002DZF\u306f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u6a29\u5229\u3001\u6a29\u539f\u3001\u5229\u76ca\uff08\u77e5\u7684\u8ca1\u7523\u6a29\u3092\u542b\u3080\uff09\u3092\u4fdd\u6301\u3057\u307e\u3059\u3002

3. \u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3002 DZF\u306f\u5b9a\u671f\u7684\u306b\u30e6\u30fc\u30b6\u30fc\u306b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u3001\u904b\u7528\u3001\u6a5f\u80fd\u306b\u95a2\u3059\u308b\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\uff08\u300c\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u300d\uff09\u306e\u63d0\u4f9b\u3092\u8981\u6c42\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u306fDZF\u306b\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u3053\u3067\u3001\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u88fd\u54c1\u3084\u30b5\u30fc\u30d3\u30b9\u306b\u4f7f\u7528\u30fb\u7d44\u307f\u8fbc\u307f\u3001\u305d\u306e\u3088\u3046\u306a\u88fd\u54c1\u3084\u30b5\u30fc\u30d3\u30b9\u3092\u88fd\u9020\u3001\u4f7f\u7528\u3001\u8ca9\u58f2\u3001\u8ca9\u58f2\u306e\u7533\u3057\u51fa\u3001\u8f38\u5165\u306a\u3069\u3057\u3001\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u5236\u9650\u306a\u304f\u4f7f\u7528\u3001\u30b3\u30d4\u30fc\u3001\u914d\u5e03\u3001\u305d\u306e\u4ed6\u306e\u65b9\u6cd5\u3067\u5229\u7528\u3059\u308b\u305f\u3081\u306e\u975e\u72ec\u5360\u7684\u3001\u4e16\u754c\u7684\u3001\u6c38\u7d9a\u7684\u3001\u53d6\u308a\u6d88\u3057\u4e0d\u80fd\u3001\u30ed\u30a4\u30e4\u30eb\u30c6\u30a3\u30d5\u30ea\u30fc\u3001\u5b8c\u5168\u306b\u652f\u6255\u3044\u6e08\u307f\u3001\u5b8c\u5168\u306b\u30b5\u30d6\u30e9\u30a4\u30bb\u30f3\u30b9\u53ef\u80fd\u304b\u3064\u8b72\u6e21\u53ef\u80fd\u306a\u6a29\u5229\u3068\u30e9\u30a4\u30bb\u30f3\u30b9\u3092DZF\u306b\u4ed8\u4e0e\u3057\u307e\u3059\u3002

4. \u671f\u9593\u3068\u7d42\u4e86\u3002

4.1 \u671f\u9593\u3002\u672c\u5951\u7d04\u306f\u767a\u52b9\u65e5\u304b\u3089\u958b\u59cb\u3057\u3001\u8a55\u4fa1\u671f\u9593\u4e2d\u6709\u52b9\u3067\u3059\u3002\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u3001\u4efb\u610f\u306e\u7406\u7531\u307e\u305f\u306f\u7406\u7531\u306a\u3057\u306b\u3001\u4ed6\u65b9\u306e\u5f53\u4e8b\u8005\u3078\u306e\u66f8\u9762\u306b\u3088\u308b\u901a\u77e5\uff08\u96fb\u5b50\u30e1\u30fc\u30eb\u3067\u5341\u5206\uff09\u306b\u3088\u308a\u3001\u672c\u5951\u7d04\u3092\u3044\u3064\u3067\u3082\u7d42\u4e86\u3067\u304d\u307e\u3059\u3002

4.1 \u7d42\u4e86\u306e\u52b9\u529b\u3002\u7406\u7531\u3092\u554f\u308f\u305a\u672c\u5951\u7d04\u304c\u7d42\u4e86\u3057\u305f\u5834\u5408\uff1a\uff08i\uff09\u30e6\u30fc\u30b6\u30fc\u306b\u4ed8\u4e0e\u3055\u308c\u305f\u6a29\u5229\u306f\u76f4\u3061\u306b\u7d42\u4e86\u3057\u307e\u3059\uff1b\uff08ii\uff09\u30e6\u30fc\u30b6\u30fc\u306f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u4f7f\u7528\u3092\u76f4\u3061\u306b\u4e2d\u6b62\u3057\u3001\u7ba1\u7406\u4e0b\u306b\u3042\u308b\u3059\u3079\u3066\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3068DZ\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u8fd4\u5374\u307e\u305f\u306f\u5ec3\u68c4\u3057\u307e\u3059\uff1b\uff08iii\uff09\u5404\u5f53\u4e8b\u8005\u306f\u4ed6\u65b9\u306e\u5f53\u4e8b\u8005\u306e\u3059\u3079\u3066\u306e\u6a5f\u5bc6\u60c5\u5831\u3068\u8ca1\u7523\u3092\u901f\u3084\u304b\u306b\u8fd4\u5374\u307e\u305f\u306f\u5ec3\u68c4\u3057\u307e\u3059\uff1b\uff08iv\uff09\u7b2c2.2\u6761\u3001\u7b2c2.3\u6761\u3001\u7b2c3\u6761\u3001\u7b2c4.2\u6761\u3001\u7b2c5\u6761\u304b\u3089\u7b2c8\u6761\u304c\u5b58\u7d9a\u3057\u307e\u3059\u3002

5. \u6a5f\u5bc6\u4fdd\u6301\u3002 \u5404\u5f53\u4e8b\u8005\u306f\u3001\u4ed6\u65b9\u306e\u6a5f\u5bc6\u60c5\u5831\u3092\u672c\u5951\u7d04\u306b\u57fa\u3065\u304f\u7fa9\u52d9\u306e\u5c65\u884c\u3068\u6a29\u5229\u306e\u884c\u4f7f\u306e\u307f\u306b\u4f7f\u7528\u3057\u3001\u3053\u3053\u3067\u8a31\u53ef\u3055\u308c\u308b\u5834\u5408\u3092\u9664\u304d\u3001\u540c\u60c5\u5831\u3092\u958b\u793a\u307e\u305f\u306f\u958b\u793a\u3092\u8a31\u53ef\u3057\u306a\u3044\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u3001\u77e5\u308b\u5fc5\u8981\u304c\u3042\u308a\u672c\u5951\u7d04\u3068\u540c\u7b49\u4ee5\u4e0a\u306e\u6a5f\u5bc6\u4fdd\u6301\u7fa9\u52d9\u306b\u62d8\u675f\u3055\u308c\u308b\u81ea\u793e\u306e\u4eba\u54e1\u3001\u5f01\u8b77\u58eb\u3001\u305d\u306e\u4ed6\u306e\u4ee3\u8868\u8005\u306b\u6a5f\u5bc6\u60c5\u5831\u3092\u958b\u793a\u3067\u304d\u307e\u3059\uff1b\u307e\u305f\u6cd5\u5f8b\u3067\u8981\u6c42\u3055\u308c\u308b\u5834\u5408\uff08\u3053\u306e\u5834\u5408\u3001\u53d7\u4fe1\u5f53\u4e8b\u8005\u306f\u958b\u793a\u524d\u306b\u958b\u793a\u5f53\u4e8b\u8005\u306b\u4e8b\u524d\u901a\u77e5\u3068\u7570\u8b70\u7533\u7acb\u306e\u6a5f\u4f1a\u3092\u63d0\u4f9b\u3057\u3001\u9069\u7528\u6cd5\u306e\u7bc4\u56f2\u3067\u958b\u793a\u3092\u6700\u5c0f\u9650\u306b\u6291\u3048\u307e\u3059\uff09\u3002\u7b2c5\u6761\u306e\u6a5f\u5bc6\u4fdd\u6301\u7fa9\u52d9\u306f\u6b21\u306e\u60c5\u5831\u306b\u306f\u9069\u7528\u3055\u308c\u307e\u305b\u3093\uff1a\uff08a\uff09\u53d7\u4fe1\u5f53\u4e8b\u8005\u306e\u904e\u5931\u306a\u3057\u306b\u4e00\u822c\u306b\u77e5\u3089\u308c\u308b\u304b\u307e\u305f\u306f\u516c\u958b\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u60c5\u5831\uff1b\uff08b\uff09\u958b\u793a\u5f53\u4e8b\u8005\u306b\u3088\u308b\u958b\u793a\u524d\u306b\u53d7\u4fe1\u5f53\u4e8b\u8005\u304c\u5236\u9650\u306a\u304f\u9069\u5207\u306b\u77e5\u3063\u3066\u3044\u305f\u60c5\u5831\uff1b\uff08c\uff09\u305d\u3046\u3059\u308b\u6cd5\u7684\u6a29\u9650\u3092\u6301\u3064\u5225\u306e\u4eba\u304b\u3089\u53d7\u4fe1\u5f53\u4e8b\u8005\u306b\u5236\u9650\u306a\u304f\u9069\u5207\u306b\u958b\u793a\u3055\u308c\u305f\u60c5\u5831\uff1b\u307e\u305f\u306f\uff08d\uff09\u958b\u793a\u5f53\u4e8b\u8005\u306e\u6a5f\u5bc6\u60c5\u5831\u3092\u4f7f\u7528\u307e\u305f\u306f\u53c2\u7167\u305b\u305a\u306b\u53d7\u4fe1\u5f53\u4e8b\u8005\u304c\u72ec\u81ea\u306b\u958b\u767a\u3057\u305f\u60c5\u5831\u3002\u5404\u5f53\u4e8b\u8005\u306f\u3001\u4ed6\u65b9\u306e\u6a5f\u5bc6\u60c5\u5831\u3092\u7121\u8a31\u53ef\u306e\u4f7f\u7528\u304a\u3088\u3073\u958b\u793a\u304b\u3089\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306b\u9069\u5207\u306a\u6ce8\u610f\u3092\u6255\u3046\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002\u672c\u6761\u307e\u305f\u306f\u672c\u5951\u7d04\u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u5b9f\u969b\u306e\u307e\u305f\u306f\u8105\u5a01\u3068\u306a\u308b\u9055\u53cd\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u3001\u9055\u53cd\u3057\u3066\u3044\u306a\u3044\u5f53\u4e8b\u8005\u306f\u3001\u5229\u7528\u53ef\u80fd\u306a\u4ed6\u306e\u6a29\u5229\u307e\u305f\u306f\u6551\u6e08\u3092\u653e\u68c4\u3059\u308b\u3053\u3068\u306a\u304f\u3001\u5373\u6642\u306e\u5dee\u3057\u6b62\u3081\u304a\u3088\u3073\u305d\u306e\u4ed6\u306e\u8861\u5e73\u6cd5\u4e0a\u306e\u6551\u6e08\u3092\u6c42\u3081\u308b\u6a29\u5229\u3092\u6301\u3061\u307e\u3059\u3002

6. \u4fdd\u8a3c\u514d\u8cac\uff1b\u8cac\u4efb\u5236\u9650\u3002

6.1 \u4fdd\u8a3c\u514d\u8cac\u3002\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u300c\u73fe\u72b6\u306e\u307e\u307e\u300d\uff08AS IS\uff09\u3067\u63d0\u4f9b\u3055\u308c\u3001\u3044\u304b\u306a\u308b\u7a2e\u985e\u306e\u4fdd\u8a3c\u3082\u3042\u308a\u307e\u305b\u3093\u3002DZF\u306f\u3001\u305d\u306e\u72b6\u614b\u3001\u8868\u660e\u307e\u305f\u306f\u8aac\u660e\u3078\u306e\u9069\u5408\u6027\u3092\u542b\u3080\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3068\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u95a2\u3057\u3066\u3001\u660e\u793a\u7684\u3001\u9ed9\u793a\u7684\u3001\u6cd5\u5b9a\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u3044\u304b\u306a\u308b\u4fdd\u8a3c\u3082\u306a\u3055\u308c\u305a\u3001DZF\u306f\u7279\u306b\u5546\u54c1\u6027\u3001\u7279\u5b9a\u76ee\u7684\u3078\u306e\u9069\u5408\u6027\u3001\u6a29\u539f\u3001\u304a\u3088\u3073\u975e\u4fb5\u5bb3\u306e\u9ed9\u793a\u7684\u4fdd\u8a3c\u3092\u3059\u3079\u3066\u5426\u8a8d\u3057\u307e\u3059\u3002

6.2 \u8cac\u4efb\u5236\u9650\u3002 \u7b2c2.1\u6761\u3001\u7b2c2.2\u6761\u3001\u304a\u3088\u3073\u7b2c5\u6761\u306e\u9055\u53cd\u3092\u9664\u304d\u3001\u3044\u304b\u306a\u308b\u5834\u5408\u306b\u304a\u3044\u3066\u3082\u3001\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u4ed6\u65b9\u306b\u5bfe\u3057\u3066\u3001\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u9023\u3059\u308b\u5951\u7d04\u3001\u4e0d\u6cd5\u884c\u70ba\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u8a34\u8a1f\u306b\u304a\u3044\u3066\u3001\u76f8\u624b\u65b9\u304c\u305d\u306e\u3088\u3046\u306a\u640d\u5bb3\u306e\u53ef\u80fd\u6027\u306b\u3064\u3044\u3066\u901a\u77e5\u3092\u53d7\u3051\u3066\u3044\u305f\u5834\u5408\u3067\u3082\u3001\u5229\u76ca\u306e\u640d\u5931\u3001\u4f7f\u7528\u307e\u305f\u306f\u640d\u5931\u306e\u30c7\u30fc\u30bf\u3092\u542b\u3080\u304c\u3053\u308c\u306b\u9650\u5b9a\u3055\u308c\u306a\u3044\u9593\u63a5\u7684\u3001\u4ed8\u968f\u7684\u3001\u7279\u5225\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u7d50\u679c\u7684\u640d\u5bb3\u306b\u3064\u3044\u3066\u8cac\u4efb\u3092\u8ca0\u3044\u307e\u305b\u3093\u3002\u3044\u304b\u306a\u308b\u5834\u5408\u306b\u304a\u3044\u3066\u3082\u3001\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u9023\u3059\u308bDZF\u306e\u7dcf\u8cac\u4efb\u306f\u3001\u5951\u7d04\u3001\u4e0d\u6cd5\u884c\u70ba\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u8a34\u8a1f\u306b\u304a\u3044\u3066100\u30c9\u30eb\u3092\u8d85\u3048\u307e\u305b\u3093\u3002\u4e0a\u8a18\u306e\u5236\u9650\u306f\u3001\u3053\u3053\u306b\u8a18\u8f09\u3055\u308c\u305f\u3044\u304b\u306a\u308b\u9650\u5b9a\u7684\u6551\u6e08\u306e\u672c\u8cea\u7684\u76ee\u7684\u306e\u4e0d\u5c65\u884c\u306b\u3082\u304b\u304b\u308f\u3089\u305a\u9069\u7528\u3055\u308c\u307e\u3059\u3002\u5f53\u4e8b\u8005\u306f\u3001\u4e0a\u8a18\u306e\u5236\u9650\u304c\u672c\u5951\u7d04\u306b\u57fa\u3065\u304f\u30ea\u30b9\u30af\u306e\u5408\u7406\u7684\u306a\u914d\u5206\u3092\u8868\u3059\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002

7. \u6e96\u62e0\u6cd5\u3002 \u672c\u5951\u7d04\u304a\u3088\u3073\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u4e8b\u9805\u306f\u3001\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u306e\u6cd5\u5f8b\u306b\u5f93\u3063\u3066\u7d71\u6cbb\u3001\u89e3\u91c8\u3001\u304a\u3088\u3073\u69cb\u6210\u3055\u308c\u307e\u3059\u3002\u672c\u5951\u7d04\u306b\u95a2\u9023\u3057\u3066\u8ad6\u4e89\u3001\u7d1b\u4e89\u307e\u305f\u306f\u8acb\u6c42\uff08\u300c\u7d1b\u4e89\u300d\uff09\u304c\u751f\u3058\u305f\u5834\u5408\u3001\u95a2\u4fc2\u3059\u308b\u5f53\u4e8b\u8005\u306f\u9069\u5b9c\u4ed6\u306e\u5f53\u4e8b\u8005\u306b\u5f53\u8a72\u7d1b\u4e89\u306e30\u65e5\u524d\u306e\u901a\u77e5\uff08\u300c\u7d1b\u4e89\u306e\u901a\u77e5\u300d\uff09\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u7d1b\u4e89\u306e\u901a\u77e5\u304b\u308930\u65e5\u306e\u671f\u9650\u5207\u308c\u307e\u3067\u306b\u7d1b\u4e89\u304c\u89e3\u6c7a\u3055\u308c\u306a\u3044\u5834\u5408\u3001\u95a2\u4fc2\u3059\u308b\u5f53\u4e8b\u8005\u306f\u3053\u3053\u306b\u898f\u5b9a\u3059\u308b\u4ef2\u88c1\u624b\u7d9a\u304d\u3092\u958b\u59cb\u3067\u304d\u307e\u3059\u3002\u7d1b\u4e89\u306e\u901a\u77e5\u304b\u308930\u65e5\u306e\u671f\u9650\u5207\u308c\u5f8c\u3082\u7d1b\u4e89\u304c\u6b8b\u308b\u5834\u5408\u3001\u7d1b\u4e89\u306f\u30b1\u30a4\u30de\u30f3\u56fd\u969b\u8abf\u505c\u30fb\u4ef2\u88c1\u30bb\u30f3\u30bf\u30fc\uff08CI-MAC\uff09\u306b\u3088\u3063\u3066\u3001\u767a\u52b9\u65e5\u6642\u70b9\u3067\u6709\u52b9\u306aCI-MAC\u4ef2\u88c1\u898f\u5247\uff08\u300c\u4ef2\u88c1\u898f\u5247\u300d\uff09\u306b\u5f93\u3063\u3066\u7ba1\u7406\u3055\u308c\u308b\u4ef2\u88c1\u306b\u3088\u3063\u3066\u89e3\u6c7a\u3055\u308c\u3001\u4ef2\u88c1\u898f\u5247\u306f\u3053\u3053\u3067\u53c2\u7167\u306b\u3088\u308a\u7d44\u307f\u8fbc\u307e\u308c\u3001\u4ef2\u88c1\u6cd5\uff08\u6539\u6b63\uff09\u306b\u3088\u3063\u3066\u7d71\u6cbb\u3055\u308c\u307e\u3059\u3002\u4ef2\u88c1\u306f\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u30b0\u30e9\u30f3\u30c9\u30b1\u30a4\u30de\u30f3\u3001\u30b8\u30e7\u30fc\u30b8\u30bf\u30a6\u30f3\u3092\u6240\u5728\u5730\u3068\u3057\u3001\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u6cd5\u306b\u3088\u3063\u3066\u7d71\u6cbb\u3055\u308c\u307e\u3059\u3002\u4ef2\u88c1\u306e\u8a00\u8a9e\u306f\u82f1\u8a9e\u3067\u3059\u3002\u4ef2\u88c1\u306f\u4ef2\u88c1\u898f\u5247\u306b\u5f93\u3063\u3066\u4efb\u547d\u3055\u308c\u308b\u5358\u72ec\u4ef2\u88c1\u4eba\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002\u4ef2\u88c1\u4eba\u306b\u3088\u308b\u3044\u304b\u306a\u308b\u88c1\u5b9a\u3084\u6c7a\u5b9a\u3082\u66f8\u9762\u306b\u3088\u308b\u3082\u306e\u3068\u3057\u3001\u4e0a\u8a34\u306e\u6a29\u5229\u306a\u3057\u306b\u5f53\u4e8b\u8005\u9593\u3067\u6700\u7d42\u7684\u304b\u3064\u62d8\u675f\u529b\u3092\u6301\u3061\u3001\u53d6\u5f97\u3055\u308c\u305f\u88c1\u5b9a\u306b\u57fa\u3065\u304f\u5224\u6c7a\u306f\u7ba1\u8f44\u6a29\u3092\u6709\u3059\u308b\u3044\u304b\u306a\u308b\u88c1\u5224\u6240\u3067\u3082\u57f7\u884c\u3067\u304d\u307e\u3059\u3002\u672c\u5951\u7d04\u304b\u3089\u751f\u3058\u308b\u307e\u305f\u306f\u672c\u5951\u7d04\u306b\u95a2\u9023\u3059\u308b\u3044\u304b\u306a\u308b\u8acb\u6c42\u306b\u57fa\u3065\u304f\u6cd5\u7684\u307e\u305f\u306f\u8861\u5e73\u6cd5\u4e0a\u306e\u8a34\u8a1f\u3082\u3001\u3044\u304b\u306a\u308b\u7ba1\u8f44\u533a\u57df\u306e\u88c1\u5224\u6240\u306b\u3082\u63d0\u8d77\u3067\u304d\u307e\u305b\u3093\u3002

8. \u4e00\u822c\u898f\u5b9a\u3002 \u672c\u5951\u7d04\u306fDZF\u306e\u4e8b\u524d\u66f8\u9762\u306b\u3088\u308b\u540c\u610f\u306a\u3057\u306b\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u79fb\u8ee2\u307e\u305f\u306f\u8b72\u6e21\u3067\u304d\u307e\u305b\u3093\u3002DZF\u306f\u672c\u5951\u7d04\u3092\u81ea\u7531\u306b\u8b72\u6e21\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u9001\u4ed8\u304c\u5fc5\u8981\u306a\u3059\u3079\u3066\u306e\u901a\u77e5\u306f\u96fb\u5b50\u30e1\u30fc\u30eb\u3067\u9001\u4ed8\u3055\u308c\uff08DZF\u5b9b\uff1alegal@doublezero.xyz\uff09\u3001\u9001\u4ed8\u7fcc\u65e5\u306b\u53d7\u4fe1\u3055\u308c\u305f\u3068\u307f\u306a\u3055\u308c\u307e\u3059\uff08\u9001\u4fe1\u78ba\u8a8d\u6e08\u307f\uff09\u3002\u672c\u5951\u7d04\u306e\u3044\u305a\u308c\u304b\u306e\u898f\u5b9a\u304c\u7121\u52b9\u307e\u305f\u306f\u57f7\u884c\u4e0d\u80fd\u3068\u5224\u65ad\u3055\u308c\u305f\u5834\u5408\u3001\u672c\u5951\u7d04\u306e\u6b8b\u308a\u306e\u898f\u5b9a\u306f\u5b8c\u5168\u306b\u6709\u52b9\u3067\u3059\u3002\u3044\u305a\u308c\u304b\u306e\u5f53\u4e8b\u8005\u306b\u3088\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u307e\u305f\u306f\u672c\u5951\u7d04\u306e\u9055\u53cd\u306e\u653e\u68c4\u306f\u3001\u4ed6\u306e\u307e\u305f\u306f\u305d\u306e\u5f8c\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u307e\u305f\u306f\u9055\u53cd\u306e\u653e\u68c4\u3092\u69cb\u6210\u3057\u307e\u305b\u3093\u3002\u3044\u305a\u308c\u306e\u5f53\u4e8b\u8005\u3082\u3001\u4e88\u898b\u53ef\u80fd\u304b\u3069\u3046\u304b\u306b\u304b\u304b\u308f\u3089\u305a\u3001\u5929\u707d\u3001\u5730\u9707\u3001\u7269\u8cc7\u4e0d\u8db3\u3001\u8f38\u9001\u56f0\u96e3\u3001\u52b4\u50cd\u4e89\u8b70\u3001\u66b4\u52d5\u3001\u6226\u4e89\u3001\u706b\u707d\u3001\u75ab\u75c5\u3001\u304a\u3088\u3073\u305d\u306e\u7ba1\u7406\u3092\u8d85\u3048\u308b\u985e\u4f3c\u306e\u4e8b\u8c61\u306b\u3088\u308b\u5c65\u884c\u306e\u9045\u5ef6\u307e\u305f\u306f\u5931\u6557\u306b\u3064\u3044\u3066\u8cac\u4efb\u3092\u8ca0\u3044\u307e\u305b\u3093\u3002\u672c\u5951\u7d04\u306f\u3059\u3079\u3066\u306e\u6dfb\u4ed8\u3068\u5171\u306b\u3001\u5f53\u4e8b\u8005\u9593\u306e\u5b8c\u5168\u306a\u5408\u610f\u3092\u69cb\u6210\u3057\u3001\u3053\u3053\u306b\u8a18\u8f09\u3055\u308c\u305f\u4e3b\u984c\u306b\u95a2\u3059\u308b\u3059\u3079\u3066\u306e\u4ee5\u524d\u307e\u305f\u306f\u540c\u6642\u306e\u5408\u610f\u307e\u305f\u306f\u8868\u660e\uff08\u66f8\u9762\u307e\u305f\u306f\u53e3\u982d\uff09\u306b\u512a\u5148\u3057\u307e\u3059\u3002\u672c\u5951\u7d04\u306f\u3001\u5404\u5f53\u4e8b\u8005\u306e\u6b63\u5f0f\u306b\u6388\u6a29\u3055\u308c\u305f\u4ee3\u8868\u8005\u304c\u7f72\u540d\u3057\u305f\u66f8\u9762\u306b\u3088\u3063\u3066\u306e\u307f\u4fee\u6b63\u307e\u305f\u306f\u5909\u66f4\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#ibrl_1","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

Note

IBRL\u30e2\u30fc\u30c9\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u518d\u8d77\u52d5\u304c\u4e0d\u8981\u3067\u3059\u3002

Solana\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306fDoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3053\u306e\u30da\u30fc\u30b8\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u5404Solana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306b\u306f\u72ec\u81ea\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u30da\u30a2\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u3053\u304b\u3089\u30ce\u30fc\u30c9ID\u3068\u3057\u3066\u77e5\u3089\u308c\u308b\u516c\u958b\u9375\u3092\u62bd\u51fa\u3057\u307e\u3059\u3002\u3053\u308c\u306fSolana\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u4e00\u610f\u306e\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c8\u3067\u3059\u3002

DoubleZeroID\u3068\u30ce\u30fc\u30c9ID\u304c\u7279\u5b9a\u3055\u308c\u308b\u3068\u3001\u30de\u30b7\u30f3\u306e\u6240\u6709\u6a29\u3092\u8a3c\u660e\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001DoubleZeroID\u3092\u542b\u3080\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc\u3067\u7f72\u540d\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u884c\u308f\u308c\u307e\u3059\u3002\u751f\u6210\u3055\u308c\u305f\u6697\u53f7\u7f72\u540d\u306f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5236\u5fa1\u3057\u3066\u3044\u308b\u3053\u3068\u306e\u691c\u8a3c\u53ef\u80fd\u306a\u8a3c\u660e\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002

\u6700\u5f8c\u306b\u3001DoubleZero\u3078\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u300c\u3053\u3061\u3089\u304c\u79c1\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3001\u3053\u3061\u3089\u304c\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3001\u305d\u3057\u3066\u3053\u3061\u3089\u304c\u63a5\u7d9a\u65b9\u6cd5\u3067\u3059\u3002\u300d\u3068\u3044\u3046\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u4f1d\u3048\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u60c5\u5831\u3092\u691c\u8a3c\u3057\u3001\u8a3c\u660e\u3092\u53d7\u3051\u5165\u308c\u3001DoubleZero\u4e0a\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30af\u30bb\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3057\u307e\u3059\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u30011\u53f0\u306e\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u81ea\u8eab\u3092\u767b\u9332\u3057\u3001\u540c\u6642\u306b\u6700\u59273\u53f0\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7/\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u30de\u30b7\u30f3\u3092\u767b\u9332\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Info

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u306fSolana\u30b4\u30b7\u30c3\u30d7\u306b\u5bfe\u3057\u3066\u78ba\u8a8d\u3055\u308c\u3001\u30bf\u30fc\u30b2\u30c3\u30c8IP\u304c\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002\u30bf\u30fc\u30b2\u30c3\u30c8IP\u3068DoubleZero ID\u306f\u3001\u30de\u30b7\u30f3\u3068\u30bf\u30fc\u30b2\u30c3\u30c8DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u306eGRE\u30c8\u30f3\u30cd\u30eb\u3092\u958b\u304f\u969b\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

\u6ce8\u610f\uff1a\u540c\u3058IP\u306b\u30b8\u30e3\u30f3\u30afID\u3068\u30d7\u30e9\u30a4\u30de\u30eaID\u304c\u3042\u308b\u5834\u5408\u3001\u30de\u30b7\u30f3\u306e\u767b\u9332\u306b\u306f\u30d7\u30e9\u30a4\u30de\u30eaID\u306e\u307f\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u30b8\u30e3\u30f3\u30afID\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u8868\u793a\u3055\u308c\u305a\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30de\u30b7\u30f3\u306eIP\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u306a\u3044\u305f\u3081\u3067\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a
\u2705 doublezerod configured for environment testnet\n

\u7d0430\u79d2\u5f8c\u306b\u5229\u7528\u53ef\u80fd\u306aDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

doublezero latency\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u4f8b\uff1a
doublezero latency\n pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.44ms   | 2.63ms   | 2.50ms   | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 71.97ms  | 72.01ms  | 71.99ms  | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.08ms  | 72.00ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.55ms  | 76.65ms  | 76.61ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.01ms  | 83.10ms  | 83.05ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.87ms  | 84.91ms  | 84.89ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 95.27ms  | 95.30ms  | 95.29ms  | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 180.96ms | 181.08ms | 181.02ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 220.87ms | 221.14ms | 220.97ms | true\n

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u306f\u69cb\u9020\u304c\u540c\u3058\u3067\u3059\u304c\u3001\u5229\u7528\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u304c\u591a\u304f\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#2-44880","title":"2. \u30dd\u30fc\u30c844880\u3092\u958b\u304f","text":"

\u4e00\u90e8\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u6a5f\u80fd\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30dd\u30fc\u30c844880\u3092\u958b\u304f\u306b\u306f\u3001\u4f8b\u3048\u3070\u6b21\u306e\u3088\u3046\u306bIP\u30c6\u30fc\u30d6\u30eb\u3092\u66f4\u65b0\u3067\u304d\u307e\u3059\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308b-i doublezero0\u3001-o doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u307e\u305f\u306fUFW\u306e\u5834\u5408\uff1a

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

\u3053\u306e\u30eb\u30fc\u30eb\u3092DoubleZero\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u307f\u306b\u5236\u9650\u3059\u308bin on doublezero0\u3001out on doublezero0\u30d5\u30e9\u30b0\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#3","title":"3. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e","text":"

DoubleZero\u74b0\u5883\u304c\u8a2d\u5b9a\u3055\u308c\u305f\u306e\u3067\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u6240\u6709\u6a29\u306e\u8a3c\u660e\u3092\u884c\u3044\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u4f5c\u6210\u3057\u305fDoubleZero ID\u3092\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u30d7\u30e9\u30a4\u30de\u30ea\u30de\u30b7\u30f3\u306eID\u306fdoublezero address\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u540c\u3058ID\u304c\u30af\u30e9\u30b9\u30bf\u30fc\u5185\u306e\u3059\u3079\u3066\u306e\u30de\u30b7\u30f3\u306e~/.config/doublezero/id.json\u306b\u5fc5\u8981\u3067\u3059\u3002

\u3053\u308c\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306b\u3001\u307e\u305a\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u304c\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3067\u3042\u308b\u3053\u3068\u3092\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -ut\n

\u3053\u308c\u306b\u3088\u308a\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u30b4\u30b7\u30c3\u30d7\u306b\u767b\u9332\u3055\u308c\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u8868\u793a\u3055\u308c\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\u540c\u3058\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u304c1\u53f0\u3067\u3082\u8907\u6570\u53f0\u306e\u30de\u30b7\u30f3\u3067\u3082\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002 1\u53f0\u306e\u30de\u30b7\u30f3\u3092\u767b\u9332\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30da\u30fc\u30b8\u306e\u30b3\u30de\u30f3\u30c9\u304b\u3089\"--backup-validator-ids\"\u307e\u305f\u306f\"backup_ids=\"\u5f15\u6570\u3092\u9664\u5916\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u5b9f\u884c\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u4ee5\u4e0b\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana passport find-validator -ut\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\u3053\u306e\u51fa\u529b\u306f\u6b63\u5e38\u3067\u3059\u3002\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u306f\u30d1\u30b9\u4f5c\u6210\u6642\u306b\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002

\u6b21\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6295\u7968\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f7f\u7528\u3059\u308b\u4e88\u5b9a\u306e\u3059\u3079\u3066\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#_2","title":"\u63a5\u7d9a\u306e\u6e96\u5099","text":"

\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3044\u308b\u30de\u30b7\u30f3\u306eSolana\u30b4\u30b7\u30c3\u30d7\u306b\u3001\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u3092\u6301\u3064\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b9\u30c6\u30fc\u30af\u304c\u3042\u308a\u3001\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u30de\u30b7\u30f3\u3067\u3059\uff1a

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

\u51fa\u529b\u4f8b\uff1a

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306e\u6700\u5f8c\u306e\u51fa\u529b\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u69cb\u9020\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#4","title":"4. \u7f72\u540d\u306e\u751f\u6210","text":"

\u524d\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u6700\u5f8c\u306b\u3001solana sign-offchain-message\u306e\u305f\u3081\u306e\u4e8b\u524d\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3055\u308c\u305f\u51fa\u529b\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f\u3002

\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u30d7\u30e9\u30a4\u30de\u30ea\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30b7\u30f3\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

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

\u51fa\u529b\uff1a

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ja/DZ%20Testnet%20Connection/#5-doublezero","title":"5. DoubleZero\u3067\u306e\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u958b\u59cb","text":"

request-validator-access\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u63a5\u7d9a\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u305f\u3081\u306bSolana\u4e0a\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002DoubleZero Sentinel\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u65b0\u3057\u3044\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u691c\u51fa\u3057\u3001\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3068\u7f72\u540d\u3092\u691c\u8a3c\u3057\u3001\u30b5\u30fc\u30d0\u30fc\u304c\u63a5\u7d9a\u3092\u78ba\u7acb\u3067\u304d\u308b\u3088\u3046\u306bDoubleZero\u306b\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002

\u30ce\u30fc\u30c9ID\u3001DoubleZeroID\u3001\u7f72\u540d\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

Note

\u3053\u306e\u4f8b\u3067\u306f-k /home/user/.config/solana/id.json\u3092\u4f7f\u7528\u3057\u3066\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u898b\u3064\u3051\u307e\u3059\u3002\u30ed\u30fc\u30ab\u30eb\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u9069\u5207\u306a\u5834\u6240\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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

\u51fa\u529b\uff1a

\u3053\u306e\u51fa\u529b\u306fSolana\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3067\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3092\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u5fd8\u308c\u305a\u306b\u3002\u3053\u306e\u78ba\u8a8d\u306f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\u6210\u529f\u3057\u305f\u5834\u5408\u3001DoubleZero\u306f\u30d7\u30e9\u30a4\u30de\u30ea\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3068\u3068\u3082\u306b\u767b\u9332\u3057\u307e\u3059\u3002\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306b\u767b\u9332\u3055\u308c\u305fIP\u306e\u9593\u3067\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002DoubleZero\u306f\u3053\u306e\u3088\u3046\u306b\u767b\u9332\u3055\u308c\u305f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ce\u30fc\u30c9\u3078\u306e\u5207\u308a\u66ff\u3048\u6642\u306b\u63a5\u7d9a\u3092\u81ea\u52d5\u7684\u306b\u7dad\u6301\u3057\u307e\u3059\u3002

"},{"location":"ja/DZ%20Testnet%20Connection/#6-ibrl","title":"6. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002GRE\u30c8\u30f3\u30cd\u30eb\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Note

\u3053\u306e\u51fa\u529b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002Tunnel src\u3068DoubleZero IP\u304c\u30de\u30b7\u30f3\u306e\u30d1\u30d6\u30ea\u30c3\u30afIPv4\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3057\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/DZ%20Testnet%20Connection/#_3","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306b\u3088\u308b\u30b7\u30e5\u30ec\u30c3\u30c9\u306e\u516c\u958b","text":"

\u3053\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u5b8c\u4e86\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3067\u30b7\u30e5\u30ec\u30c3\u30c9\u3092\u516c\u958b\u3059\u308b\u4e88\u5b9a\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u30da\u30fc\u30b8\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/New%20Tenant/","title":"\u65b0\u898f\u30c6\u30ca\u30f3\u30c8","text":"

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.

\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u3067DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u6d3b\u7528\u3057\u305f\u3044\u5834\u5408\u306f\u3001\u6280\u8853\u7684\u306a\u3054\u8cea\u554f\u306b\u304a\u7b54\u3048\u3067\u304d\u3066\u5149\u6804\u3067\u3059\u3002

\u304a\u554f\u3044\u5408\u308f\u305b\u30d5\u30a9\u30fc\u30e0

"},{"location":"ja/Other%20Multicast%20Connection/","title":"\u305d\u306e\u4ed6\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6700\u521d\u306e\u30b9\u30c6\u30c3\u30d7 \u627f\u8a8d\u5f8c\u306e\u63a5\u7d9a\u65b9\u6cd5\uff1a Jito\u30b7\u30e5\u30ec\u30c3\u30c9\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6 \u627f\u8a8d\u306e\u305f\u3081Jito\u306b\u9023\u7d61 doublezero connect multicast --subscribe jito-shredstream

\u8a73\u7d30\u306a\u63a5\u7d9a\u60c5\u5831\uff1a

"},{"location":"ja/Other%20Multicast%20Connection/#1-doublezero","title":"1. DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u306f\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/Other%20Multicast%20Connection/#2","title":"2. \u63a5\u7d9a\u624b\u9806","text":"

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30e2\u30fc\u30c9\u3067DoubleZero\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002 \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u3057\u3066\uff1a

doublezero connect multicast --publish <\u30d5\u30a3\u30fc\u30c9\u540d>

\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3068\u3057\u3066\uff1a

doublezero connect multicast --subscribe <\u30d5\u30a3\u30fc\u30c9\u540d>

\u307e\u305f\u306f\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u306e\u4e21\u65b9\uff1a

doublezero connect multicast --publish <\u30d5\u30a3\u30fc\u30c9\u540d> --subscribe <\u30d5\u30a3\u30fc\u30c9\u540d>

\u8907\u6570\u306e\u30d5\u30a3\u30fc\u30c9\u3092\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u3059\u308b\u306b\u306f\u3001\u30b9\u30da\u30fc\u30b9\u3067\u533a\u5207\u3063\u3066\u8907\u6570\u306e\u30d5\u30a3\u30fc\u30c9\u540d\u3092\u542b\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u3053\u308c\u3092\u4f7f\u3063\u3066\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u30d5\u30a3\u30fc\u30c9\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u306b\u3082\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002 \u4f8b\uff1a doublezero connect multicast --subscribe feed1 feed2 feed3

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"ja/Other%20Multicast%20Connection/#3","title":"3. \u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a\u306e\u78ba\u8a8d","text":"

60\u79d2\u5f85\u3063\u3066\u304b\u3089\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero status\n
\u671f\u5f85\u3055\u308c\u308b\u7d50\u679c\uff1a - \u6b63\u3057\u3044DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067BGP\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u7a3c\u50cd\u4e2d - \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u306e\u5834\u5408\u3001DoubleZero IP\u306fTunnel Src IP\u3068\u7570\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u6b63\u5e38\u3067\u3059\u3002 - \u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u307f\u306e\u5834\u5408\u3001DoubleZero IP\u306fTunnel Src IP\u3068\u540c\u3058\u306b\u306a\u308a\u307e\u3059\u3002

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

\u63a5\u7d9a\u3057\u3066\u3044\u308b\u30b0\u30eb\u30fc\u30d7\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"ja/Permissioned%20Connection/","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306eDoubleZero\u3078\u306e\u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcPermissioned\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/Permissioned%20Connection/#permissioned","title":"Permissioned\u30e6\u30fc\u30b6\u30fc\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u6982\u8981","text":"

\u73fe\u5728\u3001\u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3068RPC\u306e\u30e6\u30fc\u30b6\u30fc\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u306fPermissioned\u3055\u308c\u3066\u3044\u307e\u3059\u3002Permissioned\u30d5\u30ed\u30fc\u3092\u958b\u59cb\u3059\u308b\u306b\u306f\u3001\u3053\u306e\u30d5\u30a9\u30fc\u30e0\u306b\u8a18\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u4e2d\u306b\u4e88\u60f3\u3055\u308c\u308b\u3053\u3068\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\uff1a

"},{"location":"ja/Permissioned%20Connection/#ibrl","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u304a\u3088\u3073\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

Note

IBRL\u30e2\u30fc\u30c9\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u518d\u8d77\u52d5\u304c\u4e0d\u8981\u3067\u3059\u3002

Permissioned\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u306e\u30da\u30fc\u30b8\u3067\u8a73\u8ff0\u3059\u308bDoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002

"},{"location":"ja/Permissioned%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a

\u2705 doublezerod configured for environment mainnet-beta\n
\u6b21\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\uff1a \u2705 doublezerod configured for environment testnet

\u7d0430\u79d2\u5f8c\u306b\u5229\u7528\u53ef\u80fd\u306aDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

doublezero latency\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u4f8b\uff1a
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u51fa\u529b\u306f\u69cb\u9020\u304c\u540c\u3058\u3067\u3059\u304c\u3001\u5229\u7528\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u304c\u591a\u304f\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\u3078\u306e\u9023\u7d61","text":"

DoubleZero Foundation\u306b\u9023\u7d61\u3057\u307e\u3059\u3002\u63a5\u7d9a\u5143\u306eDoubleZeroID\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\uff08\u30ce\u30fc\u30c9ID\uff09\u3001\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/Permissioned%20Connection/#3-ibrl","title":"3. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
\u51fa\u529b\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/Permissioned%20Connection/#_1","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8","text":"

\u3053\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3092\u5b8c\u4e86\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3092\u4f7f\u7528\u3059\u308b\u4e88\u5b9a\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u30da\u30fc\u30b8\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/","title":"Shelby\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\u306eIBRL\u30e2\u30fc\u30c9\u3067\u306eDoubleZero\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/Shelby%20Permissioned%20Connection/#doublezeroid","title":"DoubleZeroID\u306e\u53d6\u5f97","text":"

DoubleZeroID\u3068\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u3092\u3053\u3061\u3089\u306e\u30d5\u30a9\u30fc\u30e0\u3067\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/#ibrl","title":"IBRL\u30e2\u30fc\u30c9\u3067\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u63a5\u7d9a","text":"

Shelby\u306ePermissioned\u30e6\u30fc\u30b6\u30fc\u306fDoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u3092\u5b8c\u4e86\u3057\u307e\u3059\u3002\u8a73\u7d30\u306f\u3053\u306e\u30da\u30fc\u30b8\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/#1","title":"1. \u74b0\u5883\u8a2d\u5b9a","text":"

\u7d9a\u884c\u3059\u308b\u524d\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u6700\u5f8c\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u5207\u65ad\u3059\u308b\u3053\u3068\u3067\u3057\u305f\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u4e0a\u306eDoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c1\u3064\u3060\u3051\u958b\u3044\u3066\u304a\u308a\u3001\u305d\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u3057\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

DoubleZero\u4e0a\u306eShelby\u30c6\u30ca\u30f3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306bDoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3092\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

doublezero config set --tenant shelby\n

Shelby\u56fa\u6709\u306e\u8ffd\u52a0\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u9069\u7528\u3057\u307e\u3059\uff1a

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"ja/Shelby%20Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\u3078\u306e\u9023\u7d61","text":"

DoubleZero Foundation\u306b\u9023\u7d61\u3057\u307e\u3059\u3002\u63a5\u7d9a\u5143\u306eDoubleZeroID\u3068\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/Shelby%20Permissioned%20Connection/#3-ibrl","title":"3. IBRL\u30e2\u30fc\u30c9\u3067\u306e\u63a5\u7d9a","text":"

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u3067\u3001\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067connect\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002

doublezero connect ibrl\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3092\u793a\u3059\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u307e\u3059\uff1a

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u30671\u5206\u5f85\u3061\u307e\u3059\u3002\u30c8\u30f3\u30cd\u30eb\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u51fa\u529b\u304c\u300cdown\u300d\u307e\u305f\u306f\u300cUnknown\u300d\u3092\u8fd4\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero status\n

\u51fa\u529b\uff1a

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u6b63\u5e38\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067DoubleZero\u4e0a\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u4f1d\u642c\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff1a

ip route\n
\u51fa\u529b\uff1a

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ja/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u8cc7\u6599\u306b\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u3059\u308b\u524d\u306b\u514d\u8cac\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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.

\u514d\u8cac\u4e8b\u9805

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306f\u3001\u60c5\u5831\u63d0\u4f9b\u304a\u3088\u3073\u6280\u8853\u7684\u76ee\u7684\u306e\u307f\u306e\u305f\u3081\u306b\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u8aac\u660e\u3055\u308c\u3066\u3044\u308b\u30c8\u30fc\u30af\u30f3\u5909\u63db\u6a5f\u80fd\u306f\u30ce\u30f3\u30ab\u30b9\u30c8\u30c7\u30a3\u30a2\u30eb\uff08\u975e\u4fdd\u7ba1\u578b\uff09\u3067\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u57fa\u790e\u3068\u306a\u308b\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u76f4\u63a5\u5bfe\u8a71\u3057\u3001\u5e38\u306b\u81ea\u5206\u306e\u8cc7\u7523\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3057\u307e\u3059\u3002

\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u306f\u3001\u958b\u767a\u8005\u3084\u767a\u884c\u8005\u306b\u3088\u3063\u3066\u958b\u767a\u3001\u7ba1\u7406\u3001\u307e\u305f\u306f\u30ec\u30d3\u30e5\u30fc\u3055\u308c\u3066\u3044\u306a\u3044\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30b3\u30fc\u30c9\u3001\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3001\u307e\u305f\u306f\u4fa1\u683c\u304a\u3088\u3073\u624b\u6570\u6599\u30e1\u30ab\u30cb\u30ba\u30e0\uff08\u4f8b\uff1a\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3001API\u3001\u307e\u305f\u306f\u5206\u6563\u578b\u53d6\u5f15\u6240\uff09\u306b\u4f9d\u5b58\u307e\u305f\u306f\u5bfe\u8a71\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u7cbe\u5ea6\u3001\u6a5f\u80fd\u3001\u307e\u305f\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u3064\u3044\u3066\u8868\u660e\u3084\u4fdd\u8a3c\u306f\u306a\u3055\u308c\u307e\u305b\u3093\u3002 \u3053\u306e\u30b3\u30fc\u30c9\u306e\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u305d\u306e\u7cbe\u5ea6\u3001\u5b8c\u5168\u6027\u3001\u307e\u305f\u306f\u7d99\u7d9a\u7684\u306a\u53ef\u7528\u6027\u3092\u4fdd\u8a3c\u3057\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u3068\u95a2\u9023\u8cc7\u6599\u306f\u300c\u73fe\u72b6\u306e\u307e\u307e\u300d\uff08AS IS\uff09\u3067\u63d0\u4f9b\u3055\u308c\u3001\u30d0\u30b0\u3001\u30a8\u30e9\u30fc\u3001\u307e\u305f\u306f\u8106\u5f31\u6027\u304c\u542b\u307e\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f7f\u7528\u306f\u3059\u3079\u3066\u3054\u81ea\u8eab\u306e\u30ea\u30b9\u30af\u3067\u304a\u884c\u3044\u304f\u3060\u3055\u3044\u3002 \u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3053\u308c\u3089\u306e\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306e\u4f7f\u7528\u306b\u95a2\u9023\u3057\u3066\u3044\u304b\u306a\u308b\u624b\u6570\u6599\u3082\u53d7\u3051\u53d6\u308a\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3001\u66f4\u65b0\u3001\u307e\u305f\u306f\u30b5\u30dd\u30fc\u30c8\u306e\u7fa9\u52d9\u306f\u3042\u308a\u307e\u305b\u3093\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u30c8\u30fc\u30af\u30f3\u5909\u63db\u3001\u30b9\u30ef\u30c3\u30d7\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3078\u306e\u53c2\u52a0\u3092\u58f2\u308a\u8fbc\u3080\u3001\u8cb7\u3044\u6c42\u3081\u308b\u3001\u307e\u305f\u306f\u63a8\u5968\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u6cd5\u7684\u3001\u8ca1\u52d9\u7684\u3001\u307e\u305f\u306f\u6295\u8cc7\u4e0a\u306e\u30a2\u30c9\u30d0\u30a4\u30b9\u306f\u63d0\u4f9b\u3055\u308c\u307e\u305b\u3093\u3002 \u30e6\u30fc\u30b6\u30fc\u306f\u81ea\u5206\u306e\u6d3b\u52d5\u306e\u5408\u6cd5\u6027\u3092\u5224\u65ad\u3059\u308b\u8cac\u4efb\u3092\u5358\u72ec\u3067\u8ca0\u3044\u307e\u3059\u3002\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u305f\u308a\u5909\u63db\u306b\u53c2\u52a0\u3057\u305f\u308a\u3059\u308b\u524d\u306b\u3001\u7ba1\u8f44\u533a\u57df\u306b\u9069\u7528\u3055\u308c\u308b\u6cd5\u5f8b\u3068\u898f\u5236\u3092\u78ba\u8a8d\u3057\u3001\u72ec\u7acb\u3057\u305f\u9867\u554f\u306b\u76f8\u8ac7\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5236\u88c1\u5bfe\u8c61\u306e\u500b\u4eba\u3084\u7d44\u7e54\u3001\u307e\u305f\u306f\u5236\u9650\u533a\u57df\u3067\u306e\u4f7f\u7528\u3092\u542b\u3080\u3001\u9055\u6cd5\u3068\u306a\u308b\u5834\u6240\u3067\u306e\u4f7f\u7528\u306f\u7981\u6b62\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u6cd5\u5f8b\u3067\u8a31\u53ef\u3055\u308c\u308b\u6700\u5927\u9650\u306e\u7bc4\u56f2\u3067\u3001\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u30b3\u30fc\u30c9\u306e\u4f7f\u7528\u307e\u305f\u306f\u5909\u63db\u3078\u306e\u53c2\u52a0\u306b\u8d77\u56e0\u3059\u308b\u307e\u305f\u306f\u95a2\u9023\u3059\u308b\u3059\u3079\u3066\u306e\u640d\u5931\u3001\u640d\u5bb3\u3001\u307e\u305f\u306f\u8acb\u6c42\u306b\u5bfe\u3059\u308b\u4e00\u5207\u306e\u8cac\u4efb\u3092\u5426\u8a8d\u3057\u307e\u3059\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306e\u30ec\u30d3\u30e5\u30fc\u3068\u4f7f\u7528\u306f\u3001\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u5229\u7528\u898f\u7d04\u304a\u3088\u3073\u30d7\u30ed\u30c8\u30b3\u30eb\u5229\u7528\u898f\u7d04\u306b\u5f93\u3044\u307e\u3059\u3002

DoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u306f\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30e6\u30fc\u30b6\u30fc\u304b\u3089SOL\u5efa\u3066\u306e\u53ce\u76ca\u3092\u53ce\u96c6\u3057\u307e\u3059\u304c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306f2Z\u5efa\u3066\u306e\u5831\u916c\u3092\u914d\u5e03\u3057\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u3001SOL\u30922Z\u306b\u5909\u63db\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u305d\u306e\u305f\u3081\u306b\u3001\u9069\u683c\u306a\u53c2\u52a0\u8005\u306fDoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306b\u5bfe\u3057\u3066\u30c8\u30ec\u30fc\u30c9\u3057\u3001\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u304b\u3089SOL\u3092\u8cfc\u5165\u3057\u30662Z\u3092\u58f2\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u4fa1\u683c\u8a2d\u5b9a\u306fPyth\u30d7\u30e9\u30a4\u30b9\u30d5\u30a3\u30fc\u30c9\u3068\u30d7\u30ed\u30b0\u30e9\u30de\u30c6\u30a3\u30c3\u30af\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u30e1\u30ab\u30cb\u30ba\u30e0\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u8aac\u660e\u3057\u307e\u3059\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306b\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u3059\u308b\u524d\u306b\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u6700\u5f8c\u306b\u3042\u308b\u514d\u8cac\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/Swapping-sol-to-2z/#_1","title":"\u30d7\u30ed\u30b0\u30e9\u30e0\u8a2d\u8a08","text":"

\u30b9\u30ef\u30c3\u30d7\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u5b9f\u8cea\u7684\u306b\u30011\u53d6\u5f15\u3042\u305f\u308a1 SOL\u306e\u56fa\u5b9a\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u3067SOL\u3092\u8ca9\u58f2\u3059\u308b\u7247\u5074\u6d41\u52d5\u6027\u30d7\u30fc\u30eb\u3067\u3059\u3002\u9069\u683c\u306a\u53c2\u52a0\u8005\u306fPyth\u306e\u30aa\u30e9\u30af\u30eb\u4fa1\u683c\u3068\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u308b\u4fa1\u683c\u3067\u30012Z\u3092\u9810\u3051\u5165\u308c\u3066\u30d7\u30ed\u30b0\u30e9\u30e0\u304b\u3089SOL\u3092\u5f15\u304d\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6642\u9593\u306e\u7d4c\u904e\u3068\u3068\u3082\u306b\u3001\u3053\u308c\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30c8\u30fc\u30af\u30f3\u30922Z\u306b\u5909\u63db\u3059\u308b\u3068\u3044\u3046\u30b4\u30fc\u30eb\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

\u5229\u7528\u3059\u308b\u306b\u306f\u3001\u30c8\u30ec\u30fc\u30c0\u30fc\u306f2\u3064\u306e\u6700\u65b0\u306ePyth\u4fa1\u683c\uff08SOL/USD\u304a\u3088\u30732Z/USD\uff09\u30682Z\u306e\u6570\u91cf\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u305d\u306e\u5f8c\u3001\u6697\u793a\u3055\u308c\u305fSOL/2Z\u4fa1\u683c\u306b\u57fa\u3065\u3044\u3066\u305d\u306e1 SOL\u3092\u8cfc\u5165\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a2Z\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u305d\u306e\u5f8c\u3044\u304f\u3064\u304b\u306e\u8ffd\u52a0\u30b9\u30c6\u30c3\u30d7\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\u3053\u306e\u6642\u70b9\u3067\u3001\u30c8\u30ec\u30fc\u30c0\u30fc\u304c\u3053\u306e\u8a08\u7b97\u3055\u308c\u305f\u4fa1\u683c\uff08\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u3092\u542b\u3080\uff09\u3067\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u306e\u306b\u5341\u5206\u306a2Z\u3092\u63d0\u4f9b\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u8a08\u7b97\u3055\u308c\u305f\u4fa1\u683c\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u30c8\u30ec\u30fc\u30c0\u30fc\u306b\u306f\u8cfc\u5165\u3057\u305fSOL\u3068\u4f59\u5206\u306a2Z\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002

\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306f\u305d\u306e\u5f8c\u3001\u305d\u306e\u30b9\u30ed\u30c3\u30c8\u3067\u306e\u30c8\u30ec\u30fc\u30c9\u3092\u3053\u308c\u4ee5\u4e0a\u8a31\u53ef\u3057\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001\u65e2\u5b58\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u304c\u6349\u3048\u306a\u3044\u307b\u3069Pyth\u4fa1\u683c\u304c\u4efb\u610f\u306e\u6642\u70b9\u3067\u771f\u306e\u4fa1\u683c\u304b\u3089\u5927\u304d\u304f\u96e2\u308c\u3066\u3044\u308b\u5834\u5408\u306b\u3001\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u304c\u904e\u5ea6\u306b\u9ad8\u3044\u30b9\u30ea\u30c3\u30da\u30fc\u30b8\u3092\u652f\u6255\u308f\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u3067\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#_2","title":"\u30ac\u30b9\u30ec\u30b9\u30a2\u30c8\u30df\u30c3\u30af\u5b9f\u884c","text":"

\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306fharvest-dz\u30b3\u30de\u30f3\u30c9\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u8aac\u660e\u3057\u307e\u3059\u3002\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f2\u3064\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u30a2\u30c8\u30df\u30c3\u30af\u306b\u5b9f\u884c\u3057\u307e\u3059\u3002 1. \u30b3\u30de\u30f3\u30c9\u306fJupiter\u306b\u30cd\u30a4\u30c6\u30a3\u30d6\u306eSOL <> 2Z\u5909\u63db\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u5bfe\u3059\u308b\u30af\u30a9\u30fc\u30c8\u3092\u8981\u6c42\u3057\u307e\u3059\u3002 2. Jupiter\u30eb\u30fc\u30c8\u304c\u30cd\u30a4\u30c6\u30a3\u30d6\u306eSOL\u5909\u63db\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u5fc5\u8981\u3068\u3059\u308b\u3088\u308a\u3082\u591a\u304f\u306e2Z/SOL\u3092\u751f\u6210\u3059\u308b\u5834\u5408\u3001harvest-2z\u306f\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3057\u30011 SOL\u30682Z\u306e\u5dee\u984d\u3092\u30a6\u30a9\u30ec\u30c3\u30c8\u306b\u8fd4\u3057\u307e\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#2z","title":"2Z\u306e\u30cf\u30fc\u30d9\u30b9\u30c8","text":"

\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution harvest-2z\n
\u51fa\u529b\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
\u30b3\u30de\u30f3\u30c9\u306f--dry-run\u5f15\u6570\u3067\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u30c9\u30e9\u30a4\u30e9\u30f3\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u30ed\u30b0\u3068\u6b21\u306e\u3088\u3046\u306a\u51fa\u529b\u3092\u751f\u6210\u3057\u307e\u3059\uff1a

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"ja/Swapping-sol-to-2z/#_3","title":"\u30d7\u30ed\u30c8\u30b3\u30eb\u5909\u63db","text":"

\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u5909\u63db\u30ec\u30fc\u30c8\u306e\u78ba\u8a8d\u3068doublezero-solana CLI\u3092\u4f7f\u7528\u3057\u305f\u5909\u63db\u306e\u5b9f\u884c\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002\u307e\u305f\u6700\u5f8c\u306b\u3001DoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u306e\u30ab\u30b9\u30bf\u30e0\u30d3\u30eb\u30c9\u7d71\u5408\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#doublezero-solanasol2z","title":"doublezero-solana\u3092\u901a\u3058\u3066SOL/2Z\u5909\u63db\u4fa1\u683c\u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5","text":"

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306eSOL/2Z\u5909\u63db\u30ec\u30fc\u30c8\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution fetch sol-conversion\n

\u8868\u793a\u3055\u308c\u308b\u51fa\u529b\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Journal Balance\u306f\u3001Revenue Distribution\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306b\u3069\u308c\u3060\u3051\u306eSOL\u6d41\u52d5\u6027\u304c\u3042\u308b\u304b\u3092\u30e6\u30fc\u30b6\u30fc\u306b\u901a\u77e5\u3057\u307e\u3059\u3002Journal Balance\u304c\u56fa\u5b9a\u53d6\u5f15\u30b5\u30a4\u30ba\u306e1 SOL\u3092\u8d85\u3048\u308b\u9650\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u53d6\u5f15\u3067\u304d\u307e\u3059\u3002

\u6700\u521d\u306e\u884c\u306f\u30aa\u30d5\u30c1\u30a7\u30fc\u30f3\u30aa\u30e9\u30af\u30eb\u306b\u3088\u308b\u300c\u771f\u306e\u300dSOL/2Z\u5909\u63db\u4fa1\u683c\u3092\u8868\u793a\u3057\u307e\u3059\u30022\u884c\u76ee\u306f\u30b9\u30ef\u30c3\u30d7\u306b\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3067\u4f7f\u7528\u3055\u308c\u308b\u5909\u63db\u4fa1\u683c\u3067\u3001\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c8\u306e\u305f\u3081\u306b\u771f\u306e\u4fa1\u683c\u3092\u8abf\u6574\u3057\u305f\u3082\u306e\u3067\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#doublezero-solana2zsol","title":"doublezero-solana\u3092\u901a\u3058\u30662Z\u3092SOL\u306b\u5909\u63db\u3059\u308b\u65b9\u6cd5","text":"

2Z\u30c8\u30fc\u30af\u30f3\u3092\u30de\u30eb\u30c1\u306b\u5909\u63db\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution convert-2z\n

\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u3001\u5341\u5206\u306aSOL\u6d41\u52d5\u6027\u304c\u3042\u308a\u3001ATA\u306b\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3059\u308b\u306e\u306b\u5341\u5206\u306a2Z\u304c\u3042\u308b\u5834\u5408\u3001\u3053\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306f\u6210\u529f\u3057\u307e\u3059\u3002\u6b21\u306e\u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u30b9\u30ef\u30c3\u30d7\u3092\u3088\u308a\u7d30\u304b\u304f\u8abf\u6574\u3067\u304d\u307e\u3059\uff1a

      --limit-price <DECIMAL>                    \u6307\u5024\u4fa1\u683c\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u73fe\u5728\u306eSOL/2Z\u30aa\u30e9\u30af\u30eb\u4fa1\u683c\n      --source-2z-account <PUBKEY>               \u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u30b5\u30a4\u30ca\u30fc\u304c\u6240\u6709\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u306f\u30b5\u30a4\u30ca\u30fcATA\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\n      --checked-sol-amount <SOL>                 SOL\u91d1\u984d\u3092\u660e\u793a\u7684\u306b\u78ba\u8a8d\u3057\u307e\u3059\u3002\u6307\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u91d1\u984d\u306f\u56fa\u5b9a\u30d5\u30a3\u30eb\u6570\u91cf\u306b\u5bfe\u3057\u3066\u78ba\u8a8d\u3055\u308c\u307e\u3059\n

\u6307\u5b9a\u3055\u308c\u305f\u6307\u5024\u4fa1\u683c\u306f\u3001SOL/2Z\u5909\u63db\u3092\u5b9f\u884c\u3059\u308b\u969b\u306b\u53d7\u3051\u5165\u308c\u308b\u6700\u60aa\u306e\u30b1\u30fc\u30b9\u306e\u4fa1\u683c\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001SOL\u306e\u30c7\u30a3\u30b9\u30ab\u30a6\u30f3\u30c82Z\u4fa1\u683c\u304c800\uff081 SOL\u306b\u5bfe\u3057\u3066800 2Z\u30c8\u30fc\u30af\u30f3\uff09\u3060\u3068\u3057\u307e\u3059\u3002\u6307\u5024\u4fa1\u683c\u3092790\u306b\u6307\u5b9a\u3057\u305f\u5834\u5408\u30011 SOL\u306b\u5bfe\u3057\u3066\u6700\u5927790 2Z\u30c8\u30fc\u30af\u30f3\u3057\u304b\u30b9\u30ef\u30c3\u30d7\u3057\u305f\u304f\u306a\u3044\u305f\u3081\u3001\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3057\u3088\u3046\u3068\u3057\u307e\u305b\u3093\u3002\u3057\u304b\u3057810\u3092\u6307\u5b9a\u3057\u305f\u5834\u5408\u3001\u6700\u5927810 2Z\u30c8\u30fc\u30af\u30e0\uff08\u3053\u306e\u5834\u5408\u3001\u3053\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3067800 2Z\u30c8\u30fc\u30af\u30f3\u306e\u307f\u30b9\u30ef\u30c3\u30d7\uff09\u3092\u559c\u3093\u3067\u30b9\u30ef\u30c3\u30d7\u3059\u308b\u306e\u3067\u3001\u53d6\u5f15\u306f\u901a\u308a\u307e\u3059\u3002

\u30bd\u30fc\u30b92Z\u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u3001\u3053\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u306eATA\u3092\u30b5\u30a4\u30ca\u30fc\u3092\u3053\u306e2Z ATA\u306e\u6240\u6709\u8005\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3088\u308a\u3082\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u30b9\u30ef\u30c3\u30d7\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u305f\u3044\u5225\u306e\u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u5f15\u6570\u3067\u305d\u306e\u516c\u958b\u9375\u3092\u63d0\u4f9b\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066\u3001\u78ba\u8a8d\u3057\u305f\u3044SOL\u91d1\u984d\u3092\u6a19\u6e96\u306e\u30d5\u30a3\u30eb\u30b5\u30a4\u30ba\uff08\u8d77\u52d5\u6642\u306b1 SOL\u306b\u8a2d\u5b9a\uff09\u306b\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d5\u30a3\u30eb\u30b5\u30a4\u30ba\u3068\u4e00\u81f4\u3057\u306a\u3044\u5834\u5408\u3001\u30b9\u30ef\u30c3\u30d7\u306f\u5931\u6557\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d5\u30a3\u30eb\u30b5\u30a4\u30ba\u304c\u5909\u308f\u308a\u6c17\u3065\u304b\u306a\u3044\u3068\u3044\u3046\u30ea\u30b9\u30af\u3092\u8efd\u6e1b\u3057\u307e\u3059\u3002

"},{"location":"ja/Swapping-sol-to-2z/#sol","title":"SOL\u3092\u8cfc\u5165\u3059\u308b\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9","text":"

\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068doublezero-solana CLI\u306f\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u3042\u308a\u307e\u3059\u3002DoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u306b\u3042\u308a\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0ID\u306f9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs\u3067\u3059\u3002

buy SOL\u547d\u4ee4\u306b\u5fc5\u8981\u306a\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u751f\u6210\u3059\u308b\u4fbf\u5229\u306a\u65b9\u6cd5\u306f\u3001new\u30e1\u30bd\u30c3\u30c9\uff08instruction/account.rs\u306b\u3042\u308b\uff09\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3059\u3002

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key\u306fProgramState\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // \u3053\u306e\u30ad\u30fc\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

\u3042\u308b\u3044\u306f\u3001Solana RPC\u3092\u901a\u3058\u3066\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u3067getProgramAccounts\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u3053\u306e\u516c\u958b\u9375\u306f\u6c7a\u3057\u3066\u5909\u308f\u3089\u306a\u3044\u306e\u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u3059\u308b\u3053\u3068\u3092\u63a8\u5968\u3057\u307e\u3059\u3002

user_key\u306fbuy SOL\u547d\u4ee4\u306e\u30b5\u30a4\u30ca\u30fc\u3067\u3042\u308a\u3001user_token_account_key\u306e\u6240\u6709\u8005\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u4e0a\u8a18\u306e\u3088\u3046\u306b\u3001\u3053\u308c\u306fATA\u3067\u3042\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u30022Z\u30c8\u30fc\u30af\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8\u304cuser_key\u306b\u3088\u3063\u3066\u6240\u6709\u3055\u308c\u3066\u3044\u308b\u9650\u308a\u3001\u3053\u306e\u547d\u4ee4\u306f\u6210\u529f\u3057\u307e\u3059\u3002

BuySolAccounts\u69cb\u9020\u4f53\u306fInto<Vec<AccountMeta>>\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u547d\u4ee4\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3059\u3079\u3066\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u30e1\u30bf\u3092\u751f\u6210\u3067\u304d\u307e\u3059\u3002

\u547d\u4ee4\u30c7\u30fc\u30bf\u306f

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

\u3053\u306e\u547d\u4ee4\u30c7\u30fc\u30bf\u306fBorsh\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3055\u308c\u3066\u304a\u308a\u30018\u30d0\u30a4\u30c8\u306eAnchor\u30bb\u30ec\u30af\u30bf\u30fc\u304c\u3042\u308a\u3001BorshSerialize::serialize\u3092\u4f7f\u7528\u3059\u308b\u3068\u3059\u3079\u3066\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3055\u308c\u307e\u3059\u3002

\u30aa\u30e9\u30af\u30eb\u4fa1\u683c\u30c7\u30fc\u30bf\u306f\u3053\u306e\u30d1\u30d6\u30ea\u30c3\u30af\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304b\u3089\u53d6\u5f97\u3067\u304d\u307e\u3059\uff1ahttps://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate\u3002\u30c7\u30fc\u30bf\u306foracle.rs\u306b\u3042\u308bOraclePriceData\u69cb\u9020\u4f53\u3092\u4f7f\u7528\u3057\u3066serde\u3067\u30c7\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u53ef\u80fd\u3067\u3059\u3002

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

reqwest\u30af\u30ec\u30fc\u30c8\u3092\u4f7f\u7528\u3057\u305f\u53d6\u5f97\u306e\u4f8b\uff1a

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

\u30d7\u30ed\u30b0\u30e9\u30e0ID\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u547d\u4ee4\u30c7\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066\u3001DoubleZero\u30b9\u30ef\u30c3\u30d7\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u304b\u3089SOL\u3092\u8cfc\u5165\u3059\u308b\u547d\u4ee4\u3092\u69cb\u7bc9\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/Validator%20Multicast%20Connection/","title":"\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a","text":"

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\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

\u307e\u3060DoubleZero\u306b\u63a5\u7d9a\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u63a5\u7d9a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u5b8c\u4e86\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u65e2\u306bDoubleZero\u306b\u63a5\u7d9a\u3057\u3066\u3044\u308b\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u3001\u3053\u306e\u30ac\u30a4\u30c9\u3092\u7d9a\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/Validator%20Multicast%20Connection/#jito-agave319","title":"Jito-Agave\uff08\u30d0\u30fc\u30b8\u30e7\u30f33.1.9\u4ee5\u4e0a\uff09","text":"
  1. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u8d77\u52d5\u30b9\u30af\u30ea\u30d7\u30c8\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\uff1a--shred-receiver-address 233.84.178.1:7733

    Jito\u3068Bebop\u30b0\u30eb\u30fc\u30d7\u306b\u540c\u6642\u306b\u9001\u4fe1\u3067\u304d\u307e\u3059\u3002

    \u4f8b\uff1a

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...\u305d\u306e\u4ed6\u306e\u8a2d\u5b9a...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002

  3. \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u3057\u3066DoubleZero\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7bebop\u306b\u63a5\u7d9a\u3057\u307e\u3059\uff1a doublezero connect multicast --publish bebop

"},{"location":"ja/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. config.toml\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\uff1a
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002

  3. \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u3057\u3066DoubleZero\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7bebop\u306b\u63a5\u7d9a\u3057\u307e\u3059\uff1a doublezero connect multicast --publish bebop

Note

XDP\u30c9\u30e9\u30a4\u30d0\u30fc\u30e2\u30fc\u30c9\u306eFrankendancer\u30e6\u30fc\u30b6\u30fc\u306ftcpdump\u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u73fe\u5728\u3001\u516c\u958b\u4e2d\u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u8fd1\u3044\u3046\u3061\u306b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u304c\u63d0\u4f9b\u3055\u308c\u308b\u4e88\u5b9a\u3067\u3059\u3002

"},{"location":"ja/Validator%20Multicast%20Connection/#_2","title":"\u516c\u958b\u4e2d\u306e\u78ba\u8a8d","text":"

\u6b21\u306e\u30ea\u30fc\u30c0\u30fc\u30b9\u30ed\u30c3\u30c8\u4e2d\u306btcpdump\u3092\u4f7f\u7528\u3057\u3066\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u516c\u958b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u30b7\u30e5\u30ec\u30c3\u30c9\u3092\u516c\u958b\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b10\u79d2\u3054\u3068\u306b\u30cf\u30fc\u30c8\u30d3\u30fc\u30c8\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

\u5b9f\u884c\uff1asudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

\u516c\u958b\u4e2d\u306e\u51fa\u529b\u4f8b\uff1a

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"ja/architecture/","title":"\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3","text":"

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\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u3055\u307e\u3056\u307e\u306a\u30a2\u30af\u30bf\u30fc\u3068\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u4f55\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u304b\uff1f

\u56f31\uff1a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8"},{"location":"ja/architecture/#_2","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3001\u4e16\u754c\u4e2d\u306e\u90fd\u5e02\u306b\u3042\u308b\u6210\u9577\u4e2d\u306e\u5206\u6563\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u304b\u3089\u306e\u63a5\u7d9a\u6027\u3068\u30d1\u30b1\u30c3\u30c8\u51e6\u7406\u306e\u8ca2\u732e\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u5206\u6563\u578b\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u30ea\u30f3\u30af\u3068\u60c5\u5831\u51e6\u7406\u30ea\u30bd\u30fc\u30b9\u3092\u30d7\u30ed\u30c8\u30b3\u30eb\u306b\u63d0\u4f9b\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_3","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30012\u70b9\u9593\u306b\u5c02\u7528\u5e2f\u57df\u5e45\u3092\u63d0\u4f9b\u3057\u3001\u5404\u7aef\u306bDoubleZero\u4e92\u63db\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u904b\u7528\u3057\u3001\u5404\u7aef\u3067\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u304c\u5fc5\u8981\u3067\u3059\u3002\u307e\u305f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3001\u30e6\u30fc\u30b6\u30fc\u691c\u7d22\u3001\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u306a\u3069\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u5404DZD\u3067DoubleZero\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u7269\u7406\u30ea\u30f3\u30af\u306f\u3001\u4e00\u822c\u306b\u30a6\u30a7\u30fc\u30d6\u30ec\u30f3\u30b0\u30b9\u30b5\u30fc\u30d3\u30b9\u3068\u547c\u3070\u308c\u308b\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u306e\u5f62\u3067\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304b\u3089\u6240\u6709\u307e\u305f\u306f\u8cc3\u501f\u3057\u305f\u672a\u6d3b\u7528\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u30922\u3064\u4ee5\u4e0a\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u3067\u30b3\u30df\u30c3\u30c8\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30ea\u30f3\u30af\u306f\u4e21\u7aef\u3067DoubleZero\u30c7\u30d0\u30a4\u30b9\u306b\u3088\u3063\u3066\u7d42\u7aef\u3055\u308c\u3001DoubleZero\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5b9f\u884c\u3059\u308b\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30a4\u30c3\u30c1\u30f3\u30b0\u30a8\u30f3\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3067\u3059\u3002

"},{"location":"ja/architecture/#doublezero-exchangedzx","title":"DoubleZero Exchange\uff08DZX / \u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u30b5\u30a4\u30c8\uff09","text":"

DoubleZero Exchange\uff08DZX\uff09\u306f\u3001\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30ea\u30f3\u30af\u304c\u6a4b\u6e21\u3057\u3055\u308c\u308b\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u76f8\u4e92\u63a5\u7d9a\u70b9\u3067\u3059\u3002DZX\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4ea4\u5dee\u70b9\u304c\u767a\u751f\u3059\u308b\u4e16\u754c\u4e2d\u306e\u4e3b\u8981\u306a\u5927\u90fd\u5e02\u570f\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u30ea\u30f3\u30af\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306b\u5730\u7406\u7684\u306b\u6700\u3082\u8fd1\u3044DZX\u3067\u30ea\u30f3\u30af\u3092\u3088\u308a\u5e83\u3044DoubleZero\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/architecture/#_4","title":"\u8a08\u7b97\u30ea\u30bd\u30fc\u30b9\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u306f\u5225\u306b\u3001\u30ea\u30bd\u30fc\u30b9\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306fDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u6280\u8853\u7684\u6574\u5408\u6027\u3068\u7d99\u7d9a\u7684\u306a\u6a5f\u80fd\u6027\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3055\u307e\u3056\u307e\u306a\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u304a\u3088\u3073\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u7fa9\u52d9\u3092\u5b9f\u884c\u3059\u308b\u5206\u6563\u578b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u53c2\u52a0\u8005\u30b0\u30eb\u30fc\u30d7\u3067\u3059\u3002\u5177\u4f53\u7684\u306b\u306f\u3001\u5f7c\u3089\u306f(i)\u30e6\u30fc\u30b6\u30fc\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3068\u652f\u6255\u3044\u3092\u8ffd\u8de1\u3057\u3001(ii)\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u624b\u6570\u6599\u3092\u8a08\u7b97\u3057\u3001(iii)(i)\u3068(ii)\u306e\u7d50\u679c\u3092\u8a18\u9332\u3057\u3001(iv)\u30d7\u30ed\u30c8\u30b3\u30eb\u30c8\u30fc\u30af\u30ce\u30df\u30af\u30b9\u3092\u5236\u5fa1\u3059\u308b\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3092\u53b3\u5bc6\u306b\u975e\u88c1\u91cf\u7684\u306a\u57fa\u6e96\u3067\u7ba1\u7406\u3057\u3001(v)\u9069\u7528\u3055\u308c\u308b\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u3078\u306e\u8a3c\u660e\u3092\u30ea\u30ec\u30fc\u3057\u3001(vi)\u3059\u3079\u3066\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u900f\u660e\u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6307\u6a19\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u30ea\u30f3\u30af\u54c1\u8cea\u3068\u5229\u7528\u7387\u306b\u95a2\u3059\u308b\u30c6\u30ec\u30e1\u30c8\u30ea\u30c7\u30fc\u30bf\u3092\u516c\u958b\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_5","title":"\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8","text":""},{"location":"ja/architecture/#doublezero","title":"DoubleZero\u30c7\u30fc\u30e2\u30f3","text":"

DoubleZero\u30c7\u30fc\u30e2\u30f3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306f\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4ecb\u3057\u3066\u901a\u4fe1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u30b5\u30fc\u30d0\u30fc\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u30c7\u30fc\u30e2\u30f3\u306f\u30db\u30b9\u30c8\u306e\u30ab\u30fc\u30cd\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u30b9\u30bf\u30c3\u30af\u3068\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3057\u3066\u3001\u30c8\u30f3\u30cd\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30c6\u30fc\u30d6\u30eb\u3001\u304a\u3088\u3073\u30eb\u30fc\u30c8\u3092\u4f5c\u6210\u304a\u3088\u3073\u7ba1\u7406\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_6","title":"\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30bf\u30fc","text":"

DoubleZero\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e1\u3064\u4ee5\u4e0a\u306e\u8a08\u7b97\u30ea\u30bd\u30fc\u30b9\u8ca2\u732e\u30e1\u30f3\u30d0\u30fc\u304c\u30db\u30b9\u30c8\u3059\u308b\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30bf\u30fc\u30b5\u30fc\u30d3\u30b9\u306f\u3001IP\u30a2\u30c9\u30ec\u30b9\u5272\u308a\u5f53\u3066\u3068\u72b6\u614b\u5909\u66f4\u3092\u5fc5\u8981\u3068\u3059\u308b\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u30a4\u30d9\u30f3\u30c8\u3092\u76e3\u8996\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u4ee3\u308f\u3063\u3066\u305d\u308c\u3089\u306e\u5909\u66f4\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_7","title":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc","text":"

DoubleZero\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306e1\u3064\u4ee5\u4e0a\u306e\u8a08\u7b97\u30ea\u30bd\u30fc\u30b9\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u30db\u30b9\u30c8\u3059\u308b\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u306f\u3001\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u30a4\u30d9\u30f3\u30c8\u306b\u57fa\u3065\u3044\u3066\u73fe\u5728\u306e\u8a2d\u5b9a\u3092\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u3059\u308b\u305f\u3081\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u8a2d\u5b9a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_8","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8","text":"

\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306fDoubleZero\u30c7\u30d0\u30a4\u30b9\u4e0a\u3067\u76f4\u63a5\u5b9f\u884c\u3055\u308c\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u306b\u3088\u3063\u3066\u89e3\u91c8\u3055\u308c\u305f\u8a2d\u5b9a\u5909\u66f4\u3092\u30c7\u30d0\u30a4\u30b9\u306b\u9069\u7528\u3057\u307e\u3059\u3002\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306f\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306b\u8a2d\u5b9a\u5909\u66f4\u3092\u30dd\u30fc\u30ea\u30f3\u30b0\u3057\u3001\u30c7\u30d0\u30a4\u30b9\u72b6\u614b\u306e\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u6b63\u898f\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u30c7\u30d0\u30a4\u30b9\u4e0a\u306e\u30a2\u30af\u30c6\u30a3\u30d6\u8a2d\u5b9a\u306e\u5dee\u5206\u3092\u8a08\u7b97\u3057\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u8a2d\u5b9a\u3092\u8abf\u6574\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5909\u66f4\u3092\u9069\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/architecture/#_9","title":"\u30c7\u30d0\u30a4\u30b9","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30ea\u30f3\u30af\u7d42\u7aef\u3092\u63d0\u4f9b\u3059\u308b\u7269\u7406\u30c7\u30d0\u30a4\u30b9\u30a8\u30f3\u30af\u30ed\u30fc\u30b8\u30e3\u30fc\u3067\u3059\u3002DZD\u306fDoubleZero\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3057\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u8aad\u307f\u53d6\u3089\u308c\u305f\u30c7\u30fc\u30bf\u306b\u57fa\u3065\u3044\u3066\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/connect/","title":"Connect","text":"

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.

\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3055\u308c\u306a\u3044\u5834\u5408\u306f\u3001\u3053\u3061\u3089\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-operations/","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u5411\u3051\u904b\u7528\u30ac\u30a4\u30c9","text":"

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.

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u30c7\u30d0\u30a4\u30b9/\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u66f4\u65b0\u3001\u30ea\u30f3\u30af\u7ba1\u7406\u306a\u3069\u3001DoubleZero\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u306e\u7d99\u7d9a\u7684\u306a\u904b\u7528\u30bf\u30b9\u30af\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002

\u524d\u63d0\u6761\u4ef6\uff1a\u3053\u306e\u30ac\u30a4\u30c9\u3092\u4f7f\u7528\u3059\u308b\u524d\u306b\u3001\u4ee5\u4e0b\u3092\u5b8c\u4e86\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/contribute-operations/#_2","title":"\u30c7\u30d0\u30a4\u30b9\u306e\u66f4\u65b0","text":"

\u521d\u671f\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u5f8c\u306b\u30c7\u30d0\u30a4\u30b9\u8a2d\u5b9a\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001doublezero device update\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

\u4e00\u822c\u7684\u306a\u66f4\u65b0\u30aa\u30d7\u30b7\u30e7\u30f3\uff1a

\u30aa\u30d7\u30b7\u30e7\u30f3 \u8aac\u660e --device-type <TYPE> \u52d5\u4f5c\u30e2\u30fc\u30c9\u3092\u5909\u66f4\uff1ahybrid\u3001transit\u3001edge\uff08\u30c7\u30d0\u30a4\u30b9\u30bf\u30a4\u30d7\u3092\u53c2\u7167\uff09 --location <LOCATION> \u30c7\u30d0\u30a4\u30b9\u3092\u5225\u306e\u5834\u6240\u306b\u79fb\u52d5 --metrics-publisher <PUBKEY> \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u3092\u5909\u66f4"},{"location":"ja/contribute-operations/#_3","title":"\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u66f4\u65b0","text":"

\u65e2\u5b58\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001doublezero device interface update\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306finterface create\u3068\u540c\u3058\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u53d7\u3051\u4ed8\u3051\u307e\u3059\u3002

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

CYOA/DIA\u8a2d\u5b9a\u3092\u542b\u3080\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5b8c\u5168\u306a\u30ea\u30b9\u30c8\u306b\u3064\u3044\u3066\u306f\u3001\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u4f5c\u6210\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u4f8b - \u65e2\u5b58\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306bCYOA\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3059\u308b\uff1a

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"ja/contribute-operations/#_4","title":"\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u4e00\u89a7\u8868\u793a","text":"
doublezero device interface list              # \u3059\u3079\u3066\u306e\u30c7\u30d0\u30a4\u30b9\u306e\u3059\u3079\u3066\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\ndoublezero device interface list <DEVICE>     # \u7279\u5b9a\u306e\u30c7\u30d0\u30a4\u30b9\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\n
"},{"location":"ja/contribute-operations/#config","title":"Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9","text":"

Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-operations/#1","title":"1. \u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ja/contribute-operations/#2","title":"2. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#3","title":"3. \u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3059\u308b","text":"

\u307e\u305a\u3001\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

switch# show extensions\n

\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3057\u307e\u3059\u3002<OLD_VERSION>\u3092\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u5f97\u305f\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\uff1a

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ja/contribute-operations/#4","title":"4. \u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-operations/#5","title":"5. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3092\u89e3\u9664\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#6","title":"6. \u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u300cA, I, B\u300d\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

switch# show extensions\n

"},{"location":"ja/contribute-operations/#7-configoutput","title":"7. Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30ed\u30b0Output\u3092\u78ba\u8a8d\u3059\u308b","text":"
show agent doublezero-agent log\n
"},{"location":"ja/contribute-operations/#telemetry","title":"Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9","text":"

Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-operations/#1_1","title":"1. \u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ja/contribute-operations/#2_1","title":"2. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#3_1","title":"3. \u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3059\u308b","text":"

\u307e\u305a\u3001\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

switch# show extensions\n

\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u524a\u9664\u3057\u307e\u3059\u3002<OLD_VERSION>\u3092\u4e0a\u8a18\u306e\u51fa\u529b\u304b\u3089\u5f97\u305f\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\uff1a

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ja/contribute-operations/#4_1","title":"4. \u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-operations/#5_1","title":"5. \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3092\u89e3\u9664\u3059\u308b","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ja/contribute-operations/#6_1","title":"6. \u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30b9\u30c6\u30fc\u30bf\u30b9\u304c\u300cA, I, B\u300d\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002

switch# show extensions\n

"},{"location":"ja/contribute-operations/#7-telemetryoutput","title":"7. Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30ed\u30b0Output\u3092\u78ba\u8a8d\u3059\u308b","text":"
show agent doublezero-telemetry log\n
"},{"location":"ja/contribute-operations/#_5","title":"\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0","text":"

\u26a0\ufe0f \u91cd\u8981\uff1a

  1. \u4ee5\u4e0b\u306e\u8a2d\u5b9a\u4f8b\u3067\u306f\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u7ba1\u7406VRF\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002
  2. Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3068Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u30e1\u30c8\u30ea\u30af\u30b9\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306b\u540c\u3058\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\uff08:8080\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u4e21\u65b9\u3067\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b\u5834\u5408\u306f\u3001-metrics-addr\u30d5\u30e9\u30b0\u3092\u4f7f\u7528\u3057\u3066\u5404\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u56fa\u6709\u306e\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
"},{"location":"ja/contribute-operations/#config_1","title":"Config\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30e1\u30c8\u30ea\u30af\u30b9","text":"

DoubleZero\u30c7\u30d0\u30a4\u30b9\u4e0a\u306eConfig\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3001doublezero-agent\u30c7\u30fc\u30e2\u30f3\u8a2d\u5b9a\u3067-metrics-enable\u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001Prometheus\u4e92\u63db\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u516c\u958b\u3067\u304d\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\u306ftcp/8080\u3067\u3059\u304c\u3001-metrics-addr\u3067\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u5909\u66f4\u3067\u304d\u307e\u3059\uff1a

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

Go\u30e9\u30f3\u30bf\u30a4\u30e0\u30e1\u30c8\u30ea\u30af\u30b9\u3068\u3068\u3082\u306b\u3001\u4ee5\u4e0b\u306eDoubleZero\u56fa\u6709\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u516c\u958b\u3055\u308c\u307e\u3059\uff1a

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"ja/contribute-operations/#_6","title":"\u91cd\u8981\u306a\u30a8\u30e9\u30fc\u30b7\u30b0\u30ca\u30eb","text":""},{"location":"ja/contribute-operations/#telemetry_1","title":"Telemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30e1\u30c8\u30ea\u30af\u30b9","text":"

DoubleZero\u30c7\u30d0\u30a4\u30b9\u4e0a\u306eTelemetry\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f\u3001doublezero-telemetry\u30c7\u30fc\u30e2\u30f3\u8a2d\u5b9a\u3067-metrics-enable\u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001Prometheus\u4e92\u63db\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u516c\u958b\u3067\u304d\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30ea\u30b9\u30cb\u30f3\u30b0\u30dd\u30fc\u30c8\u306ftcp/8080\u3067\u3059\u304c\u3001-metrics-addr\u3067\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u5909\u66f4\u3067\u304d\u307e\u3059\uff1a

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

Go\u30e9\u30f3\u30bf\u30a4\u30e0\u30e1\u30c8\u30ea\u30af\u30b9\u3068\u3068\u3082\u306b\u3001\u4ee5\u4e0b\u306eDoubleZero\u56fa\u6709\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u516c\u958b\u3055\u308c\u307e\u3059\uff1a

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"ja/contribute-operations/#_7","title":"\u91cd\u8981\u306a\u30a8\u30e9\u30fc\u30b7\u30b0\u30ca\u30eb","text":""},{"location":"ja/contribute-operations/#_8","title":"\u30ea\u30f3\u30af\u7ba1\u7406","text":""},{"location":"ja/contribute-operations/#_9","title":"\u30ea\u30f3\u30af\u30c9\u30ec\u30a4\u30f3","text":"

\u30ea\u30f3\u30af\u30c9\u30ec\u30a4\u30f3\u306b\u3088\u308a\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3084\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u305f\u3081\u306b\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u30ea\u30f3\u30af\u3092\u6b63\u5e38\u306b\u524a\u9664\u3067\u304d\u307e\u3059\u30022\u3064\u306e\u30c9\u30ec\u30a4\u30f3\u72b6\u614b\u304c\u3042\u308a\u307e\u3059\uff1a

\u30b9\u30c6\u30fc\u30bf\u30b9 IS-IS\u52d5\u4f5c \u8aac\u660e soft-drained \u30e1\u30c8\u30ea\u30af\u30b9\u30921,000,000\u306b\u8a2d\u5b9a \u30ea\u30f3\u30af\u306e\u512a\u5148\u5ea6\u304c\u4e0b\u3052\u3089\u308c\u307e\u3059\u3002\u4ee3\u66ff\u30d1\u30b9\u304c\u5229\u7528\u53ef\u80fd\u306a\u5834\u5408\u306f\u305d\u3061\u3089\u3092\u4f7f\u7528\u3057\u307e\u3059\u304c\u3001\u4ed6\u306b\u9078\u629e\u80a2\u304c\u306a\u3044\u5834\u5408\u306f\u3053\u306e\u30ea\u30f3\u30af\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 hard-drained \u30d1\u30c3\u30b7\u30d6\u306b\u8a2d\u5b9a \u30ea\u30f3\u30af\u304c\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u304b\u3089\u5b8c\u5168\u306b\u524a\u9664\u3055\u308c\u307e\u3059\u3002\u3053\u306e\u30ea\u30f3\u30af\u3092\u901a\u904e\u3059\u308b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},{"location":"ja/contribute-operations/#_10","title":"\u72b6\u614b\u9077\u79fb","text":"

\u4ee5\u4e0b\u306e\u72b6\u614b\u9077\u79fb\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u3059\uff1a

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (must go through soft-drained first)\n

\u26a0\ufe0f \u6ce8\u610f\uff1a hard-drained\u304b\u3089\u76f4\u63a5activated\u306b\u79fb\u884c\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u307e\u305asoft-drained\u306b\u9077\u79fb\u3057\u3066\u304b\u3089activated\u306b\u79fb\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute-operations/#_11","title":"\u30ea\u30f3\u30af\u306e\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3","text":"

\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3\u306f\u3001IS-IS\u30e1\u30c8\u30ea\u30af\u30b9\u30921,000,000\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u30ea\u30f3\u30af\u306e\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u307e\u3059\u3002\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u4ee3\u66ff\u30d1\u30b9\u3092\u512a\u5148\u3057\u307e\u3059\u304c\u3001\u5fc5\u8981\u306a\u5834\u5408\u306f\u3053\u306e\u30ea\u30f3\u30af\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"ja/contribute-operations/#_12","title":"\u30ea\u30f3\u30af\u306e\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3","text":"

\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3\u306f\u3001IS-IS\u3092\u30d1\u30c3\u30b7\u30d6\u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u30ea\u30f3\u30af\u3092\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u304b\u3089\u5b8c\u5168\u306b\u524a\u9664\u3057\u307e\u3059\u3002\u3053\u306e\u30ea\u30f3\u30af\u3092\u901a\u904e\u3059\u308b\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u3042\u308a\u307e\u305b\u3093\u3002

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"ja/contribute-operations/#_13","title":"\u30ea\u30f3\u30af\u3092\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u5fa9\u5143\u3059\u308b","text":"

\u30c9\u30ec\u30a4\u30f3\u3055\u308c\u305f\u30ea\u30f3\u30af\u3092\u901a\u5e38\u306e\u52d5\u4f5c\u306b\u623b\u3059\u306b\u306f\uff1a

# soft-drained\u304b\u3089\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# hard-drained\u304b\u3089\uff08\u5148\u306bsoft-drained\u3092\u7d4c\u7531\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff09\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"ja/contribute-operations/#_14","title":"\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9","text":"

\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u6a5f\u80fd\u306b\u3088\u308a\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u5b9f\u969b\u306b\u6e2c\u5b9a\u3055\u308c\u305f\u9045\u5ef6\u5024\u3092\u5909\u66f4\u305b\u305a\u306b\u3001\u30ea\u30f3\u30af\u306e\u6709\u52b9\u306a\u9045\u5ef6\u3092\u4e00\u6642\u7684\u306b\u5909\u66f4\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30ea\u30f3\u30af\u3092\u30d7\u30e9\u30a4\u30de\u30ea\u30d1\u30b9\u304b\u3089\u30bb\u30ab\u30f3\u30c0\u30ea\u30d1\u30b9\u306b\u4e00\u6642\u7684\u306b\u964d\u683c\u3059\u308b\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002

"},{"location":"ja/contribute-operations/#_15","title":"\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u8a2d\u5b9a\u3059\u308b","text":"

\u30ea\u30f3\u30af\u306e\u9045\u5ef6\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b\uff08\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3067\u306e\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u308b\uff09\u306b\u306f\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

\u6709\u52b9\u306a\u5024\u306f0.01\u301c1000\u30df\u30ea\u79d2\u3067\u3059\u3002

"},{"location":"ja/contribute-operations/#_16","title":"\u9045\u5ef6\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u89e3\u9664\u3059\u308b","text":"

\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u524a\u9664\u3057\u3066\u5b9f\u969b\u306b\u6e2c\u5b9a\u3055\u308c\u305f\u9045\u5ef6\u306e\u4f7f\u7528\u306b\u623b\u308b\u306b\u306f\uff1a

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f \u6ce8\u610f\uff1a \u30ea\u30f3\u30af\u304csoft-drained\u306e\u5834\u5408\u3001\u512a\u5148\u5ea6\u3092\u4e0b\u3052\u308b\u305f\u3081\u306bdelay_ms\u3068delay_override_ms\u306e\u4e21\u65b9\u304c1000ms\uff081\u79d2\uff09\u306b\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/contribute-overview/","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8","text":"

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.

\u7528\u8a9e

DoubleZero\u3092\u521d\u3081\u3066\u5229\u7528\u3057\u307e\u3059\u304b\uff1f\u7528\u8a9e\u96c6\u3067DZD\u3001DZX\u3001CYOA\u306a\u3069\u306e\u4e3b\u8981\u306a\u7528\u8a9e\u306e\u5b9a\u7fa9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

DoubleZero\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\u3088\u3046\u3053\u305d\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306a\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3059\u3079\u3066\u3092\u30ab\u30d0\u30fc\u3057\u3066\u3044\u307e\u3059\u3002

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306a\u308b\u3053\u3068\u306b\u8208\u5473\u304c\u3042\u308a\u307e\u3059\u304b\uff1f

\u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30da\u30fc\u30b8\u3092\u78ba\u8a8d\u3057\u3066\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u8ca2\u732e\u306b\u5fc5\u8981\u306a\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3001\u5e2f\u57df\u5e45\u3001\u63a5\u7d9a\u6027\u3092\u7406\u89e3\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-overview/#_2","title":"\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8","text":"

\u3053\u306e\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\u3092\u4f7f\u3063\u3066\u9032\u6357\u3092\u8ffd\u8de1\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u8ca2\u732e\u304c\u6280\u8853\u7684\u306b\u904b\u7528\u53ef\u80fd\u306b\u306a\u308b\u524d\u306b\u3059\u3079\u3066\u306e\u9805\u76ee\u3092\u5b8c\u4e86\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute-overview/#1","title":"\u30d5\u30a7\u30fc\u30ba1\uff1a\u524d\u63d0\u6761\u4ef6","text":""},{"location":"ja/contribute-overview/#2","title":"\u30d5\u30a7\u30fc\u30ba2\uff1a\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7","text":""},{"location":"ja/contribute-overview/#3","title":"\u30d5\u30a7\u30fc\u30ba3\uff1a\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0","text":""},{"location":"ja/contribute-overview/#4","title":"\u30d5\u30a7\u30fc\u30ba4\uff1a\u30ea\u30f3\u30af\u78ba\u7acb\u3068\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":""},{"location":"ja/contribute-overview/#5","title":"\u30d5\u30a7\u30fc\u30ba5\uff1a\u30ea\u30f3\u30af\u306e\u30d0\u30fc\u30f3\u30a4\u30f3","text":""},{"location":"ja/contribute-overview/#6","title":"\u30d5\u30a7\u30fc\u30ba6\uff1a\u691c\u8a3c\u3068\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3","text":""},{"location":"ja/contribute-overview/#_3","title":"\u30d8\u30eb\u30d7\u306e\u53d6\u5f97","text":"

\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u4e00\u74b0\u3068\u3057\u3066\u3001DZF\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306eSlack\u30c1\u30e3\u30f3\u30cd\u30eb\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

\u30c1\u30e3\u30f3\u30cd\u30eb \u76ee\u7684 #dz-contributor-announcements DZF\u3068Malbec Labs\u304b\u3089\u306e\u516c\u5f0f\u901a\u77e5 \u2014 CLI/\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u91cd\u5927\u306a\u5909\u66f4\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30a2\u30ca\u30a6\u30f3\u30b9\u3002\u91cd\u8981\u306a\u66f4\u65b0\u3092\u76e3\u8996\u3057\u3001\u30b9\u30ec\u30c3\u30c9\u3067\u8cea\u554f\u3057\u3066\u304f\u3060\u3055\u3044\u3002 #dz-contributor-incidents \u4e88\u5b9a\u5916\u306e\u30b5\u30fc\u30d3\u30b9\u5f71\u97ff\u30a4\u30d9\u30f3\u30c8\u3002\u30a4\u30f3\u30b7\u30c7\u30f3\u30c8\u306fAPI/\u30a6\u30a7\u30d6\u30d5\u30a9\u30fc\u30e0\u3092\u901a\u3058\u3066\u6df1\u523b\u5ea6\u3068\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30c7\u30d0\u30a4\u30b9/\u30ea\u30f3\u30af\u3068\u3068\u3082\u306b\u81ea\u52d5\u6295\u7a3f\u3055\u308c\u307e\u3059\u3002\u30b9\u30ec\u30c3\u30c9\u3067\u8b70\u8ad6\u3068\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u304c\u884c\u308f\u308c\u307e\u3059\u3002 #dz-contributor-maintenance \u8a08\u753b\u3055\u308c\u305f\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u6d3b\u52d5\uff08\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u4fee\u7406\uff09\u3002API/\u30a6\u30a7\u30d6\u30d5\u30a9\u30fc\u30e0\u3092\u901a\u3058\u3066\u8a08\u753b\u3055\u308c\u305f\u958b\u59cb/\u7d42\u4e86\u6642\u9593\u3068\u3068\u3082\u306b\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002\u30b9\u30ec\u30c3\u30c9\u3067\u8b70\u8ad6\u304c\u884c\u308f\u308c\u307e\u3059\u3002 #dz-contributor-ops \u3059\u3079\u3066\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30aa\u30fc\u30d7\u30f3\u30c7\u30a3\u30b9\u30ab\u30c3\u30b7\u30e7\u30f3 \u2014 \u904b\u7528\u4e0a\u306e\u8cea\u554f\u3001CLI\u306e\u30d8\u30eb\u30d7\u3001\u30e9\u30f3\u30d6\u30c3\u30af\u3068\u30d7\u30ec\u30a4\u30d6\u30c3\u30af\u306e\u5171\u6709\u3002

\u307e\u305f\u3001\u7d44\u7e54\u3078\u306e\u76f4\u63a5\u30b5\u30dd\u30fc\u30c8\u306e\u305f\u3081\u306b\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8DZ/Malbec Labs\u30c1\u30e3\u30f3\u30cd\u30eb\u3082\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/contribute-overview/#dz","title":"DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30eb\u30fc\u30eb","text":"

\u91cd\u8981\uff1aDZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30d7\u30fc\u30eb\u306e\u4f7f\u7528

\u63d0\u4f9b\u3059\u308bDZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30d7\u30fc\u30eb\u306fDoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u304cIP\u5272\u308a\u5f53\u3066\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u4f7f\u7528\u65b9\u6cd5\uff1a

\u3053\u308c\u3089\u306e\u30a2\u30c9\u30ec\u30b9\u306f\u4ee5\u4e0b\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\uff1a

\u8981\u4ef6\uff1a

\u81ea\u793e\u306e\u6a5f\u5668\u7528\u306b\u30a2\u30c9\u30ec\u30b9\u304c\u5fc5\u8981\u306a\u5834\u5408\uff08DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9IP\u3001\u7ba1\u7406\u306a\u3069\uff09\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-overview/#_4","title":"\u30af\u30a4\u30c3\u30af\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\uff1a\u4e3b\u8981\u7528\u8a9e","text":"

DoubleZero\u3092\u521d\u3081\u3066\u5229\u7528\u3057\u307e\u3059\u304b\uff1f\u4ee5\u4e0b\u306f\u5fc5\u9808\u306e\u7528\u8a9e\u3067\u3059\uff08\u5b8c\u5168\u306a\u7528\u8a9e\u96c6\u3092\u53c2\u7167\uff09\uff1a

\u7528\u8a9e \u5b9a\u7fa9 DZD DoubleZero\u30c7\u30d0\u30a4\u30b9 - DZ\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u5b9f\u884c\u3059\u308b\u7269\u7406Arista\u30b9\u30a4\u30c3\u30c1 DZX DoubleZero Exchange - \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u30d4\u30a2\u3059\u308b\u30e1\u30c8\u30ed\u76f8\u4e92\u63a5\u7d9a\u30dd\u30a4\u30f3\u30c8 CYOA Choose Your Own Adventure - \u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u65b9\u5f0f\uff08GREOverDIA\u3001GREOverFabric\u306a\u3069\uff09 DIA Direct Internet Access - \u3059\u3079\u3066\u306eDZD\u304c\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3068\u30c6\u30ec\u30e1\u30c8\u30ea\u306b\u5fc5\u8981\u3068\u3059\u308b\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u3001\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9\u3067\u306e\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u306eCYOA\u30bf\u30a4\u30d7\u3068\u3057\u3066\u3088\u304f\u4f7f\u7528\u3055\u308c\u308b WAN\u30ea\u30f3\u30af \u81ea\u793e\u306eDZD\u9593\u306e\u30ea\u30f3\u30af\uff08\u540c\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\uff09 DZX\u30ea\u30f3\u30af \u5225\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306eDZD\u3078\u306e\u30ea\u30f3\u30af\uff08\u76f8\u4e92\u627f\u8a8d\u304c\u5fc5\u8981\uff09 Config Agent \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3092\u30dd\u30fc\u30ea\u30f3\u30b0\u3057\u3001DZD\u306b\u8a2d\u5b9a\u3092\u9069\u7528\u3059\u308b Telemetry Agent TWAMP\u30ec\u30a4\u30c6\u30f3\u30b7/\u30ed\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u53ce\u96c6\u3057\u3001\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u30ec\u30b8\u30e3\u30fc\u306b\u9001\u4fe1\u3059\u308b \u30b5\u30fc\u30d3\u30b9\u30ad\u30fc CLI\u64cd\u4f5c\u306e\u305f\u3081\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30ad\u30fc \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc \u30c6\u30ec\u30e1\u30c8\u30ea\u9001\u4fe1\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3067\u7f72\u540d\u3059\u308b\u305f\u3081\u306e\u30ad\u30fc"},{"location":"ja/contribute-overview/#_5","title":"\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u69cb\u6210","text":"\u30ac\u30a4\u30c9 \u8aac\u660e \u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3 \u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4ed5\u69d8\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3001\u5e2f\u57df\u5e45\u30aa\u30d7\u30b7\u30e7\u30f3 \u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0 \u30b9\u30c6\u30c3\u30d7\u30d0\u30a4\u30b9\u30c6\u30c3\u30d7\uff1a\u30ad\u30fc \u2192 \u30ea\u30dd\u30b8\u30c8\u30ea\u30a2\u30af\u30bb\u30b9 \u2192 \u30c7\u30d0\u30a4\u30b9 \u2192 \u30ea\u30f3\u30af \u2192 \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8 \u904b\u7528 \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3001\u30ea\u30f3\u30af\u7ba1\u7406\u3001\u76e3\u8996 \u7528\u8a9e\u96c6 \u3059\u3079\u3066\u306eDoubleZero\u7528\u8a9e\u306e\u5b9a\u7fa9"},{"location":"ja/contribute-overview/#_6","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30b8\u30cb\u30a2\u4ee5\u5916\u5411\u3051\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u57fa\u790e","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u304c\u306a\u3044\u5834\u5408\u306f\u3001\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u4f7f\u7528\u3055\u308c\u308b\u6982\u5ff5\u306e\u5165\u9580\u3068\u3057\u3066\u4ee5\u4e0b\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/contribute-overview/#ip","title":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0","text":""},{"location":"ja/contribute-overview/#_7","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5c64","text":""},{"location":"ja/contribute-overview/#_8","title":"\u4e00\u822c\u7684\u306a\u7528\u8a9e","text":""},{"location":"ja/contribute-overview/#doublezero","title":"DoubleZero\u56fa\u6709","text":"

\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u304b\uff1f\u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u304b\u3089\u59cb\u3081\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/","title":"\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u30ac\u30a4\u30c9","text":"

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.

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u3001DoubleZero\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u6700\u521d\u304b\u3089\u6700\u5f8c\u307e\u3067\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u624b\u9806\u3092\u8aac\u660e\u3057\u307e\u3059\u3002\u5404\u30d5\u30a7\u30fc\u30ba\u306f\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_2","title":"\u5168\u4f53\u50cf","text":"

\u624b\u9806\u306b\u5165\u308b\u524d\u306b\u3001\u69cb\u7bc9\u3059\u308b\u3082\u306e\u306e\u5168\u4f53\u50cf\u3092\u78ba\u8a8d\u3057\u307e\u3057\u3087\u3046\uff1a

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero\u30ec\u30b8\u30e3\u30fc]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc<br/>DoubleZero CLI]\n        DZD[\u3042\u306a\u305f\u306eDZD<br/>Arista\u30b9\u30a4\u30c3\u30c1]\n        DZD ---|WAN\u30ea\u30f3\u30af| DZD2[\u3082\u3046\u4e00\u53f0\u306eDZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[\u4ed6\u306eDZD]\n    end\n\n    subgraph Users\n        VAL[\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc]\n        RPC[RPC\u30ce\u30fc\u30c9]\n    end\n\n    MGMT -.->|\u30c7\u30d0\u30a4\u30b9\u3001\u30ea\u30f3\u30af\u3001<br/>\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u767b\u9332| SC\n    DZD ---|DZX\u30ea\u30f3\u30af| OtherDZD\n    VAL ---|\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63a5\u7d9a| DZD\n    RPC ---|\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63a5\u7d9a| DZD
"},{"location":"ja/contribute-provisioning/#1","title":"\u30d5\u30a7\u30fc\u30ba1\uff1a\u524d\u63d0\u6761\u4ef6","text":"

\u30c7\u30d0\u30a4\u30b9\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u524d\u306b\u3001\u7269\u7406\u7684\u306a\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u3001\u3044\u304f\u3064\u304b\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_3","title":"\u5fc5\u8981\u306a\u3082\u306e","text":"\u8981\u4ef6 \u5fc5\u8981\u306a\u7406\u7531 DZD\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2 Arista 7280CR3A\u30b9\u30a4\u30c3\u30c1\uff08\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4ed5\u69d8\u53c2\u7167\uff09 \u30e9\u30c3\u30af\u30b9\u30da\u30fc\u30b9 \u9069\u5207\u306a\u30a8\u30a2\u30d5\u30ed\u30fc\u3092\u6301\u30644U \u96fb\u529b \u5197\u9577\u30d5\u30a3\u30fc\u30c9\u3001\u7d044KW\u63a8\u5968 \u7ba1\u7406\u30a2\u30af\u30bb\u30b9 \u30b9\u30a4\u30c3\u30c1\u3092\u8a2d\u5b9a\u3059\u308b\u305f\u3081\u306eSSH/\u30b3\u30f3\u30bd\u30fc\u30eb\u30a2\u30af\u30bb\u30b9 \u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a \u30e1\u30c8\u30ea\u30af\u30b9\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3068\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u304b\u3089\u306e\u8a2d\u5b9a\u53d6\u5f97\u306e\u305f\u3081 \u30d1\u30d6\u30ea\u30c3\u30afIPv4\u30d6\u30ed\u30c3\u30af DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30d7\u30fc\u30eb\u7528\u306e\u6700\u5c0f/29\uff08\u4ee5\u4e0b\u53c2\u7167\uff09"},{"location":"ja/contribute-provisioning/#doublezero-cli","title":"DoubleZero CLI\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

DoubleZero CLI\uff08doublezero\uff09\u306f\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u5168\u4f53\u3067\u30c7\u30d0\u30a4\u30b9\u306e\u767b\u9332\u3001\u30ea\u30f3\u30af\u306e\u4f5c\u6210\u3001\u8ca2\u732e\u306e\u7ba1\u7406\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002DZD\u30b9\u30a4\u30c3\u30c1\u81ea\u4f53\u3067\u306f\u306a\u304f\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u307e\u305f\u306fVM\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30b9\u30a4\u30c3\u30c1\u306fConfig Agent\u3068Telemetry Agent\u306e\u307f\u3092\u5b9f\u884c\u3057\u307e\u3059\uff08\u30d5\u30a7\u30fc\u30ba4\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\uff09\u3002

Ubuntu / Debian\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u30c7\u30fc\u30e2\u30f3\u304c\u5b9f\u884c\u4e2d\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

sudo systemctl status doublezerod\n

"},{"location":"ja/contribute-provisioning/#dz","title":"DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306b\u3064\u3044\u3066","text":"

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306fDoubleZero\u30d7\u30ed\u30c8\u30b3\u30eb\u304cIP\u5272\u308a\u5f53\u3066\u306b\u7ba1\u7406\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u306e\u30d6\u30ed\u30c3\u30af\u3067\u3059\u3002

flowchart LR\n    subgraph \"\u3042\u306a\u305f\u306e/29\u30d6\u30ed\u30c3\u30af\uff088 IP\uff09\"\n        IP1[\"\u6700\u521d\u306eIP<br/>\u30c7\u30d0\u30a4\u30b9\u7528\u306b<br/>\u4e88\u7d04\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|\u5272\u308a\u5f53\u3066\u5148| LO[DZD\u4e0a\u306e<br/>Loopback100]\n    IP2 -->|\u5272\u308a\u5f53\u3066\u5148| U1[\u30e6\u30fc\u30b6\u30fc1]\n    IP3 -->|\u5272\u308a\u5f53\u3066\u5148| U2[\u30e6\u30fc\u30b6\u30fc2]

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u4f7f\u7528\u65b9\u6cd5\uff1a

DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u30eb\u30fc\u30eb

\u3053\u308c\u3089\u306e\u30a2\u30c9\u30ec\u30b9\u306f\u4ee5\u4e0b\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\uff1a

\u8981\u4ef6\uff1a

\u81ea\u793e\u306e\u6a5f\u5668\u7528\u306b\u30a2\u30c9\u30ec\u30b9\u304c\u5fc5\u8981\u306a\u5834\u5408\uff08DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9IP\u3001\u7ba1\u7406\u306a\u3069\uff09\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#2","title":"\u30d5\u30a7\u30fc\u30ba2\uff1a\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7","text":"

\u3053\u306e\u30d5\u30a7\u30fc\u30ba\u3067\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30c7\u30d0\u30a4\u30b9\u3092\u8b58\u5225\u3059\u308b\u6697\u53f7\u9375\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#cli","title":"CLI\u3092\u5b9f\u884c\u3059\u308b\u5834\u6240","text":"

\u30b9\u30a4\u30c3\u30c1\u306bCLI\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044

DoubleZero CLI\uff08doublezero\uff09\u306fArista\u30b9\u30a4\u30c3\u30c1\u3067\u306f\u306a\u304f\u3001\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u307e\u305f\u306fVM\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

flowchart LR\n    subgraph \"\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[\u30ad\u30fc\u30da\u30a2]\n    end\n\n    subgraph \"DZD\u30b9\u30a4\u30c3\u30c1\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|\u30c7\u30d0\u30a4\u30b9\u3001\u30ea\u30f3\u30af\u3092\u4f5c\u6210| BC[\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3]\n    CA -->|\u8a2d\u5b9a\u3092\u53d6\u5f97| CTRL[\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc]\n    TA -->|\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u9001\u4fe1| BC
\u7ba1\u7406\u30b5\u30fc\u30d0\u30fc\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u30b9\u30a4\u30c3\u30c1\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb doublezero CLI Config Agent \u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u30da\u30a2 Telemetry Agent \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u30da\u30a2 \u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u30da\u30a2\uff08\u30b3\u30d4\u30fc\uff09"},{"location":"ja/contribute-provisioning/#_4","title":"\u30ad\u30fc\u3068\u306f\uff1f","text":"

\u30ad\u30fc\u306f\u5b89\u5168\u306a\u30ed\u30b0\u30a4\u30f3\u8a8d\u8a3c\u60c5\u5831\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\uff1a

\u3069\u3061\u3089\u3082\u6697\u53f7\u9375\u30da\u30a2\uff08\u5171\u6709\u3059\u308b\u516c\u958b\u9375\u3068\u79d8\u5bc6\u306b\u4fdd\u6301\u3059\u308b\u79d8\u5bc6\u9375\uff09\u3067\u3059\u3002

flowchart LR\n    subgraph \"\u3042\u306a\u305f\u306e\u30ad\u30fc\"\n        SK[\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc<br/>~/.config/solana/id.json]\n        MK[\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|\u4f7f\u7528\u5148| CLI[CLI\u30b3\u30de\u30f3\u30c9<br/>doublezero device create<br/>doublezero link create]\n    MK -->|\u4f7f\u7528\u5148| TEL[Telemetry Agent<br/>\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u9001\u4fe1]
"},{"location":"ja/contribute-provisioning/#21","title":"\u30b9\u30c6\u30c3\u30d72.1\uff1a\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u306e\u751f\u6210","text":"

\u3053\u308c\u306fDoubleZero\u3068\u5bfe\u8a71\u3059\u308b\u305f\u3081\u306e\u30e1\u30a4\u30f3\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3067\u3059\u3002

doublezero keygen\n

\u3053\u308c\u306b\u3088\u308a\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u5834\u6240\u306b\u30ad\u30fc\u30da\u30a2\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002\u51fa\u529b\u306b\u306f\u516c\u958b\u9375\u304c\u8868\u793a\u3055\u308c\u307e\u3059 - \u3053\u308c\u3092DZF\u3068\u5171\u6709\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#22","title":"\u30b9\u30c6\u30c3\u30d72.2\uff1a\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u306e\u751f\u6210","text":"

\u3053\u306e\u30ad\u30fc\u306fTelemetry Agent\u304c\u30e1\u30c8\u30ea\u30af\u30b9\u9001\u4fe1\u306b\u7f72\u540d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"ja/contribute-provisioning/#23dzf","title":"\u30b9\u30c6\u30c3\u30d72.3\uff1aDZF\u3078\u306e\u30ad\u30fc\u306e\u63d0\u51fa","text":"

DoubleZero Foundation\u307e\u305f\u306fMalbec Labs\u306b\u9023\u7d61\u3057\u3001\u4ee5\u4e0b\u3092\u63d0\u4f9b\u3057\u307e\u3059\uff1a

  1. \u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u306e\u516c\u958b\u9375
  2. GitHub\u30e6\u30fc\u30b6\u30fc\u540d\uff08\u30ea\u30dd\u30b8\u30c8\u30ea\u30a2\u30af\u30bb\u30b9\u306e\u305f\u3081\uff09

DZF\u306f\u4ee5\u4e0b\u3092\u884c\u3044\u307e\u3059\uff1a

"},{"location":"ja/contribute-provisioning/#24","title":"\u30b9\u30c6\u30c3\u30d72.4\uff1a\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u78ba\u8a8d","text":"

\u78ba\u8a8d\u5f8c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u5b58\u5728\u3059\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero contributor list\n

\u4e00\u89a7\u306b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30b3\u30fc\u30c9\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#25contributors","title":"\u30b9\u30c6\u30c3\u30d72.5\uff1aContributors\u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9","text":"

malbeclabs/contributors\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u306f\u4ee5\u4e0b\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\uff1a

\u30c7\u30d0\u30a4\u30b9\u56fa\u6709\u306e\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u3053\u306e\u6307\u793a\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#3","title":"\u30d5\u30a7\u30fc\u30ba3\uff1a\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0","text":"

\u3053\u3053\u3067\u306f\u7269\u7406\u7684\u306a\u30c7\u30d0\u30a4\u30b9\u3092\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306b\u767b\u9332\u3057\u3001\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_5","title":"\u30c7\u30d0\u30a4\u30b9\u30bf\u30a4\u30d7\u306b\u3064\u3044\u3066","text":"
flowchart TB\n    subgraph \"\u30a8\u30c3\u30b8\u30c7\u30d0\u30a4\u30b9\"\n        E[\u30a8\u30c3\u30b8DZD]\n        EU[\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u3053\u306b\u63a5\u7d9a]\n        EU --> E\n        E <-->|DZX\u30ea\u30f3\u30af| ED[\u4ed6\u306eDZD]\n    end\n\n    subgraph \"\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u30c7\u30d0\u30a4\u30b9\"\n        T[\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8DZD]\n        T <-->|WAN\u30ea\u30f3\u30af| T2[\u5225\u306eDZD]\n        T <-->|DZX\u30ea\u30f3\u30af| TD[\u4ed6\u306eDZD]\n    end\n\n    subgraph \"\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9\"\n        H[\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9DZD]\n        HU[\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u3053\u306b\u63a5\u7d9a]\n        HU --> H\n        H <-->|WAN\u30ea\u30f3\u30af| H2[\u5225\u306eDZD]\n        H <-->|DZX\u30ea\u30f3\u30af| HD[\u4ed6\u306eDZD]\n    end
\u30bf\u30a4\u30d7 \u6a5f\u80fd \u4f7f\u7528\u3059\u308b\u3068\u304d \u30a8\u30c3\u30b8 \u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u306e\u307f\u3092\u53d7\u3051\u5165\u308c\u308b \u5358\u4e00\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30e6\u30fc\u30b6\u30fc\u5411\u3051\u306e\u307f \u30c8\u30e9\u30f3\u30b8\u30c3\u30c8 \u30c7\u30d0\u30a4\u30b9\u9593\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u79fb\u52d5 \u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u63a5\u7d9a\u3001\u30e6\u30fc\u30b6\u30fc\u306a\u3057 \u30cf\u30a4\u30d6\u30ea\u30c3\u30c9 \u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3068\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u306e\u4e21\u65b9 \u6700\u3082\u4e00\u822c\u7684 - \u3059\u3079\u3066\u3092\u884c\u3046"},{"location":"ja/contribute-provisioning/#31","title":"\u30b9\u30c6\u30c3\u30d73.1\uff1a\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3068\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u3092\u8abf\u3079\u308b","text":"

\u30c7\u30d0\u30a4\u30b9\u3092\u4f5c\u6210\u3059\u308b\u524d\u306b\u3001\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306e\u5834\u6240\u3068\u6700\u5bc4\u308a\u306e\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u306e\u30b3\u30fc\u30c9\u3092\u8abf\u3079\u307e\u3059\uff1a

# \u5229\u7528\u53ef\u80fd\u306a\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\uff08\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\uff09\u3092\u4e00\u89a7\u8868\u793a\ndoublezero location list\n\n# \u5229\u7528\u53ef\u80fd\u306a\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\uff08\u76f8\u4e92\u63a5\u7d9a\u30dd\u30a4\u30f3\u30c8\uff09\u3092\u4e00\u89a7\u8868\u793a\ndoublezero exchange list\n
"},{"location":"ja/contribute-provisioning/#32","title":"\u30b9\u30c6\u30c3\u30d73.2\uff1a\u30c7\u30d0\u30a4\u30b9\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3067\u4f5c\u6210\u3059\u308b","text":"

\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u306b\u30c7\u30d0\u30a4\u30b9\u3092\u767b\u9332\u3057\u307e\u3059\uff1a

doublezero device create \\\n  --code <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> \\\n  --contributor <\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30b3\u30fc\u30c9> \\\n  --device-type hybrid \\\n  --location <\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9> \\\n  --exchange <\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u30b3\u30fc\u30c9> \\\n  --public-ip <\u30c7\u30d0\u30a4\u30b9\u30d1\u30d6\u30ea\u30c3\u30afIP> \\\n  --dz-prefixes <DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9>\n

\u4f8b\uff1a

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 4vKz8H...truncated...7xPq2\n

\u30c7\u30d0\u30a4\u30b9\u304c\u4f5c\u6210\u3055\u308c\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero device list | grep nyc-dz001\n

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u8aac\u660e\uff1a

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc \u610f\u5473 --code \u30c7\u30d0\u30a4\u30b9\u306e\u4e00\u610f\u306e\u540d\u524d\uff08\u4f8b\uff1anyc-dz001\uff09 --contributor \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30b3\u30fc\u30c9\uff08DZF\u304b\u3089\u4ed8\u4e0e\uff09 --device-type hybrid\u3001transit\u3001\u307e\u305f\u306fedge --location location list\u304b\u3089\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u30b3\u30fc\u30c9 --exchange exchange list\u304b\u3089\u306e\u6700\u5bc4\u308a\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u30b3\u30fc\u30c9 --public-ip \u30e6\u30fc\u30b6\u30fc\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3059\u308b\u30d1\u30d6\u30ea\u30c3\u30afIP --dz-prefixes \u30e6\u30fc\u30b6\u30fc\u7528\u306e\u5272\u308a\u5f53\u3066IP\u30d6\u30ed\u30c3\u30af"},{"location":"ja/contribute-provisioning/#33","title":"\u30b9\u30c6\u30c3\u30d73.3\uff1a\u5fc5\u8981\u306a\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b","text":"

\u3059\u3079\u3066\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u306f\u5185\u90e8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u7528\u306e2\u3064\u306e\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u5fc5\u8981\u3067\u3059\uff1a

# VPNv4\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\ndoublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Loopback255 --loopback-type vpnv4\n\n# IPv4\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\ndoublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Loopback256 --loopback-type ipv4\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff08\u5404\u30b3\u30de\u30f3\u30c9\uff09\uff1a

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"ja/contribute-provisioning/#34","title":"\u30b9\u30c6\u30c3\u30d73.4\uff1a\u7269\u7406\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b","text":"

\u4f7f\u7528\u3059\u308b\u7269\u7406\u30dd\u30fc\u30c8\u3092\u767b\u9332\u3057\u307e\u3059\uff1a

# \u57fa\u672c\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\ndoublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Ethernet1/1\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"ja/contribute-provisioning/#35cyoa","title":"\u30b9\u30c6\u30c3\u30d73.5\uff1aCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b\uff08\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9\u306e\u5834\u5408\uff09","text":"

\u30c7\u30d0\u30a4\u30b9\u304c\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c\u308b\u5834\u5408\u3001CYOA\uff08Choose Your Own Adventure\uff09\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u3069\u306e\u3088\u3046\u306b\u63a5\u7d9a\u3059\u308b\u304b\u3092\u30b7\u30b9\u30c6\u30e0\u306b\u4f1d\u3048\u307e\u3059\u3002

CYOA\u30bf\u30a4\u30d7\u306e\u8aac\u660e\uff1a

\u30bf\u30a4\u30d7 \u308f\u304b\u308a\u3084\u3059\u3044\u8aac\u660e \u4f7f\u7528\u3059\u308b\u5834\u5408 gre-over-dia \u30e6\u30fc\u30b6\u30fc\u304c\u901a\u5e38\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63a5\u7d9a \u6700\u3082\u4e00\u822c\u7684 - \u30e6\u30fc\u30b6\u30fc\u304cDIA\u3092\u901a\u3058\u3066DZD\u306b\u63a5\u7d9a gre-over-private-peering \u30e6\u30fc\u30b6\u30fc\u304c\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30ea\u30f3\u30af\u7d4c\u7531\u3067\u63a5\u7d9a \u30e6\u30fc\u30b6\u30fc\u304c\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u76f4\u63a5\u63a5\u7d9a gre-over-public-peering \u30e6\u30fc\u30b6\u30fc\u304cIX\u7d4c\u7531\u3067\u63a5\u7d9a \u30e6\u30fc\u30b6\u30fc\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u3067\u30d4\u30a2\u30ea\u30f3\u30b0 gre-over-fabric \u30e6\u30fc\u30b6\u30fc\u304c\u540c\u3058\u30ed\u30fc\u30ab\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a \u30e6\u30fc\u30b6\u30fc\u304c\u540c\u3058\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u5b58\u5728 gre-over-cable \u30e6\u30fc\u30b6\u30fc\u3078\u306e\u76f4\u63a5\u30b1\u30fc\u30d6\u30eb \u5358\u4e00\u5c02\u7528\u30e6\u30fc\u30b6\u30fc

\u4f8b - \u6a19\u6e96\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30e6\u30fc\u30b6\u30fc\uff1a

doublezero device interface create <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 2wLp8N...truncated...5vHt3\n

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u8aac\u660e\uff1a

\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc \u610f\u5473 --interface-cyoa \u30e6\u30fc\u30b6\u30fc\u306e\u63a5\u7d9a\u65b9\u6cd5\uff08\u4e0a\u8a18\u30c6\u30fc\u30d6\u30eb\u53c2\u7167\uff09 --interface-dia \u3053\u308c\u304c\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u5411\u304d\u30dd\u30fc\u30c8\u306e\u5834\u5408\u306fdia --bandwidth Mbps\u306e\u30dd\u30fc\u30c8\u901f\u5ea6\uff0810000 = 10Gbps\uff09 --cir Mbps\u306e\u30b3\u30df\u30c3\u30c8\u6e08\u307f\u30ec\u30fc\u30c8\uff08\u4fdd\u8a3c\u5e2f\u57df\u5e45\uff09 --user-tunnel-endpoint \u3053\u306e\u30dd\u30fc\u30c8\u306f\u30e6\u30fc\u30b6\u30fc\u30c8\u30f3\u30cd\u30eb\u3092\u53d7\u3051\u5165\u308c\u308b"},{"location":"ja/contribute-provisioning/#36","title":"\u30b9\u30c6\u30c3\u30d73.6\uff1a\u30c7\u30d0\u30a4\u30b9\u3092\u78ba\u8a8d\u3059\u308b","text":"
doublezero device list\n

\u51fa\u529b\u4f8b\uff1a

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

\u30c7\u30d0\u30a4\u30b9\u306f\u30b9\u30c6\u30fc\u30bf\u30b9activated\u3067\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#4","title":"\u30d5\u30a7\u30fc\u30ba4\uff1a\u30ea\u30f3\u30af\u78ba\u7acb\u3068\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

\u30ea\u30f3\u30af\u306f\u30c7\u30d0\u30a4\u30b9\u3092DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u6b8b\u308a\u306e\u90e8\u5206\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_6","title":"\u30ea\u30f3\u30af\u306b\u3064\u3044\u3066","text":"
flowchart LR\n    subgraph \"\u3042\u306a\u305f\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\"\n        D1[\u3042\u306a\u305f\u306eDZD 1<br/>NYC]\n        D2[\u3042\u306a\u305f\u306eDZD 2<br/>LAX]\n    end\n\n    subgraph \"\u4ed6\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\"\n        O1[\u5f7c\u3089\u306eDZD<br/>NYC]\n    end\n\n    D1 ---|WAN\u30ea\u30f3\u30af<br/>\u540c\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc| D2\n    D1 ---|DZX\u30ea\u30f3\u30af<br/>\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc| O1
\u30ea\u30f3\u30af\u30bf\u30a4\u30d7 \u63a5\u7d9a\u5148 \u627f\u8a8d WAN\u30ea\u30f3\u30af \u3042\u306a\u305f\u306e2\u3064\u306e\u30c7\u30d0\u30a4\u30b9 \u81ea\u52d5\uff08\u4e21\u65b9\u3092\u6240\u6709\uff09 DZX\u30ea\u30f3\u30af \u3042\u306a\u305f\u306e\u30c7\u30d0\u30a4\u30b9\u3068\u5225\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c7\u30d0\u30a4\u30b9 \u76f8\u624b\u306e\u627f\u8a8d\u304c\u5fc5\u8981"},{"location":"ja/contribute-provisioning/#41wan","title":"\u30b9\u30c6\u30c3\u30d74.1\uff1aWAN\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\uff08\u8907\u6570\u306e\u30c7\u30d0\u30a4\u30b9\u304c\u3042\u308b\u5834\u5408\uff09","text":"

WAN\u30ea\u30f3\u30af\u306f\u81ea\u5206\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u63a5\u7d9a\u3057\u307e\u3059\uff1a

doublezero link create wan \\\n  --code <\u30ea\u30f3\u30af\u30b3\u30fc\u30c9> \\\n  --contributor <\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc> \\\n  --side-a <\u30c7\u30d0\u30a4\u30b91\u306e\u30b3\u30fc\u30c9> \\\n  --side-a-interface <\u30c7\u30d0\u30a4\u30b91\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9> \\\n  --side-z <\u30c7\u30d0\u30a4\u30b92\u306e\u30b3\u30fc\u30c9> \\\n  --side-z-interface <\u30c7\u30d0\u30a4\u30b92\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

\u4f8b\uff1a

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"ja/contribute-provisioning/#42dzx","title":"\u30b9\u30c6\u30c3\u30d74.2\uff1aDZX\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b","text":"

DZX\u30ea\u30f3\u30af\u306f\u30c7\u30d0\u30a4\u30b9\u3092\u5225\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306eDZD\u306b\u76f4\u63a5\u63a5\u7d9a\u3057\u307e\u3059\uff1a

doublezero link create dzx \\\n  --code <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9A:\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9Z> \\\n  --contributor <\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc> \\\n  --side-a <\u3042\u306a\u305f\u306e\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> \\\n  --side-a-interface <\u3042\u306a\u305f\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9> \\\n  --side-z <\u4ed6\u306e\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9> \\\n  --bandwidth <\u5e2f\u57df\u5e45 Kbps\u3001Mbps\u3001\u307e\u305f\u306fGbps> \\\n  --mtu <MTU> \\\n  --delay-ms <\u9045\u5ef6> \\\n  --jitter-ms <\u30b8\u30c3\u30bf\u30fc>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

Signature: 8mKp3W...truncated...2nRx7\n

DZX\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3057\u305f\u5f8c\u3001\u4ed6\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u305d\u308c\u3092\u627f\u8a8d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff1a

# \u4ed6\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u3053\u308c\u3092\u5b9f\u884c\u3059\u308b\ndoublezero link accept \\\n  --code <\u30ea\u30f3\u30af\u30b3\u30fc\u30c9> \\\n  --side-z-interface <\u5f7c\u3089\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff08\u627f\u8a8d\u3059\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u7528\uff09\uff1a

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"ja/contribute-provisioning/#43","title":"\u30b9\u30c6\u30c3\u30d74.3\uff1a\u30ea\u30f3\u30af\u3092\u78ba\u8a8d\u3059\u308b","text":"
doublezero link list\n

\u51fa\u529b\u4f8b\uff1a

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

\u4e21\u5074\u304c\u8a2d\u5b9a\u3055\u308c\u308b\u3068\u30ea\u30f3\u30af\u306f\u30b9\u30c6\u30fc\u30bf\u30b9activated\u3092\u8868\u793a\u3059\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_7","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

2\u3064\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304cDZD\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\uff1a

flowchart TB\n    subgraph \"\u3042\u306a\u305f\u306eDZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[\u30b9\u30a4\u30c3\u30c1\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2/\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2]\n    end\n\n    CA -->|\u8a2d\u5b9a\u3092\u30dd\u30fc\u30ea\u30f3\u30b0| CTRL[\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9]\n    CA -->|\u8a2d\u5b9a\u3092\u9069\u7528| HW\n\n    HW -->|\u30e1\u30c8\u30ea\u30af\u30b9| TA\n    TA -->|\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u9001\u4fe1| BC[DoubleZero\u30ec\u30b8\u30e3\u30fc]
\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8 \u6a5f\u80fd Config Agent \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u304b\u3089\u8a2d\u5b9a\u3092\u53d6\u5f97\u3057\u3001\u30b9\u30a4\u30c3\u30c1\u306b\u9069\u7528\u3059\u308b Telemetry Agent \u4ed6\u306e\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u30ec\u30a4\u30c6\u30f3\u30b7/\u30ed\u30b9\u3092\u6e2c\u5b9a\u3057\u3001\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u5831\u544a\u3059\u308b"},{"location":"ja/contribute-provisioning/#44config-agent","title":"\u30b9\u30c6\u30c3\u30d74.4\uff1aConfig Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":""},{"location":"ja/contribute-provisioning/#api","title":"\u30b9\u30a4\u30c3\u30c1\u3067API\u3092\u6709\u52b9\u306b\u3059\u308b","text":"

EOS\u8a2d\u5b9a\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF\u306b\u95a2\u3059\u308b\u6ce8\u610f

\u7570\u306a\u308b\u5834\u5408\uff08\u4f8b\uff1amanagement\uff09\u306fdefault\u3092\u7ba1\u7406VRF\u540d\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#_8","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3068\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"
# \u30b9\u30a4\u30c3\u30c1\u3067bash\u306b\u5165\u308b\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS\u62e1\u5f35\u6a5f\u80fd\u3068\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-provisioning/#_9","title":"\u62e1\u5f35\u6a5f\u80fd\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show extensions\n

\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\"A, I, B\"\u3067\u3042\u308b\u3079\u304d\u3067\u3059\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ja/contribute-provisioning/#_10","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u8d77\u52d5\u3059\u308b","text":"

EOS\u8a2d\u5b9a\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <\u30c7\u30d0\u30a4\u30b9\u516c\u958b\u9375>\n    no shut\n

VRF\u306b\u95a2\u3059\u308b\u6ce8\u610f

\u7ba1\u7406VRF\u304cdefault\u3067\u306a\u3044\u5834\u5408\uff08\u3064\u307e\u308a\u540d\u524d\u7a7a\u9593\u304cns-default\u3067\u306a\u3044\u5834\u5408\uff09\u3001exec\u30b3\u30de\u30f3\u30c9\u306bexec /sbin/ip netns exec ns-<VRF>\u3092\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001VRF\u304cmanagement\u306e\u5834\u5408\uff1a

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <\u30c7\u30d0\u30a4\u30b9\u516c\u958b\u9375>\n    no shut\n

\u30c7\u30d0\u30a4\u30b9\u306e\u516c\u958b\u9375\u306fdoublezero device list\uff08account\u5217\uff09\u304b\u3089\u53d6\u5f97\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_11","title":"\u5b9f\u884c\u4e2d\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show agent doublezero-agent logs\n

\"Starting doublezero-agent\"\u3068\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u63a5\u7d9a\u306e\u6210\u529f\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#45telemetry-agent","title":"\u30b9\u30c6\u30c3\u30d74.5\uff1aTelemetry Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":""},{"location":"ja/contribute-provisioning/#_12","title":"\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc\u3092\u30c7\u30d0\u30a4\u30b9\u306b\u30b3\u30d4\u30fc\u3059\u308b","text":"
scp ~/.config/doublezero/metrics-publisher.json <\u30b9\u30a4\u30c3\u30c1IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"ja/contribute-provisioning/#_13","title":"\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u767b\u9332\u3059\u308b","text":"
doublezero device update \\\n  --pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> \\\n  --metrics-publisher <\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u516c\u958b\u9375>\n

\u516c\u958b\u9375\u306fmetrics-publisher.json\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u53d6\u5f97\u3057\u307e\u3059\u3002

"},{"location":"ja/contribute-provisioning/#_14","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3068\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS\u62e1\u5f35\u6a5f\u80fd\u3068\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ja/contribute-provisioning/#_15","title":"\u62e1\u5f35\u6a5f\u80fd\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show extensions\n

\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\"A, I, B\"\u3067\u3042\u308b\u3079\u304d\u3067\u3059\uff1a

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ja/contribute-provisioning/#_16","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u8d77\u52d5\u3059\u308b","text":"

EOS\u8a2d\u5b9a\u306b\u8ffd\u52a0\u3057\u307e\u3059\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF\u306b\u95a2\u3059\u308b\u6ce8\u610f

\u7ba1\u7406VRF\u304cdefault\u3067\u306a\u3044\u5834\u5408\uff08\u3064\u307e\u308a\u540d\u524d\u7a7a\u9593\u304cns-default\u3067\u306a\u3044\u5834\u5408\uff09\u3001exec\u30b3\u30de\u30f3\u30c9\u306b--management-namespace ns-<VRF>\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001VRF\u304cmanagement\u306e\u5834\u5408\uff1a

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"ja/contribute-provisioning/#_17","title":"\u5b9f\u884c\u4e2d\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b","text":"
switch# show agent doublezero-telemetry logs\n

\"Starting telemetry collector\"\u3068\"Starting submission loop\"\u304c\u8868\u793a\u3055\u308c\u308b\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute-provisioning/#5","title":"\u30d5\u30a7\u30fc\u30ba5\uff1a\u30ea\u30f3\u30af\u306e\u30d0\u30fc\u30f3\u30a4\u30f3","text":"

\u3059\u3079\u3066\u306e\u65b0\u3057\u3044\u30ea\u30f3\u30af\u306f\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u904b\u3076\u524d\u306b\u30d0\u30fc\u30f3\u30a4\u30f3\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059

\u65b0\u3057\u3044\u30ea\u30f3\u30af\u306f\u672c\u756a\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u305f\u3081\u306b\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u3055\u308c\u308b\u524d\u306b\u3001\u5c11\u306a\u304f\u3068\u308224\u6642\u9593\u30c9\u30ec\u30a4\u30f3\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30d0\u30fc\u30f3\u30a4\u30f3\u8981\u4ef6\u306fRFC12: Network Provisioning\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u304a\u308a\u3001\u30ea\u30f3\u30af\u304c\u30b5\u30fc\u30d3\u30b9\u6e96\u5099\u5b8c\u4e86\u306b\u306a\u308b\u524d\u306b\u7d04200,000 DZ Ledger\u30b9\u30ed\u30c3\u30c8\uff08\u7d0420\u6642\u9593\uff09\u306e\u30af\u30ea\u30fc\u30f3\u306a\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u5fc5\u8981\u3067\u3059\u3002

\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u5b9f\u884c\u4e2d\u306b\u306a\u3063\u305f\u3089\u3001\u5c11\u306a\u304f\u3068\u308224\u6642\u9593\u9023\u7d9a\u3057\u3066metrics.doublezero.xyz\u3067\u30ea\u30f3\u30af\u3092\u76e3\u8996\u3057\u307e\u3059\uff1a

\u30d0\u30fc\u30f3\u30a4\u30f3\u671f\u9593\u304c\u30bc\u30ed\u30ed\u30b9\u3068\u30bc\u30ed\u30a8\u30e9\u30fc\u306e\u30af\u30ea\u30fc\u30f3\u306a\u30ea\u30f3\u30af\u3092\u793a\u3057\u305f\u5f8c\u306b\u306e\u307f\u3001\u30ea\u30f3\u30af\u306e\u30c9\u30ec\u30a4\u30f3\u3092\u89e3\u9664\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute-provisioning/#6","title":"\u30d5\u30a7\u30fc\u30ba6\uff1a\u78ba\u8a8d\u3068\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3","text":"

\u3059\u3079\u3066\u304c\u6a5f\u80fd\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b\u3001\u3053\u306e\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

\u30c7\u30d0\u30a4\u30b9\u306f\u30ed\u30c3\u30af\u72b6\u614b\uff08max_users = 0\uff09\u3067\u958b\u59cb\u3057\u307e\u3059

\u30c7\u30d0\u30a4\u30b9\u304c\u4f5c\u6210\u3055\u308c\u308b\u3068\u3001max_users\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u30670\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u307e\u3060\u30e6\u30fc\u30b6\u30fc\u304c\u63a5\u7d9a\u3067\u304d\u306a\u3044\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u610f\u56f3\u7684\u306a\u3082\u306e\u3067\u3059 \u2014 \u30e6\u30fc\u30b6\u30fc\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u53d7\u3051\u5165\u308c\u308b\u524d\u306b\u3059\u3079\u3066\u304c\u6a5f\u80fd\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

max_users\u30920\u4ee5\u4e0a\u306b\u8a2d\u5b9a\u3059\u308b\u524d\u306b\u3001\u4ee5\u4e0b\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff1a

  1. \u3059\u3079\u3066\u306e\u30ea\u30f3\u30af\u304cmetrics.doublezero.xyz\u3067\u30bc\u30ed\u30ed\u30b9/\u30a8\u30e9\u30fc\u306e24\u6642\u9593\u30d0\u30fc\u30f3\u30a4\u30f3\u3092\u5b8c\u4e86\u3057\u305f\u3053\u3068\u3092\u78ba\u8a8d
  2. DZ/Malbec Labs\u3068\u5354\u529b\u3057\u3066\u63a5\u7d9a\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\uff1a
    • \u30c6\u30b9\u30c8\u30e6\u30fc\u30b6\u30fc\u306f\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3067\u304d\u307e\u3059\u304b\uff1f
    • \u30e6\u30fc\u30b6\u30fc\u306fDZ\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u30eb\u30fc\u30c8\u3092\u53d7\u4fe1\u3057\u307e\u3059\u304b\uff1f
    • \u30e6\u30fc\u30b6\u30fc\u306fDZ\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30f3\u30c9\u30c4\u30fc\u30a8\u30f3\u30c9\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3067\u304d\u307e\u3059\u304b\uff1f
  3. DZ/ML\u304c\u30c6\u30b9\u30c8\u5408\u683c\u3092\u78ba\u8a8d\u3057\u305f\u5f8c\u306b\u306e\u307f\u3001max_users\u309296\u306b\u8a2d\u5b9a\u3057\u307e\u3059\uff1a
doublezero device update --pubkey <\u30c7\u30d0\u30a4\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8> --max-users 96\n
"},{"location":"ja/contribute-provisioning/#_18","title":"\u30c7\u30d0\u30a4\u30b9\u306e\u78ba\u8a8d","text":"
# \u30c7\u30d0\u30a4\u30b9\u306f\u30b9\u30c6\u30fc\u30bf\u30b9\"activated\"\u3067\u8868\u793a\u3055\u308c\u308b\u3079\u304d\ndoublezero device list | grep <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u304c\u4e00\u89a7\u8868\u793a\u3055\u308c\u308b\u3079\u304d\ndoublezero device interface list | grep <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"ja/contribute-provisioning/#_19","title":"\u30ea\u30f3\u30af\u306e\u78ba\u8a8d","text":"
# \u30ea\u30f3\u30af\u306f\u30b9\u30c6\u30fc\u30bf\u30b9\"activated\"\u3092\u8868\u793a\u3059\u308b\u3079\u304d\ndoublezero link list | grep <\u30c7\u30d0\u30a4\u30b9\u30b3\u30fc\u30c9>\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"ja/contribute-provisioning/#_20","title":"\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u78ba\u8a8d","text":"

\u30b9\u30a4\u30c3\u30c1\u4e0a\u3067\uff1a

# Config Agent\u306f\u8a2d\u5b9a\u30d7\u30eb\u306e\u6210\u529f\u3092\u8868\u793a\u3059\u308b\u3079\u304d\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry Agent\u306f\u9001\u4fe1\u306e\u6210\u529f\u3092\u8868\u793a\u3059\u308b\u3079\u304d\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"ja/contribute-provisioning/#_21","title":"\u6700\u7d42\u78ba\u8a8d\u56f3","text":"
flowchart TB\n    subgraph \"\u78ba\u8a8d\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8\"\n        D[\u30c7\u30d0\u30a4\u30b9\u30b9\u30c6\u30fc\u30bf\u30b9: activated?]\n        I[\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9: \u767b\u9332\u6e08\u307f?]\n        L[\u30ea\u30f3\u30af: activated?]\n        CA[Config Agent: \u8a2d\u5b9a\u3092\u53d6\u5f97\u4e2d?]\n        TA[Telemetry Agent: \u30e1\u30c8\u30ea\u30af\u30b9\u3092\u9001\u4fe1\u4e2d?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[\u3059\u3079\u3066\u306e\u78ba\u8a8d\u306b\u5408\u683c] --> NOTIFY[DZF/Malbec Labs\u306b\u901a\u77e5<br/>\u6280\u8853\u7684\u306b\u6e96\u5099\u5b8c\u4e86\u3067\u3059\uff01]
"},{"location":"ja/contribute-provisioning/#_22","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0","text":""},{"location":"ja/contribute-provisioning/#_23","title":"\u30c7\u30d0\u30a4\u30b9\u4f5c\u6210\u306b\u5931\u6557\u3059\u308b","text":""},{"location":"ja/contribute-provisioning/#requested","title":"\u30ea\u30f3\u30af\u304c\"requested\"\u30b9\u30c6\u30fc\u30bf\u30b9\u304b\u3089\u52d5\u304b\u306a\u3044","text":""},{"location":"ja/contribute-provisioning/#config-agent","title":"Config Agent\u304c\u63a5\u7d9a\u3057\u306a\u3044","text":""},{"location":"ja/contribute-provisioning/#telemetry-agent","title":"Telemetry Agent\u304c\u9001\u4fe1\u3057\u306a\u3044","text":""},{"location":"ja/contribute-provisioning/#_24","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7","text":""},{"location":"ja/contribute/","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u8981\u4ef6\u3068\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3","text":"

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.

"},{"location":"ja/contribute/#_2","title":"\u6982\u8981","text":"

\u672a\u6d3b\u7528\u306e\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u53ce\u76ca\u5316\u3057\u305f\u3044\u65b9\u306f\u3069\u306a\u305f\u3067\u3082DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u8ca2\u732e\u3067\u304d\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30012\u70b9\u9593\u306b\u5c02\u7528\u5e2f\u57df\u5e45\u3092\u63d0\u4f9b\u3057\u3001\u5404\u7aef\u3067DoubleZero\u4e92\u63db\u30c7\u30d0\u30a4\u30b9\uff08DZD\uff09\u3092\u904b\u7528\u3057\u3001\u5404\u7aef\u3067\u30d1\u30d6\u30ea\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3078\u306e\u63a5\u7d9a\u304c\u5fc5\u8981\u3067\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u307e\u305f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3001\u30e6\u30fc\u30b6\u30fc\u691c\u7d22\u3001\u30a8\u30c3\u30b8\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306a\u3069\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u5404DZD\u3067DoubleZero\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

DoubleZero\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u6e2c\u5b9a\u53ef\u80fd\u3067\u30c8\u30dd\u30ed\u30b8\u30fc\u306b\u7d71\u5408\u3067\u304d\u308b\u9ad8\u54c1\u8cea\u306e\u30ea\u30f3\u30af\u3092\u7dad\u6301\u3059\u308b\u3053\u3068\u3092\u4fdd\u8a3c\u3059\u308b\u305f\u3081\u306e\u790e\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u304c\u7570\u306a\u308b\u30e6\u30fc\u30b6\u30fc\u3068\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u9593\u3067\u6700\u3082\u52b9\u7387\u7684\u306a\u30a8\u30f3\u30c9\u30c4\u30fc\u30a8\u30f3\u30c9\u30d1\u30b9\u3092\u958b\u767a\u3067\u304d\u307e\u3059\u3002\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306e\u5b9f\u884c\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6a5f\u5668\u3068\u5e2f\u57df\u5e45\u306e\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u5f8c\u3001\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u3057\u3066\u5206\u985e\u3055\u308c\u307e\u3059\u3002DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u3057\u3066\u306e\u53c2\u52a0\u80cc\u5f8c\u306e\u7d4c\u6e08\u5b66\u3092\u3055\u3089\u306b\u7406\u89e3\u3059\u308b\u306b\u306f\u3001DoubleZero Economics\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/contribute/#doublezero","title":"DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u306a\u308b\u8981\u4ef6","text":""},{"location":"ja/contribute/#_3","title":"\u30af\u30a4\u30c3\u30af\u30b9\u30bf\u30fc\u30c8\u30ac\u30a4\u30c9","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3068\u3057\u3066\u3001DoubleZero\u3092\u958b\u59cb\u3059\u308b\u6700\u3082\u7c21\u5358\u306a\u65b9\u6cd5\u306f\u3001DoubleZero\u5c02\u7528\u306b\u5229\u7528\u3067\u304d\u308b\u5bb9\u91cf\u3092\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u3067\u7279\u5b9a\u3059\u308b\u3053\u3068\u3067\u3059\u3002\u7279\u5b9a\u3057\u305f\u3089\u3001DZD\u3092\u30c7\u30d7\u30ed\u30a4\u3057\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089IPv4\u5230\u9054\u53ef\u80fd\u6027\u3068\u6700\u4f4eMTU 2048\u30d0\u30a4\u30c8\u306e\u307f\u3092\u4f9d\u5b58\u95a2\u4fc2\u3068\u3057\u3066\u5fc5\u8981\u3068\u3059\u308bDoubleZero\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4fc3\u9032\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u56f31\u306f\u5e2f\u57df\u5e45\u3068\u30d1\u30b1\u30c3\u30c8\u9001\u4fe1\u30fb\u51e6\u7406\u30b5\u30fc\u30d3\u30b9\u3092\u8ca2\u732e\u3059\u308b\u305f\u3081\u306e\u6700\u3082\u30b7\u30f3\u30d7\u30eb\u306a\u30e2\u30c7\u30eb\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002DZD\u306f\u5404\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u914d\u5099\u3055\u308c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3057\u3066DoubleZero WAN\u63a5\u7d9a\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u30ed\u30fc\u30ab\u30eb\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\uff08\u901a\u5e38\u306fDirect Internet Access\uff08DIA\uff09\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\uff09\u306b\u3088\u3063\u3066\u88dc\u5b8c\u3055\u308c\u3001DoubleZero\u30e6\u30fc\u30b6\u30fc\u306e\u30aa\u30f3\u30e9\u30f3\u30d7\u3068\u3057\u3066\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002DIA\u304cDoubleZero\u306e\u30e6\u30fc\u30b6\u30fc\u30a2\u30af\u30bb\u30b9\u3092\u4fc3\u9032\u3059\u308b\u512a\u5148\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306a\u308b\u3053\u3068\u304c\u4e88\u60f3\u3055\u308c\u307e\u3059\u304c\u3001\u7269\u7406\u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u304b\u3089\u30b5\u30fc\u30d0\u30fc\u3078\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d5\u30a1\u30d6\u30ea\u30c3\u30af\u62e1\u5f35\u306a\u3069\u3001\u3055\u307e\u3056\u307e\u306a\u63a5\u7d9a\u30e2\u30c7\u30eb\u304c\u53ef\u80fd\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092Choose Your Own Adventure\uff08CYOA\uff09\u3068\u547c\u3073\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30dd\u30ea\u30b7\u30fc\u306b\u6700\u3082\u9069\u3057\u305f\u65b9\u6cd5\u3067\u30ed\u30fc\u30ab\u30eb\u307e\u305f\u306f\u30ea\u30e2\u30fc\u30c8\u30e6\u30fc\u30b6\u30fc\u3092\u63a5\u7d9a\u3059\u308b\u67d4\u8edf\u6027\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

\u3042\u3089\u3086\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u540c\u69d8\u306b\u3001\u5230\u9054\u53ef\u80fd\u6027\u306f\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u57fa\u672c\u7684\u306a\u90e8\u5206\u3067\u3042\u308a\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u5b64\u7acb\u3057\u3066\u5b58\u5728\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u305f\u3081\u3001DZD\u306f\u53c2\u52a0\u8005\u9593\u3067\u9023\u7d9a\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306bDoubleZero Exchange\uff08DZX\uff09\u3078\u306e\u30ea\u30f3\u30af\u3092\u6301\u305f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002

\u56f31\uff1a2\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e - \u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc"},{"location":"ja/contribute/#_4","title":"\u8ca2\u732e\u306e\u4f8b","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304cDoubleZero\u3078\u306e\u8ca2\u732e\u3092\u62e1\u5927\u3067\u304d\u308b\u65b9\u6cd5\u306f\u591a\u6570\u3042\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\uff1a

"},{"location":"ja/contribute/#132","title":"\u4f8b1\uff1a\u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30013\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u30012\u30ea\u30f3\u30af","text":"\u56f32\uff1a3\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e - \u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc

\u5358\u4e00\u306eDZD\u306fDoubleZero\u306b\u63d0\u4f9b\u3055\u308c\u308b\u8907\u6570\u306e\u30ea\u30f3\u30af\u3092\u30b5\u30dd\u30fc\u30c8\u3067\u304d\u307e\u3059\u3002\u56f32\u306f\u3001\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc1\u3068\u305d\u308c\u305e\u308c\u7570\u306a\u308b\u30ea\u30e2\u30fc\u30c8\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc2\u30683\u306e\u9593\u306e\u5e2f\u57df\u5e45\u3092\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u304c\u7d42\u7aef\u3059\u308b\u5834\u5408\u306e\u6f5c\u5728\u7684\u306a\u30c8\u30dd\u30ed\u30b8\u30fc\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30b7\u30ca\u30ea\u30aa\u3067\u306f\u3001\u5404\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u306f1\u3064\u306eDZD\u306e\u307f\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u3059\u3079\u3066\u306eDZD\u306fCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3068\u3057\u3066DIA\u3092\u30e6\u30fc\u30b6\u30fc\u30aa\u30f3\u30e9\u30f3\u30d7\u306b\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/contribute/#233","title":"\u4f8b2\uff1a\u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30013\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u30013\u30ea\u30f3\u30af","text":"

\u56f33\u306f\u5358\u4e00\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c3\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306e\u30c8\u30e9\u30a4\u30a2\u30f3\u30b0\u30eb\u30c8\u30dd\u30ed\u30b8\u30fc\u306b3\u3064\u306e\u30ea\u30f3\u30af\u3092\u5c55\u958b\u3057\u305f\u5834\u5408\u306eDoubleZero\u30c8\u30dd\u30ed\u30b8\u30fc\u3092\u8aac\u660e\u3057\u3066\u3044\u307e\u3059\u3002\u4f8b1\u306b\u4f3c\u305f\u30b7\u30ca\u30ea\u30aa\u3067\u3001\u5358\u4e00\u306eDZD\u304c\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc1\u30012\u30013\u306b\u5c55\u958b\u3055\u308c\u3001\u305d\u308c\u305e\u308c2\u3064\u306e\u72ec\u7acb\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002\u7d50\u679c\u3068\u3057\u3066\u5f97\u3089\u308c\u308b\u30c8\u30dd\u30ed\u30b8\u30fc\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306e\u30c8\u30e9\u30a4\u30a2\u30f3\u30b0\u30eb\u307e\u305f\u306f\u30ea\u30f3\u30b0\u3067\u3059\u3002

\u56f33\uff1a3\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e - \u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc"},{"location":"ja/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

\u9023\u7d9a\u3057\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u4f5c\u6210\u306fDoubleZero\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u57fa\u672c\u7684\u306a\u69cb\u6210\u8981\u7d20\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u30cb\u30e5\u30fc\u30e8\u30fc\u30af\uff08NYC\uff09\u3001\u30ed\u30f3\u30c9\u30f3\uff08LON\uff09\u3001\u6771\u4eac\uff08TYO\uff09\u306a\u3069\u306e\u90fd\u5e02\u3067\u3042\u308b\u5927\u90fd\u5e02\u570f\u5185\u306eDoubleZero Exchange\uff08DZX\uff09\u3092\u901a\u3058\u3066\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3057\u307e\u3059\u3002DZX\u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\u306b\u4f3c\u305f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d5\u30a1\u30d6\u30ea\u30c3\u30af\u3067\u3042\u308a\u3001\u30d4\u30a2\u30ea\u30f3\u30b0\u3068\u30eb\u30fc\u30c8\u4ea4\u63db\u3092\u53ef\u80fd\u306b\u3057\u307e\u3059\u3002

\u56f34\u3067\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc1\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc1\u30012\u30013\u3067\u904b\u7528\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc2\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc2\u30014\u30015\u3067\u904b\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc2\u3067\u76f8\u4e92\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u5230\u9054\u7bc4\u56f2\u306f5\u3064\u306e\u9023\u7d9a\u3057\u305f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u62e1\u5927\u3055\u308c\u307e\u3059\u3002

\u56f34\uff1a2\u3064\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u9593\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5e2f\u57df\u5e45\u8ca2\u732e"},{"location":"ja/contribute/#_5","title":"\u5e2f\u57df\u5e45\u8ca2\u732e\u30aa\u30d7\u30b7\u30e7\u30f3","text":"

DoubleZero\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u5bfe\u3057\u3001\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3092\u901a\u3058\u3066\u8868\u73fe\u3055\u308c\u308b2\u3064\u306e\u7d42\u7aef\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306eDZD\u9593\u306e\u4fdd\u8a3c\u3055\u308c\u305f\u5e2f\u57df\u5e45\u3001\u30ec\u30a4\u30c6\u30f3\u30b7\u3001\u30b8\u30c3\u30bf\u30fc\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306b\u3088\u308b\u7d71\u5408\u63a5\u7d9a\u6027\u3092\u63d0\u4f9b\u3059\u308b\u3053\u3068\u3092\u8981\u6c42\u3057\u307e\u3059\u3002DoubleZero\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u8ca2\u732e\u3092\u5b9f\u88c5\u3059\u308b\u65b9\u6cd5\u3092\u7fa9\u52d9\u4ed8\u3051\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u4ee5\u4e0b\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u305d\u308c\u305e\u308c\u306e\u5224\u65ad\u3067\u4f7f\u7528\u3059\u308b\u305f\u3081\u306e\u6307\u793a\u7684\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u3068\u3063\u3066\u8003\u616e\u3059\u3079\u304d\u91cd\u8981\u306a\u5206\u91ce\uff1a

"},{"location":"ja/contribute/#1","title":"\u30ec\u30a4\u30e4\u30fc1\u5e2f\u57df\u5e45","text":"\u56f35\uff1a\u30ec\u30a4\u30e4\u30fc1\u5149\u5b66\u30b5\u30fc\u30d3\u30b9

\u30ec\u30a4\u30e4\u30fc1\u5e2f\u57df\u5e45\uff08\u3088\u308a\u6b63\u5f0f\u306b\u306f\u6ce2\u9577\u30b5\u30fc\u30d3\u30b9\u3068\u3082\u547c\u3070\u308c\u308b\uff09\u306f\u3001DWDM\u3001CWDM\u307e\u305f\u306f\u5149\u30de\u30eb\u30c1\u30d7\u30ec\u30af\u30b5\u30fc\uff08MUX\uff09\u306a\u3069\u306e\u65e2\u5b58\u306e\u5149\u5b66\u30a4\u30f3\u30d5\u30e9\u306b\u5c02\u7528\u5bb9\u91cf\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u56f35\u3067\u306f\u3001DZD\u306fL1 MUX\u306b\u30b1\u30fc\u30d6\u30eb\u63a5\u7d9a\u3055\u308c\u305f\u30ab\u30e9\u30fc\u30c9\u30aa\u30d7\u30c6\u30a3\u30af\u30b9\u3092\u4f7f\u7528\u3057\u3001DZD\u306e\u6ce2\u9577\u3092\u65e2\u5b58\u306e\u30c0\u30fc\u30af\u30d5\u30a1\u30a4\u30d0\u30fc\u306b\u591a\u91cd\u5316\u3057\u307e\u3059\u3002

\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306b\u306f\u3001\u65e2\u5b58\u306e\u30b3\u30a2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u904b\u7528\u3057\u3066\u3044\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u3068\u3063\u3066\u591a\u304f\u306e\u5229\u70b9\u304c\u3042\u308a\u307e\u3059\u3002\u53cd\u5fa9\u7684\u306a\u904b\u7528\u4e0a\u306e\u5909\u66f4\u3001\u304a\u3088\u3073\u8ffd\u52a0\u306eCAPEX\u3068OPEX\u306e\u8981\u4ef6\u306f\u63a7\u3048\u3081\u3067\u3059\u3002\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u306e\u5206\u96e2\u3092\u63d0\u4f9b\u3059\u308b\u4e0a\u3067\u7279\u306b\u5805\u7262\u3067\u3059\u3002

"},{"location":"ja/contribute/#_6","title":"\u30d1\u30b1\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u30c9\u5e2f\u57df\u5e45","text":"

\u30d1\u30b1\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u30c9\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3001\u30d3\u30b8\u30cd\u30b9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u6a19\u6e96\u7684\u306a\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u304a\u3088\u3073\u30b9\u30a4\u30c3\u30c1\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u5b9f\u884c\u3059\u308b\u5178\u578b\u7684\u306a\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u8003\u3048\u3089\u308c\u307e\u3059\u3002VLAN\u30bf\u30b0\u3092\u4f7f\u7528\u3057\u305f\u30ec\u30a4\u30e4\u30fc2\uff08L2\uff09\u62e1\u5f35\u306a\u3069\u3001\u63a5\u7d9a\u3092\u5b9f\u73fe\u3059\u308b\u3055\u307e\u3056\u307e\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u6280\u8853\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute/#l2","title":"L2\u62e1\u5f35","text":"\u56f36\uff1a\u30d1\u30b1\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u30c9\u30cd\u30c3\u30c8\u30ef\u30fc\u30af - L2\u62e1\u5f35

\u56f36\u306b\u793a\u3059L2\u62e1\u5f35\u306fVLAN\u30bf\u30ae\u30f3\u30b0\u3092\u901a\u3058\u3066\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002DZD\u306e\u30dd\u30fc\u30c8\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30a4\u30c3\u30c1\u306b\u30b1\u30fc\u30d6\u30eb\u63a5\u7d9a\u3067\u304d\u3001\u30b9\u30a4\u30c3\u30c1\u30dd\u30fc\u30c8\u306f\u4f8b\u3048\u3070VLAN 10\u306e\u30a2\u30af\u30bb\u30b9\u30dd\u30fc\u30c8\u3068\u3057\u3066\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002802.1q\u30bf\u30ae\u30f3\u30b0\u3092\u901a\u3058\u3066\u3001\u3053\u306eVLAN\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u8907\u6570\u306e\u30b9\u30a4\u30c3\u30c1\u30db\u30c3\u30d7\u3092\u901a\u3058\u3066\u904b\u642c\u3055\u308c\u3001\u30ea\u30e2\u30fc\u30c8DZD\u3068\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3059\u308b\u30b9\u30a4\u30c3\u30c1\u3067\u7d42\u7aef\u3055\u308c\u307e\u3059\u3002

\u3053\u306e\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306f\u5e83\u304f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u3066\u6bd4\u8f03\u7684\u5b9f\u88c5\u304c\u5bb9\u6613\u3067\u3042\u308a\u3001DoubleZero\u3068\u5185\u90e8\u30ec\u30a4\u30e4\u30fc3\u30b5\u30fc\u30d3\u30b9\u9593\u306e\u30bb\u30b0\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u5e2f\u57df\u5e45\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30b9\u30a4\u30c3\u30c1\u307e\u305f\u306f\u30eb\u30fc\u30bf\u30fc\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u901f\u5ea6\u306b\u57fa\u3065\u3044\u3066\u5236\u5fa1\u3067\u304d\u307e\u3059\u3002Quality of Service\uff08QoS\uff09\u3084\u305d\u306e\u4ed6\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306a\u3069\u306e\u6280\u8853\u3092\u901a\u3058\u3066\u3001\u5171\u6709\u5185\u90e8L2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5168\u4f53\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u614e\u91cd\u306b\u8003\u616e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30b3\u30a2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u306b\u65e2\u5b58\u306e\u5bb9\u91cf\u304c\u3042\u308b\u5834\u5408\u3001\u8ffd\u52a0\u306eCAPEX\u3068OPEX\u306e\u6295\u8cc7\u306f\u63a7\u3048\u3081\u306a\u306f\u305a\u3067\u3059\u3002

"},{"location":"ja/contribute/#_7","title":"\u5c02\u7528\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u5e2f\u57df\u5e45","text":"\u56f37\uff1a\u5c02\u7528\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u5e2f\u57df\u5e45

\u5229\u7528\u53ef\u80fd\u306a\u5bb9\u91cf\u3092\u518d\u5229\u7528\u3059\u308b\u3053\u3068\u306f\u591a\u304f\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306b\u3068\u3063\u3066\u9b45\u529b\u7684\u3067\u3059\u304c\u3001\u65b0\u305f\u306b\u53d6\u5f97\u3057\u305f\u5e2f\u57df\u5e45\u3092DoubleZero\u306b\u5c02\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u3088\u3046\u306a\u30b7\u30ca\u30ea\u30aa\u3067\u306f\u3001DZD\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u5185\u90e8\u30c7\u30d0\u30a4\u30b9\u3092\u30a4\u30f3\u30e9\u30a4\u30f3\u306b\u914d\u7f6e\u3059\u308b\u3053\u3068\u306a\u304f\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30ad\u30e3\u30ea\u30a2\u306b\u76f4\u63a5\u63a5\u7d9a\u3055\u308c\u307e\u3059\uff08\u56f37\uff09\u3002

\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306fDoubleZero\u5c02\u7528\u306e\u5e2f\u57df\u5e45\u3092\u78ba\u4fdd\u3057\u3001\u904b\u7528\u304c\u30b7\u30f3\u30d7\u30eb\u3067\u3001\u4ed6\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u306e\u5b8c\u5168\u306a\u5206\u96e2\u3092\u78ba\u4fdd\u3059\u308b\u305f\u3081\u9b45\u529b\u7684\u3067\u3059\u3002\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u304a\u305d\u3089\u304f\u6700\u3082\u9ad8\u3044OPEX\u306e\u5897\u52a0\u3092\u3082\u305f\u3089\u3057\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30ad\u30e3\u30ea\u30a2\u3068\u306e\u65b0\u3057\u3044\u30b5\u30fc\u30d3\u30b9\u5951\u7d04\u304c\u5fc5\u8981\u3067\u3059\u3002

"},{"location":"ja/contribute/#_8","title":"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u8981\u4ef6","text":""},{"location":"ja/contribute/#100gbps","title":"100Gbps\u5e2f\u57df\u5e45\u8ca2\u732e","text":"

\u4ee5\u4e0b\u306e\u6570\u91cf\u306f2\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u3067\u5fc5\u8981\u306a\u6a5f\u5668\u3001\u3059\u306a\u308f\u30611\u672c\u306e\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u306e\u5e2f\u57df\u5e45\u8ca2\u732e\u3092\u5c55\u958b\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5408\u8a08\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u53cd\u6620\u3057\u3066\u3044\u307e\u3059\u3002

*\u3059\u3079\u3066\u306eFPGA\u306f\u6700\u7d42\u30c6\u30b9\u30c8\u6b21\u7b2c\u3067\u3059\u300210G\u8ca2\u732e\u306f\u7d44\u307f\u8fbc\u307f\u30c7\u30e5\u30a2\u30ebVirtex\u00ae UltraScale+\u2122 FPGA\u3092\u6301\u3064Arista 7130LBR\u30b9\u30a4\u30c3\u30c1\u3092\u4f7f\u7528\u3057\u3066\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\uff08\u3054\u8cea\u554f\u304c\u3042\u308c\u3070\u3001DoubleZero Foundation / Malbec Labs\u304c\u559c\u3093\u3067\u8a73\u7d30\u60c5\u5831\u3092\u63d0\u4f9b\u3057\u307e\u3059\uff09\u3002"},{"location":"ja/contribute/#_9","title":"\u6a5f\u80fd\u3068\u30dd\u30fc\u30c8\u8981\u4ef6","text":"\u6a5f\u80fd \u30dd\u30fc\u30c8\u901f\u5ea6 DZ\u8981\u4ef6 QTY \u6ce8\u610f \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u5e2f\u57df\u5e45 100G \u306f\u3044 1 Direct Internet Access (DIA) 10G \u306f\u3044 2 DoubleZero eXchange (DZX) 100G \u306f\u3044* 1 \u540c\u3058\u5927\u90fd\u5e02\u570f\u30673\u793e\u4ee5\u4e0a\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u904b\u55b6\u3059\u308b\u5834\u5408\u306b\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u308c\u4ee5\u524d\u306f\u3001\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u307e\u305f\u306f\u4ed6\u306e\u30d4\u30a2\u30ea\u30f3\u30b0\u624b\u914d\u3092\u4f7f\u7528\u3057\u3066\u4ed6\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u76f8\u4e92\u63a5\u7d9a\u3067\u304d\u307e\u3059\u3002 \u7ba1\u7406 \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002 \u30b3\u30f3\u30bd\u30fc\u30eb \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002"},{"location":"ja/contribute/#dzd","title":"DZD\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f AMD* V80* 24540474 \u306f\u3044 4 Arista 7280CR3A DCS-7280CR3A-32S \u306f\u3044 2 \u30ea\u30fc\u30c9\u30bf\u30a4\u30e0\u304c\u56f0\u96e3\u306a\u5834\u5408\u306f\u4ee3\u66ff\u54c1\u3082\u53ef\u80fd\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002"},{"location":"ja/contribute/#-100g","title":"\u5149\u5b66\u90e8\u54c1 - 100G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 100GBASE-LR QSFP-100G-LR \u3044\u3044\u3048 16 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002FPGA\u306e\u63a5\u7d9a\u306b\u306f100G\u304c\u5fc5\u8981\u3067\u3059\u3002"},{"location":"ja/contribute/#-10g","title":"\u5149\u5b66\u90e8\u54c1 - 10G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 10GBASE-LR SFP-10G-LR \u3044\u3044\u3048 2 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u3044\u3044\u3048 2 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002"},{"location":"ja/contribute/#ip","title":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0","text":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0 \u6700\u5c0f\u30b5\u30d6\u30cd\u30c3\u30c8\u30b5\u30a4\u30ba DZ\u8981\u4ef6 \u6ce8\u610f \u30d1\u30d6\u30ea\u30c3\u30afIPv4 /29 \u306f\u3044\uff08\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9DZD\u306e\u5834\u5408\uff09 DIA\u7d4c\u7531\u3067\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u53ef\u80fd\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5c06\u6765\u7684\u306b\u306f\u3053\u306e\u5fc5\u8981\u6027\u3092\u306a\u304f\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

DZ\u30d7\u30ed\u30c8\u30b3\u30eb\u7528\u306b\u5b8c\u5168\u306a/29\u30d7\u30fc\u30eb\u304c\u5229\u7528\u53ef\u80fd\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u4e0a\u306e\u30dd\u30a4\u30f3\u30c8\u30c4\u30fc\u30dd\u30a4\u30f3\u30c8\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0\u306a\u3069\u306e\u8981\u4ef6\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3067\u7ba1\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute/#10gbps","title":"10Gbps\u5e2f\u57df\u5e45\u8ca2\u732e","text":"

\u4ee5\u4e0b\u306e\u6570\u91cf\u306f2\u3064\u306e\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306e\u6a5f\u5668\u3001\u3059\u306a\u308f\u30611\u3064\u306e\u5e2f\u57df\u5e45\u8ca2\u732e\u3092\u5c55\u958b\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5408\u8a08\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u53cd\u6620\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/contribute/#_10","title":"\u6a5f\u80fd\u3068\u30dd\u30fc\u30c8\u8981\u4ef6","text":"\u6a5f\u80fd \u30dd\u30fc\u30c8\u901f\u5ea6 DZ\u8981\u4ef6 QTY \u6ce8\u610f \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u5e2f\u57df\u5e45 10G \u306f\u3044 1 Direct Internet Access (DIA) 10G \u306f\u3044 2 DoubleZero eXchange (DZX) 100G \u306f\u3044* 1 \u540c\u3058\u5927\u90fd\u5e02\u570f\u30673\u793e\u4ee5\u4e0a\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304c\u904b\u55b6\u3059\u308b\u5834\u5408\u306b\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u308c\u4ee5\u524d\u306f\u3001\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u307e\u305f\u306f\u4ed6\u306e\u30d4\u30a2\u30ea\u30f3\u30b0\u624b\u914d\u3092\u4f7f\u7528\u3057\u3066\u4ed6\u306e\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u76f8\u4e92\u63a5\u7d9a\u3067\u304d\u307e\u3059\u3002 \u7ba1\u7406 \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002 \u30b3\u30f3\u30bd\u30fc\u30eb \u3044\u3044\u3048 1 \u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u72ec\u81ea\u306e\u5185\u90e8\u7ba1\u7406\u30dd\u30ea\u30b7\u30fc\u306b\u3088\u3063\u3066\u6c7a\u5b9a\u3055\u308c\u307e\u3059\u3002"},{"location":"ja/contribute/#_11","title":"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f AMD* V80* 24540474* \u306f\u3044 4 Arista 7280CR3A DCS-7280CR3A-32S \u306f\u3044 2 \u30ea\u30fc\u30c9\u30bf\u30a4\u30e0\u304c\u56f0\u96e3\u306a\u5834\u5408\u306f\u4ee3\u66ff\u54c1\u3082\u53ef\u80fd\u306a\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002"},{"location":"ja/contribute/#-100g_1","title":"\u5149\u5b66\u90e8\u54c1 - 100G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 100GBASE-LR QSFP-100G-LR \u3044\u3044\u3048 14 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002FPGA\u306e\u63a5\u7d9a\u306b\u306f100G\u304c\u5fc5\u8981\u3067\u3059\u3002"},{"location":"ja/contribute/#-10g_1","title":"\u5149\u5b66\u90e8\u54c1 - 10G","text":"\u30e1\u30fc\u30ab\u30fc \u30e2\u30c7\u30eb \u90e8\u54c1\u756a\u53f7 DZ\u8981\u4ef6 QTY \u6ce8\u610f Arista 10GBASE-LR SFP-10G-LR \u3044\u3044\u3048 4 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002 Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \u3044\u3044\u3048 4 \u30b1\u30fc\u30d6\u30ea\u30f3\u30b0\u3068\u5149\u5b66\u90e8\u54c1\u306e\u9078\u629e\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u88c1\u91cf\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002"},{"location":"ja/contribute/#ip_1","title":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0","text":"IP\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0 \u6700\u5c0f\u30b5\u30d6\u30cd\u30c3\u30c8\u30b5\u30a4\u30ba DZ\u8981\u4ef6 \u6ce8\u610f \u30d1\u30d6\u30ea\u30c3\u30afIPv4 /29 \u306f\u3044\uff08\u30a8\u30c3\u30b8/\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9DZD\u306e\u5834\u5408\uff09 DIA\u7d4c\u7531\u3067\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u53ef\u80fd\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5c06\u6765\u7684\u306b\u306f\u3053\u306e\u5fc5\u8981\u6027\u3092\u306a\u304f\u3059\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

DZ\u30d7\u30ed\u30c8\u30b3\u30eb\u7528\u306b\u5b8c\u5168\u306a/29\u30d7\u30fc\u30eb\u304c\u5229\u7528\u53ef\u80fd\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002DIA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u4e0a\u306e\u30dd\u30a4\u30f3\u30c8\u30c4\u30fc\u30dd\u30a4\u30f3\u30c8\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0\u306a\u3069\u306e\u8981\u4ef6\u306f\u3001\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u30d7\u30fc\u30eb\u3067\u7ba1\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/contribute/#_12","title":"\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u8981\u4ef6","text":""},{"location":"ja/contribute/#_13","title":"\u30e9\u30c3\u30af\u3068\u96fb\u529b\u8981\u4ef6","text":"\u8981\u4ef6 \u4ed5\u69d8 \u30e9\u30c3\u30af\u30b9\u30da\u30fc\u30b9 4U \u96fb\u529b 4KW\uff08\u63a8\u5968\uff09"},{"location":"ja/contribute/#_14","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7","text":"

\u6700\u521d\u306eDZD\u3092\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3059\u308b\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f\u304b\uff1f\u30c7\u30d0\u30a4\u30b9\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u30ac\u30a4\u30c9\u306b\u9032\u3093\u3067\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/","title":"\u7528\u8a9e\u96c6","text":"

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.

\u3053\u306e\u30da\u30fc\u30b8\u3067\u306f\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5168\u4f53\u3067\u4f7f\u7528\u3055\u308c\u308bDoubleZero\u56fa\u6709\u306e\u7528\u8a9e\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_2","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9","text":""},{"location":"ja/glossary/#dzddoublezero","title":"DZD\uff08DoubleZero\u30c7\u30d0\u30a4\u30b9\uff09","text":"

DoubleZero\u30ea\u30f3\u30af\u3092\u7d42\u7aef\u3057\u3001DoubleZero\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3092\u5b9f\u884c\u3059\u308b\u7269\u7406\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30a4\u30c3\u30c1\u30f3\u30b0\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3067\u3059\u3002DZD\u306f\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306b\u914d\u5099\u3055\u308c\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3001\u30d1\u30b1\u30c3\u30c8\u51e6\u7406\u3001\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u30b5\u30fc\u30d3\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u5404DZD\u306f\u7279\u5b9a\u306e\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u4ed5\u69d8\u3092\u5fc5\u8981\u3068\u3057\u3001Config Agent\u3068Telemetry Agent\u306e\u4e21\u65b9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#dzxdoublezero-exchange","title":"DZX\uff08DoubleZero Exchange\uff09","text":"

\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30ea\u30f3\u30af\u304c\u6a4b\u6e21\u3057\u3055\u308c\u308b\u30e1\u30c3\u30b7\u30e5\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u76f8\u4e92\u63a5\u7d9a\u70b9\u3067\u3059\u3002DZX\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4ea4\u5dee\u304c\u767a\u751f\u3059\u308b\u4e3b\u8981\u306a\u5927\u90fd\u5e02\u570f\uff08NYC\u3001LON\u3001TYO\u306a\u3069\uff09\u306b\u4f4d\u7f6e\u3057\u3066\u3044\u307e\u3059\u3002\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u6700\u5bc4\u308a\u306eDZX\u3067\u3088\u308a\u5e83\u3044DoubleZero\u30e1\u30c3\u30b7\u30e5\u306b\u30ea\u30f3\u30af\u3092\u30af\u30ed\u30b9\u30b3\u30cd\u30af\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u6982\u5ff5\u7684\u306b\u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30a8\u30af\u30b9\u30c1\u30a7\u30f3\u30b8\uff08IX\uff09\u306b\u985e\u4f3c\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/glossary/#wan","title":"WAN\u30ea\u30f3\u30af","text":"

\u540c\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u904b\u7528\u3059\u308b2\u3064\u306eDZD\u9593\u306e\u30ef\u30a4\u30c9\u30a8\u30ea\u30a2\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u3067\u3059\u3002WAN\u30ea\u30f3\u30af\u306f\u3001\u5358\u4e00\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u5185\u3067\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u63a5\u7d9a\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#dzx","title":"DZX\u30ea\u30f3\u30af","text":"

DZX\u306b\u304a\u3044\u3066\u7570\u306a\u308b\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u904b\u7528\u3059\u308bDZD\u9593\u306b\u78ba\u7acb\u3055\u308c\u308b\u30ea\u30f3\u30af\u3067\u3059\u3002DZX\u30ea\u30f3\u30af\u306f\u53cc\u65b9\u306e\u660e\u793a\u7684\u306a\u627f\u8a8d\u304c\u5fc5\u8981\u3067\u3059\u3002

"},{"location":"ja/glossary/#dz","title":"DZ\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9","text":"

\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30c9\u30ec\u30c3\u30b7\u30f3\u30b0\u306e\u305f\u3081\u306bDZD\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u308bCIDR\u5f62\u5f0f\u306eIP\u30a2\u30c9\u30ec\u30b9\u5272\u308a\u5f53\u3066\u3067\u3059\u3002--dz-prefixes\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30d0\u30a4\u30b9\u4f5c\u6210\u6642\u306b\u6307\u5b9a\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_3","title":"\u30c7\u30d0\u30a4\u30b9\u30bf\u30a4\u30d7","text":""},{"location":"ja/glossary/#_4","title":"\u30a8\u30c3\u30b8\u30c7\u30d0\u30a4\u30b9","text":"

\u30e6\u30fc\u30b6\u30fc\u306bDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u63a5\u7d9a\u3092\u63d0\u4f9b\u3059\u308bDZD\u3067\u3059\u3002\u30a8\u30c3\u30b8\u30c7\u30d0\u30a4\u30b9\u306fCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u6d3b\u7528\u3057\u3066\u30e6\u30fc\u30b6\u30fc\uff08\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3001RPC\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\uff09\u3092\u7d42\u7aef\u3057\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u63a5\u7d9a\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_5","title":"\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u30c7\u30d0\u30a4\u30b9","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u3067\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u63a5\u7d9a\u3092\u63d0\u4f9b\u3059\u308bDZD\u3067\u3059\u3002\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u30c7\u30d0\u30a4\u30b9\u306fDZD\u9593\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u79fb\u52d5\u3057\u307e\u3059\u304c\u3001\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3092\u76f4\u63a5\u7d42\u7aef\u3057\u307e\u305b\u3093\u3002

"},{"location":"ja/glossary/#_6","title":"\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30c7\u30d0\u30a4\u30b9","text":"

\u30a8\u30c3\u30b8\u3068\u30c8\u30e9\u30f3\u30b8\u30c3\u30c8\u306e\u4e21\u6a5f\u80fd\u3092\u7d44\u307f\u5408\u308f\u305b\u3001\u30e6\u30fc\u30b6\u30fc\u63a5\u7d9a\u3068\u30d0\u30c3\u30af\u30dc\u30fc\u30f3\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4e21\u65b9\u3092\u63d0\u4f9b\u3059\u308bDZD\u3067\u3059\u3002

"},{"location":"ja/glossary/#_7","title":"\u63a5\u7d9a\u6027","text":""},{"location":"ja/glossary/#cyoachoose-your-own-adventure","title":"CYOA\uff08Choose Your Own Adventure\uff09","text":"

\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u304c\u30e6\u30fc\u30b6\u30fc\u306eDoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u63a5\u7d9a\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u767b\u9332\u3067\u304d\u308b\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30bf\u30a4\u30d7\u3067\u3059\u3002CYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306b\u306f\u3001DIA\u3001GRE\u30c8\u30f3\u30cd\u30eb\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30d4\u30a2\u30ea\u30f3\u30b0\u306a\u3069\u306e\u3055\u307e\u3056\u307e\u306a\u65b9\u5f0f\u304c\u542b\u307e\u308c\u307e\u3059\u3002\u8a2d\u5b9a\u306e\u8a73\u7d30\u306fCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u4f5c\u6210\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#diadirect-internet-access","title":"DIA\uff08Direct Internet Access\uff09","text":"

\u30d1\u30d6\u30ea\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u7d4c\u7531\u3067\u63d0\u4f9b\u3055\u308c\u308b\u63a5\u7d9a\u306e\u6a19\u6e96\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7528\u8a9e\u3067\u3059\u3002DoubleZero\u3067\u306f\u3001DIA\u306f\u30e6\u30fc\u30b6\u30fc\uff08\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3001RPC\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\uff09\u304c\u65e2\u5b58\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u3092\u901a\u3058\u3066DZD\u306b\u63a5\u7d9a\u3059\u308bCYOA\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30bf\u30a4\u30d7\u3067\u3059\u3002

"},{"location":"ja/glossary/#ibrlincrease-bandwidth-reduce-latency","title":"IBRL\uff08Increase Bandwidth Reduce Latency\uff09","text":"

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3068RPC\u30ce\u30fc\u30c9\u304c\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u518d\u8d77\u52d5\u305b\u305a\u306bDoubleZero\u306b\u63a5\u7d9a\u3067\u304d\u308b\u63a5\u7d9a\u30e2\u30fc\u30c9\u3067\u3059\u3002IBRL\u306f\u65e2\u5b58\u306e\u30d1\u30d6\u30ea\u30c3\u30afIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3057\u3001\u6700\u5bc4\u308a\u306eDZD\u3078\u306e\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30c8\u30f3\u30cd\u30eb\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u624b\u9806\u306f\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u63a5\u7d9a\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_8","title":"\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8","text":"

DoubleZero\u304c\u30b5\u30dd\u30fc\u30c8\u3059\u308b1\u5bfe\u591a\u30d1\u30b1\u30c3\u30c8\u914d\u4fe1\u65b9\u5f0f\u3067\u3059\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30e2\u30fc\u30c9\u306b\u306f2\u3064\u306e\u5f79\u5272\u304c\u3042\u308a\u307e\u3059\uff1a\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\uff08\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5168\u4f53\u306b\u30d1\u30b1\u30c3\u30c8\u3092\u9001\u4fe1\uff09\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\uff08\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u304b\u3089\u30d1\u30b1\u30c3\u30c8\u3092\u53d7\u4fe1\uff09\u3002\u958b\u767a\u30c1\u30fc\u30e0\u304c\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u914d\u4fe1\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002\u63a5\u7d9a\u306e\u8a73\u7d30\u306f\u305d\u306e\u4ed6\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_9","title":"\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8","text":""},{"location":"ja/glossary/#doublezerod","title":"doublezerod","text":"

\u30e6\u30fc\u30b6\u30fc\u30b5\u30fc\u30d0\u30fc\uff08\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u3001RPC\u30ce\u30fc\u30c9\uff09\u3067\u5b9f\u884c\u3055\u308c\u308bDoubleZero\u30c7\u30fc\u30e2\u30f3\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3078\u306e\u63a5\u7d9a\u3092\u7ba1\u7406\u3057\u3001\u30c8\u30f3\u30cd\u30eb\u78ba\u7acb\u3092\u51e6\u7406\u3057\u3001DZD\u3078\u306e\u63a5\u7d9a\u3092\u7dad\u6301\u3057\u307e\u3059\u3002systemd\u3067\u8a2d\u5b9a\u3055\u308c\u3001doublezero CLI\u3092\u901a\u3058\u3066\u5236\u5fa1\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#doublezerocli","title":"doublezero\uff08CLI\uff09","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u5bfe\u8a71\u3059\u308b\u305f\u3081\u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002\u63a5\u7d9a\u3001\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u7ba1\u7406\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u78ba\u8a8d\u3001\u7ba1\u7406\u64cd\u4f5c\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002doublezerod\u30c7\u30fc\u30e2\u30f3\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#config-agent","title":"Config Agent","text":"

DZD\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u308b\u30c7\u30d0\u30a4\u30b9\u8a2d\u5b9a\u7ba1\u7406\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u3001\u30c7\u30d0\u30a4\u30b9\u306b\u5909\u66f4\u3092\u9069\u7528\u3057\u307e\u3059\u3002\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306fConfig Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

DZD\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u308b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\uff08\u30ec\u30a4\u30c6\u30f3\u30b7\u3001\u30b8\u30c3\u30bf\u30fc\u3001\u30d1\u30b1\u30c3\u30c8\u30ed\u30b9\uff09\u3092\u53ce\u96c6\u3057\u3001DoubleZero\u30ec\u30b8\u30e3\u30fc\u306b\u9001\u4fe1\u3059\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3067\u3059\u3002\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306fTelemetry Agent\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_10","title":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc","text":"

DZD\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306b\u8a2d\u5b9a\u3092\u63d0\u4f9b\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306fDoubleZero\u30ec\u30b8\u30e3\u30fc\u306e\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u72b6\u614b\u304b\u3089\u30c7\u30d0\u30a4\u30b9\u8a2d\u5b9a\u3092\u5c0e\u51fa\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_11","title":"\u30ea\u30f3\u30af\u72b6\u614b","text":""},{"location":"ja/glossary/#_12","title":"\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u6e08\u307f","text":"

\u30ea\u30f3\u30af\u306e\u901a\u5e38\u306e\u52d5\u4f5c\u72b6\u614b\u3067\u3059\u3002\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u30ea\u30f3\u30af\u3092\u901a\u3058\u3066\u6d41\u308c\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u6c7a\u5b9a\u306b\u53c2\u52a0\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_13","title":"\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3\u6e08\u307f","text":"

\u7279\u5b9a\u306e\u30ea\u30f3\u30af\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u6291\u5236\u3055\u308c\u308b\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u72b6\u614b\u3067\u3059\u3002\u30b0\u30ec\u30fc\u30b9\u30d5\u30eb\u306a\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u6e08\u307f\u307e\u305f\u306f\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3\u6e08\u307f\u306b\u79fb\u884c\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/glossary/#_14","title":"\u30cf\u30fc\u30c9\u30c9\u30ec\u30a4\u30f3\u6e08\u307f","text":"

\u30ea\u30f3\u30af\u304c\u5b8c\u5168\u306b\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u9664\u5916\u3055\u308c\u308b\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u72b6\u614b\u3067\u3059\u3002\u30ea\u30f3\u30af\u3092\u901a\u3058\u3066\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306f\u6d41\u308c\u307e\u305b\u3093\u3002\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u6e08\u307f\u306b\u623b\u308b\u524d\u306b\u30bd\u30d5\u30c8\u30c9\u30ec\u30a4\u30f3\u6e08\u307f\u306b\u79fb\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/glossary/#_15","title":"\u7d44\u7e54\u30fb\u30c8\u30fc\u30af\u30f3","text":""},{"location":"ja/glossary/#dzfdoublezero-foundation","title":"DZF\uff08DoubleZero Foundation\uff09","text":"

DoubleZero Foundation\u306f\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u958b\u767a\u3001\u5206\u6563\u5316\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3001\u304a\u3088\u3073\u666e\u53ca\u3092\u652f\u63f4\u3059\u308b\u305f\u3081\u306b\u8a2d\u7acb\u3055\u308c\u305f\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6\u306e\u30e1\u30f3\u30d0\u30fc\u306a\u3057\u975e\u55b6\u5229\u8ca1\u56e3\u4f1a\u793e\u3067\u3059\u3002

"},{"location":"ja/glossary/#2z","title":"2Z\u30c8\u30fc\u30af\u30f3","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30c8\u30fc\u30af\u30f3\u3067\u3059\u3002\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u624b\u6570\u6599\u306e\u652f\u6255\u3044\u306b\u4f7f\u7528\u3055\u308c\u3001\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u3078\u306e\u5831\u916c\u3068\u3057\u3066\u914d\u5e03\u3055\u308c\u307e\u3059\u3002\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u30b9\u30ef\u30c3\u30d7\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u901a\u3058\u30662Z\u3067\u624b\u6570\u6599\u3092\u652f\u6255\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u30022Z\u3067\u306e\u624b\u6570\u6599\u652f\u6255\u3044\u3068SOL\u304b\u30892Z\u3078\u306e\u30b9\u30ef\u30c3\u30d7\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_16","title":"\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5e2f\u57df\u5e45\u3068\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3092\u63d0\u4f9b\u3059\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306fDZD\u3092\u904b\u7528\u3057\u3001WAN\u304a\u3088\u3073DZX\u30ea\u30f3\u30af\u3092\u63d0\u4f9b\u3057\u3001\u305d\u306e\u8ca2\u732e\u306b\u5bfe\u3057\u30662Z\u30c8\u30fc\u30af\u30f3\u30a4\u30f3\u30bb\u30f3\u30c6\u30a3\u30d6\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002\u958b\u59cb\u3059\u308b\u306b\u306f\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/glossary/#_17","title":"\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u306e\u6982\u5ff5","text":""},{"location":"ja/glossary/#mtumaximum-transmission-unit","title":"MTU\uff08Maximum Transmission Unit\uff09","text":"

\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30f3\u30af\u3067\u9001\u4fe1\u3067\u304d\u308b\u6700\u5927\u30d1\u30b1\u30c3\u30c8\u30b5\u30a4\u30ba\uff08\u30d0\u30a4\u30c8\u5358\u4f4d\uff09\u3067\u3059\u3002DoubleZero WAN\u30ea\u30f3\u30af\u306f\u901a\u5e38\u3001\u52b9\u7387\u5316\u306e\u305f\u3081\u306bMTU 9000\uff08\u30b8\u30e3\u30f3\u30dc\u30d5\u30ec\u30fc\u30e0\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#vrfvirtual-routing-and-forwarding","title":"VRF\uff08Virtual Routing and Forwarding\uff09","text":"

\u540c\u4e00\u306e\u7269\u7406\u30eb\u30fc\u30bf\u30fc\u4e0a\u306b\u8907\u6570\u306e\u72ec\u7acb\u3057\u305f\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30c6\u30fc\u30d6\u30eb\u3092\u5171\u5b58\u3055\u305b\u308b\u6280\u8853\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306f\u3001\u30b9\u30a4\u30c3\u30c1\u7ba1\u7406\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u672c\u756a\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304b\u3089\u5206\u96e2\u3059\u308b\u305f\u3081\u306b\u3001\u72ec\u7acb\u3057\u305f\u7ba1\u7406VRF\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002

"},{"location":"ja/glossary/#gregeneric-routing-encapsulation","title":"GRE\uff08Generic Routing Encapsulation\uff09","text":"

IP\u30d1\u30b1\u30c3\u30c8\u5185\u306b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d1\u30b1\u30c3\u30c8\u3092\u30ab\u30d7\u30bb\u30eb\u5316\u3059\u308b\u30c8\u30f3\u30cd\u30ea\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002IBRL\u304a\u3088\u3073CYOA\u63a5\u7d9a\u304c\u30e6\u30fc\u30b6\u30fc\u3068DZD\u9593\u306e\u30aa\u30fc\u30d0\u30fc\u30ec\u30a4\u30c8\u30f3\u30cd\u30eb\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#bgpborder-gateway-protocol","title":"BGP\uff08Border Gateway Protocol\uff09","text":"

\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u9593\u3067\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u60c5\u5831\u3092\u4ea4\u63db\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002DoubleZero\u306fASN 65342\u3092\u4f7f\u7528\u3057\u3066\u5185\u90e8\u7684\u306bBGP\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#asnautonomous-system-number","title":"ASN\uff08Autonomous System Number\uff09","text":"

BGP\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u305f\u3081\u306b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u308b\u4e00\u610f\u306e\u8b58\u5225\u5b50\u3067\u3059\u3002\u3059\u3079\u3066\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u306f\u5185\u90e8BGP\u30d7\u30ed\u30bb\u30b9\u306bASN 65342\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#_18","title":"\u30eb\u30fc\u30d7\u30d0\u30c3\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9","text":"

\u7ba1\u7406\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u76ee\u7684\u3067\u30eb\u30fc\u30bf\u30fc/\u30b9\u30a4\u30c3\u30c1\u4e0a\u306b\u5b58\u5728\u3059\u308b\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3067\u3059\u3002DZD\u306f\u5185\u90e8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306bLoopback255\uff08VPNv4\uff09\u3068Loopback256\uff08IPv4\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#cidrclassless-inter-domain-routing","title":"CIDR\uff08Classless Inter-Domain Routing\uff09","text":"

IP\u30a2\u30c9\u30ec\u30b9\u7bc4\u56f2\u3092\u6307\u5b9a\u3059\u308b\u305f\u3081\u306e\u8868\u8a18\u6cd5\u3067\u3059\u3002\u5f62\u5f0f\u306fIP/\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u9577\u3067\u3001\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u9577\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b5\u30a4\u30ba\u3092\u793a\u3057\u307e\u3059\uff08\u4f8b\uff1a/29 = 8\u30a2\u30c9\u30ec\u30b9\u3001/24 = 256\u30a2\u30c9\u30ec\u30b9\uff09\u3002

"},{"location":"ja/glossary/#_19","title":"\u30b8\u30c3\u30bf\u30fc","text":"

\u6642\u9593\u7d4c\u904e\u306b\u3088\u308b\u30d1\u30b1\u30c3\u30c8\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u5909\u52d5\u3067\u3059\u3002\u4f4e\u30b8\u30c3\u30bf\u30fc\u306f\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u91cd\u8981\u3067\u3059\u3002

"},{"location":"ja/glossary/#rttround-trip-time","title":"RTT\uff08Round-Trip Time\uff09","text":"

\u30d1\u30b1\u30c3\u30c8\u304c\u9001\u4fe1\u5143\u304b\u3089\u5b9b\u5148\u3078\u3001\u305d\u3057\u3066\u623b\u308b\u307e\u3067\u306e\u6642\u9593\u3067\u3059\u3002\u30c7\u30d0\u30a4\u30b9\u9593\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ec\u30a4\u30c6\u30f3\u30b7\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#twamptwo-way-active-measurement-protocol","title":"TWAMP\uff08Two-Way Active Measurement Protocol\uff09","text":"

\u30ec\u30a4\u30c6\u30f3\u30b7\u3084\u30d1\u30b1\u30c3\u30c8\u30ed\u30b9\u306a\u3069\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6e2c\u5b9a\u3059\u308b\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002Telemetry Agent\u306fDZD\u9593\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u53ce\u96c6\u306bTWAMP\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#is-isintermediate-system-to-intermediate-system","title":"IS-IS\uff08Intermediate System to Intermediate System\uff09","text":"

DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u90e8\u3067\u4f7f\u7528\u3055\u308c\u308b\u30ea\u30f3\u30af\u30b9\u30c6\u30fc\u30c8\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3059\u3002IS-IS\u30e1\u30c8\u30ea\u30af\u30b9\u306f\u30ea\u30f3\u30af\u30c9\u30ec\u30a4\u30f3\u64cd\u4f5c\u4e2d\u306b\u8abf\u6574\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#_20","title":"\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30fb\u30ad\u30fc","text":""},{"location":"ja/glossary/#_21","title":"\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3","text":"

DoubleZero\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u3001\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u3068\u306fDoubleZero\u30ec\u30b8\u30e3\u30fc\u306b\u8a18\u9332\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3068\u64cd\u4f5c\u3092\u6307\u3057\u307e\u3059\u3002\u30c7\u30d0\u30a4\u30b9\u3068\u30ea\u30f3\u30af\u306e\u8a2d\u5b9a\u304c\u4e2d\u592e\u96c6\u6a29\u7684\u306a\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306b\u5b58\u5728\u3059\u308b\u5f93\u6765\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u306f\u7570\u306a\u308a\u3001DoubleZero\u306f\u30c7\u30d0\u30a4\u30b9\u767b\u9332\u3001\u30ea\u30f3\u30af\u8a2d\u5b9a\u3001\u30c6\u30ec\u30e1\u30c8\u30ea\u9001\u4fe1\u3092\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306b\u8a18\u9332\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u72b6\u614b\u304c\u3059\u3079\u3066\u306e\u53c2\u52a0\u8005\u306b\u5bfe\u3057\u3066\u900f\u660e\u3067\u691c\u8a3c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002

"},{"location":"ja/glossary/#_22","title":"\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc","text":"

CLI\u64cd\u4f5c\u3092\u8a8d\u8a3c\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u6697\u53f7\u9375\u30da\u30a2\u3067\u3059\u3002\u3053\u308c\u306fDoubleZero\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u5bfe\u8a71\u3059\u308b\u305f\u3081\u306e\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3067\u3059\u3002~/.config/solana/id.json\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#_23","title":"\u30e1\u30c8\u30ea\u30af\u30b9\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u30ad\u30fc","text":"

Telemetry Agent\u304c\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u3078\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u9001\u4fe1\u306b\u7f72\u540d\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u6697\u53f7\u9375\u30da\u30a2\u3067\u3059\u3002\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u5206\u96e2\u306e\u305f\u3081\u306b\u30b5\u30fc\u30d3\u30b9\u30ad\u30fc\u3068\u306f\u5225\u3067\u3059\u3002~/.config/doublezero/metrics-publisher.json\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/glossary/#_24","title":"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30fb\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2","text":""},{"location":"ja/glossary/#eosextensible-operating-system","title":"EOS\uff08Extensible Operating System\uff09","text":"

DZD\u30b9\u30a4\u30c3\u30c1\u4e0a\u3067\u5b9f\u884c\u3055\u308c\u308bArista\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3067\u3059\u3002\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf\u30fc\u306fConfig Agent\u3068Telemetry Agent\u3092EOS\u62e1\u5f35\u6a5f\u80fd\u3068\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002

"},{"location":"ja/glossary/#eos","title":"EOS\u62e1\u5f35\u6a5f\u80fd","text":"

Arista EOS\u30b9\u30a4\u30c3\u30c1\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059\u3002DZ\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306f.rpm\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u914d\u5e03\u3055\u308c\u3001extension\u30b3\u30de\u30f3\u30c9\u3092\u901a\u3058\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"ja/multicast-admin/#doublezero","title":"DoubleZero\u306b\u304a\u3051\u308b\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u7ba1\u7406","text":"

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306f\u3001\u30c7\u30fc\u30bf\u3092\u8907\u6570\u306e\u53d7\u4fe1\u8005\u306b\u52b9\u7387\u7684\u306b\u9001\u4fe1\u3059\u308b\u305f\u3081\u306b\u5171\u901a\u306e\u8b58\u5225\u5b50\uff08\u901a\u5e38\u306f\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8IP\u30a2\u30c9\u30ec\u30b9\uff09\u3092\u5171\u6709\u3059\u308b\u30c7\u30d0\u30a4\u30b9\u3084\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ce\u30fc\u30c9\u306e\u8ad6\u7406\u7684\u306a\u96c6\u5408\u4f53\u3067\u3059\u3002\u30e6\u30cb\u30ad\u30e3\u30b9\u30c8\uff081\u5bfe1\uff09\u3084\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\uff081\u5bfe\u5168\uff09\u901a\u4fe1\u3068\u306f\u7570\u306a\u308a\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u3067\u306f\u30b0\u30eb\u30fc\u30d7\u306b\u53c2\u52a0\u3057\u305f\u53d7\u4fe1\u8005\u306b\u5bfe\u3057\u3066\u306e\u307f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u3088\u3063\u3066\u8907\u88fd\u3055\u308c\u308b\u5358\u4e00\u306e\u30c7\u30fc\u30bf\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u9001\u4fe1\u8005\u304c\u9001\u4fe1\u3067\u304d\u307e\u3059\u3002

\u3053\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u306b\u3088\u308a\u3001\u30d1\u30b1\u30c3\u30c8\u306f\u30ea\u30f3\u30af\u3054\u3068\u306b1\u5ea6\u3060\u3051\u9001\u4fe1\u3055\u308c\u3001\u8907\u6570\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306b\u5230\u9054\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u5834\u5408\u306b\u306e\u307f\u8907\u88fd\u3055\u308c\u308b\u305f\u3081\u3001\u5e2f\u57df\u5e45\u306e\u4f7f\u7528\u3092\u6700\u9069\u5316\u3057\u3001\u9001\u4fe1\u8005\u3068\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30d5\u30e9\u306e\u4e21\u65b9\u3078\u306e\u8ca0\u8377\u3092\u8efd\u6e1b\u3057\u307e\u3059\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306f\u3001\u30e9\u30a4\u30d6\u30d3\u30c7\u30aa\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u3001\u4f1a\u8b70\u3001\u91d1\u878d\u30c7\u30fc\u30bf\u914d\u4fe1\u3001\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e1\u30c3\u30bb\u30fc\u30b8\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306a\u3069\u306e\u30b7\u30ca\u30ea\u30aa\u3067\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

DoubleZero\u3067\u306f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306f\u5404\u30b0\u30eb\u30fc\u30d7\u5185\u3067\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\uff08\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\uff09\u304a\u3088\u3073\u53d7\u4fe1\uff08\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\uff09\u3067\u304d\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e\u5b89\u5168\u3067\u5236\u5fa1\u3055\u308c\u305f\u30e1\u30ab\u30cb\u30ba\u30e0\u3092\u63d0\u4f9b\u3057\u3001\u52b9\u7387\u7684\u3067\u30ac\u30d0\u30ca\u30f3\u30b9\u3055\u308c\u305f\u60c5\u5831\u914d\u4fe1\u3092\u78ba\u4fdd\u3057\u307e\u3059\u3002

flowchart LR\n    subgraph Publishers\n        P1[\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc 1]\n        P2[\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc 2]\n        P3[\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc 3]\n    end\n    subgraph Subscribers\n        S1[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 1]\n        S2[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 2]\n        S3[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 3]\n        S4[\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc 4]\n    end\n    P1 --> B[\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

\u4e0a\u306e\u56f3\u306f\u3001\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3067\u304d\u3001\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u305d\u308c\u3089\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3059\u308b\u305f\u3081\u306b\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u3067\u304d\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30d1\u30b1\u30c3\u30c8\u3092\u52b9\u7387\u7684\u306b\u8907\u88fd\u3057\u3001\u3059\u3079\u3066\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u304c\u4e0d\u8981\u306a\u9001\u4fe1\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u306a\u3057\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#1","title":"1. \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u4f5c\u6210\u3068\u4e00\u89a7\u8868\u793a","text":"

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306fDoubleZero\u306b\u304a\u3051\u308b\u5b89\u5168\u3067\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u914d\u4fe1\u306e\u57fa\u76e4\u3067\u3059\u3002\u5404\u30b0\u30eb\u30fc\u30d7\u306f\u4e00\u610f\u306b\u8b58\u5225\u3055\u308c\u3001\u7279\u5b9a\u306e\u5e2f\u57df\u5e45\u3068\u30aa\u30fc\u30ca\u30fc\u3067\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002\u65b0\u3057\u3044\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u4f5c\u6210\u3067\u304d\u308b\u306e\u306fDoubleZero Foundation\u7ba1\u7406\u8005\u306e\u307f\u3067\u3042\u308a\u3001\u9069\u5207\u306a\u30ac\u30d0\u30ca\u30f3\u30b9\u3068\u30ea\u30bd\u30fc\u30b9\u5272\u308a\u5f53\u3066\u304c\u78ba\u4fdd\u3055\u308c\u307e\u3059\u3002

\u4f5c\u6210\u5f8c\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u4e00\u89a7\u8868\u793a\u3057\u3066\u3001\u5229\u7528\u53ef\u80fd\u306a\u3059\u3079\u3066\u306e\u30b0\u30eb\u30fc\u30d7\u3001\u305d\u306e\u8a2d\u5b9a\u3001\u73fe\u5728\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u6982\u8981\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\u3068\u30b0\u30eb\u30fc\u30d7\u30aa\u30fc\u30ca\u30fc\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u76e3\u8996\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306b\u4e0d\u53ef\u6b20\u3067\u3059\u3002

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u4f5c\u6210\uff1a

\u65b0\u3057\u3044\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306fDoubleZero Foundation\u306e\u307f\u304c\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u4f5c\u6210\u30b3\u30de\u30f3\u30c9\u306b\u306f\u4e00\u610f\u306e\u30b3\u30fc\u30c9\u3001\u6700\u5927\u5e2f\u57df\u5e45\u3001\u30aa\u30fc\u30ca\u30fc\u306e\u516c\u958b\u9375\uff08\u307e\u305f\u306f\u73fe\u5728\u306e\u30da\u30a4\u30e4\u30fc\u306e\u305f\u3081\u306e\u300cme\u300d\uff09\u304c\u5fc5\u8981\u3067\u3059\u3002

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

\u3059\u3079\u3066\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u4e00\u89a7\u8868\u793a\uff1a

\u3059\u3079\u3066\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u4e00\u89a7\u8868\u793a\u3057\u3001\u8981\u7d04\u60c5\u5831\uff08\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8IP\u3001\u5e2f\u57df\u5e45\u3001\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u6570\u3001\u30b9\u30c6\u30fc\u30bf\u30b9\u3001\u30aa\u30fc\u30ca\u30fc\u3092\u542b\u3080\uff09\u3092\u8868\u793a\u3059\u308b\u306b\u306f\uff1a

doublezero multicast group list\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3059\u3079\u3066\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3068\u305d\u306e\u4e3b\u8981\u306a\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u30c6\u30fc\u30d6\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\uff1a - account\uff1a\u30b0\u30eb\u30fc\u30d7\u30a2\u30ab\u30a6\u30f3\u30c8\u30a2\u30c9\u30ec\u30b9 - code\uff1a\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9 - multicast_ip\uff1a\u30b0\u30eb\u30fc\u30d7\u306b\u5272\u308a\u5f53\u3066\u3089\u308c\u305f\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8IP\u30a2\u30c9\u30ec\u30b9 - max_bandwidth\uff1a\u30b0\u30eb\u30fc\u30d7\u306e\u6700\u5927\u8a31\u5bb9\u5e2f\u57df\u5e45 - publishers\uff1a\u30b0\u30eb\u30fc\u30d7\u5185\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u6570 - subscribers\uff1a\u30b0\u30eb\u30fc\u30d7\u5185\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u6570 - status\uff1a\u73fe\u5728\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\uff08\u4f8b\uff1aactivated\uff09 - owner\uff1a\u30aa\u30fc\u30ca\u30fc\u306e\u516c\u958b\u9375

\u30b0\u30eb\u30fc\u30d7\u304c\u4f5c\u6210\u3055\u308c\u308b\u3068\u3001\u30aa\u30fc\u30ca\u30fc\u306f\u3069\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3068\u3057\u3066\u63a5\u7d9a\u3067\u304d\u308b\u304b\u3092\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#2","title":"2. \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc/\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u8a31\u53ef\u30ea\u30b9\u30c8\u306e\u7ba1\u7406","text":"

\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306f\u3001DoubleZero\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u5236\u5fa1\u3059\u308b\u305f\u3081\u306b\u4e0d\u53ef\u6b20\u3067\u3059\u3002\u3053\u308c\u3089\u306e\u30ea\u30b9\u30c8\u306f\u3001\u7279\u5b9a\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u5185\u3067\u30c7\u30fc\u30bf\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\uff08\u9001\u4fe1\uff09\u307e\u305f\u306f\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\uff08\u53d7\u4fe1\uff09\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u660e\u793a\u7684\u306b\u5b9a\u7fa9\u3057\u307e\u3059\u3002

\u3053\u308c\u3089\u306e\u30ea\u30b9\u30c8\u306e\u7ba1\u7406\u306f\u30b0\u30eb\u30fc\u30d7\u30aa\u30fc\u30ca\u30fc\u306e\u8cac\u4efb\u3067\u3042\u308a\u3001DoubleZero CLI\u3092\u4f7f\u7528\u3057\u3066\u627f\u8a8d\u3055\u308c\u305f\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3068\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u306e\u8ffd\u52a0\u3001\u524a\u9664\u3001\u8868\u793a\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u9069\u5207\u306a\u8a31\u53ef\u30ea\u30b9\u30c8\u7ba1\u7406\u306f\u3001\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u901a\u4fe1\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3001\u6574\u5408\u6027\u3001\u30c8\u30ec\u30fc\u30b5\u30d3\u30ea\u30c6\u30a3\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u306b\u91cd\u8981\u3067\u3059\u3002

\u6ce8\u610f\uff1a \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3092\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u307e\u305f\u306f\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5\u3059\u308b\u306b\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u307e\u305a\u6a19\u6e96\u306e\u63a5\u7d9a\u624b\u9806\u306b\u5f93\u3063\u3066DoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u627f\u8a8d\u3055\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u8aac\u660e\u3059\u308b\u8a31\u53ef\u30ea\u30b9\u30c8\u30b3\u30de\u30f3\u30c9\u306f\u3001\u65e2\u306b\u627f\u8a8d\u3055\u308c\u305fDoubleZero\u30e6\u30fc\u30b6\u30fc\u3092\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u95a2\u9023\u4ed8\u3051\u308b\u3060\u3051\u3067\u3059\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u65b0\u3057\u3044IP\u3092\u8ffd\u52a0\u3057\u3066\u3082\u3001\u305d\u308c\u3060\u3051\u3067\u306fDoubleZero\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u3068\u5bfe\u8a71\u3059\u308b\u524d\u306b\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u65e2\u306b\u4e00\u822c\u7684\u306a\u627f\u8a8d\u30d7\u30ed\u30bb\u30b9\u3092\u5b8c\u4e86\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#_1","title":"\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3059\u308b","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_2","title":"\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3059\u308b","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_3","title":"\u30b0\u30eb\u30fc\u30d7\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u8a31\u53ef\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3059\u308b","text":"

\u7279\u5b9a\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u3042\u308b\u3059\u3079\u3066\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u4e00\u89a7\u8868\u793a\u3059\u308b\u306b\u306f\uff1a

doublezero multicast group allowlist publisher list --code <CODE>\n

\u4f8b\uff1a

doublezero multicast group allowlist publisher list --code mg01\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u30b0\u30eb\u30fc\u30d7\u3078\u306e\u63a5\u7d9a\u304c\u73fe\u5728\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc\u3092\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8IP\u3001\u30e6\u30fc\u30b6\u30fc\u30da\u30a4\u30e4\u30fc\u3068\u3068\u3082\u306b\u8868\u793a\u3057\u307e\u3059\u3002

"},{"location":"ja/multicast-admin/#_4","title":"\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3059\u308b","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_5","title":"\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3059\u308b","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ja/multicast-admin/#_6","title":"\u30b0\u30eb\u30fc\u30d7\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u8a31\u53ef\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3059\u308b","text":"

\u7279\u5b9a\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u3042\u308b\u3059\u3079\u3066\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u4e00\u89a7\u8868\u793a\u3059\u308b\u306b\u306f\uff1a

doublezero multicast group allowlist subscriber list --code <CODE>\n

\u4f8b\uff1a

doublezero multicast group allowlist subscriber list --code mg01\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u30b0\u30eb\u30fc\u30d7\u3078\u306e\u63a5\u7d9a\u304c\u73fe\u5728\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\u3092\u30a2\u30ab\u30a6\u30f3\u30c8\u3001\u30b0\u30eb\u30fc\u30d7\u30b3\u30fc\u30c9\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8IP\u3001\u30e6\u30fc\u30b6\u30fc\u30da\u30a4\u30e4\u30fc\u3068\u3068\u3082\u306b\u8868\u793a\u3057\u307e\u3059\u3002

\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306e\u63a5\u7d9a\u3068\u4f7f\u7528\u65b9\u6cd5\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u306e\u4ed6\u306e\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u63a5\u7d9a\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/paying-fees/","title":"\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6599\u91d1\u4f53\u7cfb","text":"

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.

Solana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u5411\u3051\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u516c\u5e73\u306a\u6599\u91d1\u8a2d\u5b9a

\u624b\u6570\u6599\u306f\u30a8\u30dd\u30c3\u30af859\u304b\u3089\u958b\u59cb\u3057\u3001\u6771\u90e8\u6642\u959310\u67084\u65e5\uff08\u571f\uff09\u5348\u524d4\u6642\u304b\u3089\u59cb\u307e\u308a\u307e\u3059\u3002\u30d6\u30ed\u30c3\u30af\u7f72\u540d\u5831\u916c\u3068\u30d7\u30e9\u30a4\u30aa\u30ea\u30c6\u30a3\u624b\u6570\u6599\u306b\u5bfe\u3057\u3066\u4e00\u5f8b5%\u306e\u624b\u6570\u6599\u304c\u5fb4\u53ce\u3055\u308c\u307e\u3059\u3002

\u624b\u6570\u6599\u306fDoubleZero\u3092\u53ef\u80fd\u306b\u3059\u308b\u30a4\u30f3\u30d5\u30e9\u306b\u76f4\u63a5\u5145\u5f53\u3055\u308c\u307e\u3059\u3002\u7269\u7406\u7684\u306a\u5149\u30d5\u30a1\u30a4\u30d0\u30fc\u30b1\u30fc\u30d6\u30eb\u3084\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306e\u6a5f\u5668\u306a\u3069\u304c\u542b\u307e\u308c\u307e\u3059\u3002

\u624b\u6570\u6599\u304c\u5b58\u5728\u3059\u308b\u7406\u7531\u3068\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u6599\u91d1\u30e2\u30c7\u30eb\u306e\u8a73\u7d30\u306f\u3053\u3061\u3089\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002

\u3053\u306e\u30ac\u30a4\u30c9\u306f\u6280\u8853\u7684\u306a\u89b3\u70b9\u304b\u3089\u624b\u6570\u6599\u306e\u652f\u6255\u3044\u65b9\u6cd5\u306b\u7126\u70b9\u3092\u5f53\u3066\u3066\u3044\u307e\u3059\u3002

"},{"location":"ja/paying-fees/#_2","title":"\u6c7a\u6e08\u30e2\u30c7\u30eb","text":""},{"location":"ja/paying-fees/#_3","title":"\u624b\u6570\u6599\u306e\u898b\u7a4d\u3082\u308a","text":"

\u904e\u53bb\u306e\u898b\u7a4d\u3082\u308a\u3068\u516c\u958b\u9375\u3054\u3068\u306e\u30c7\u30fc\u30bf\u306f\u624b\u6570\u6599\u898b\u7a4d\u3082\u308a\u30ea\u30dd\u30b8\u30c8\u30ea\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306f\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u30c7\u30fc\u30bf\u306e\u4ee3\u66ff\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306e\u6b8b\u9ad8\u306f\u3042\u306a\u305f\u81ea\u8eab\u306e\u8cac\u4efb\u3067\u3042\u308a\u3001\u3053\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u6b8b\u9ad8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002

\u3054\u8cea\u554f\u306fNihar Shah\uff08nihar@doublezero.us\uff09\u307e\u3067\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/paying-fees/#_4","title":"\u958b\u767a\u8005\u5411\u3051\u8a73\u7d30","text":""},{"location":"ja/paying-fees/#_5","title":"\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9","text":"

DoubleZero CLI\u306f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u30c7\u30dd\u30b8\u30c3\u30c8\u3092\u7ba1\u7406\u3057\u3001\u6b8b\u9ad8\u3092\u76e3\u8996\u3059\u308b\u30b3\u30de\u30f3\u30c9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30ac\u30b9\u4ee3\u3068\u3057\u3066SOL\u304c\u5fc5\u8981\u3067\u3059\u3002

"},{"location":"ja/paying-fees/#1","title":"\u30b9\u30c6\u30c3\u30d71\uff1a\u672a\u6255\u3044\u8ca0\u50b5\u306e\u78ba\u8a8d","text":"

\u7279\u5b9a\u306e\u30a2\u30c9\u30ec\u30b9\u306e\u8ca0\u50b5\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u5f62\u5f0f\u3092\u4f7f\u7528\u3057\u307e\u3059\uff1a

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
\u4ee5\u4e0b\u306b\u51fa\u529b\u4f8b\u3092\u793a\u3057\u307e\u3059\uff1a

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\u306b\u306fnote\u5217\u306b2\u7a2e\u985e\u306e\u51fa\u529b\u304c\u8868\u793a\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002Not funded\u306f\u30a2\u30ab\u30a6\u30f3\u30c8\u3078\u306e\u8cc7\u91d1\u8abf\u9054\u304c\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002\u4f8b\u306e0.632515639 SOL needed\u306f\u3001\u5bfe\u8c61\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u306b\u95a2\u9023\u3059\u308b\u73fe\u5728\u306e\u672a\u6255\u3044\u8ca0\u50b5\u5168\u984d\u3092\u652f\u6255\u3046\u305f\u3081\u306b\u5fc5\u8981\u306a\u672a\u6255\u3044SOL\u984d\u3067\u3059\u3002

"},{"location":"ja/paying-fees/#2","title":"\u30b9\u30c6\u30c3\u30d72\uff1a\u672a\u6255\u3044\u8ca0\u50b5\u306e\u652f\u6255\u3044","text":"

Note

\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9a\u671f\u7684\u306a\u9593\u9694\u3067\u5b9f\u884c\u3059\u308b\u3088\u3046\u306b\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3067\u304d\u307e\u3059\u3002

\u672a\u6255\u3044\u8ca0\u50b5\u3092\u652f\u6255\u3046\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001$HOME/.config/solana/id.json\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30ad\u30fc\u30da\u30a2\u304c\u81ea\u52d5\u7684\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

\u30b3\u30de\u30f3\u30c9\u306e\u672b\u5c3e\u306b-k path/to/keypair.json\u5f15\u6570\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3067\u3001\u8ca0\u50b5\u306e\u652f\u6255\u3044\u306b\u4f7f\u7528\u3059\u308b\u30ad\u30fc\u30da\u30a2\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
\u4ee5\u4e0b\u306b\u51fa\u529b\u4f8b\u3092\u793a\u3057\u307e\u3059\u3002

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: \u306f\u8cc7\u91d1\u304c\u6295\u5165\u3055\u308c\u305f\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u8fd4\u3057\u307e\u3059

Funded: \u306f\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30cf\u30c3\u30b7\u30e5\u3092\u8fd4\u3057\u307e\u3059\u3002\u304a\u597d\u307f\u306eSolana\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059

Node ID: \u306f\u652f\u6255\u3044\u304c\u884c\u308f\u308c\u305f\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u3092\u8fd4\u3057\u307e\u3059

Balance: \u306f\u8ee2\u9001\u5b8c\u4e86\u5f8c\u306e\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306eSOL\u6b8b\u9ad8\u3092\u8fd4\u3057\u307e\u3059

"},{"location":"ja/paying-fees2z/","title":"Paying fees2z","text":"

\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u8cc7\u6599\u306b\u30a2\u30af\u30bb\u30b9\u307e\u305f\u306f\u4f7f\u7528\u3059\u308b\u524d\u306b\u514d\u8cac\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

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.

\u514d\u8cac\u4e8b\u9805

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306f\u3001\u60c5\u5831\u63d0\u4f9b\u304a\u3088\u3073\u6280\u8853\u7684\u76ee\u7684\u306e\u307f\u306e\u305f\u3081\u306b\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u3053\u3067\u8aac\u660e\u3055\u308c\u3066\u3044\u308b\u30c8\u30fc\u30af\u30f3\u5909\u63db\u6a5f\u80fd\u306f\u30ce\u30f3\u30ab\u30b9\u30c8\u30c7\u30a3\u30a2\u30eb\uff08\u975e\u4fdd\u7ba1\u578b\uff09\u3067\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u306f\u57fa\u790e\u3068\u306a\u308b\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3068\u76f4\u63a5\u5bfe\u8a71\u3057\u3001\u5e38\u306b\u81ea\u5206\u306e\u8cc7\u7523\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3057\u307e\u3059\u3002

\u3053\u306e\u30b7\u30b9\u30c6\u30e0\u306f\u3001\u958b\u767a\u8005\u3084\u767a\u884c\u8005\u306b\u3088\u3063\u3066\u958b\u767a\u3001\u7ba1\u7406\u3001\u307e\u305f\u306f\u30ec\u30d3\u30e5\u30fc\u3055\u308c\u3066\u3044\u306a\u3044\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30b3\u30fc\u30c9\u3001\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3001\u307e\u305f\u306f\u4fa1\u683c\u304a\u3088\u3073\u624b\u6570\u6599\u30e1\u30ab\u30cb\u30ba\u30e0\uff08\u4f8b\uff1a\u30b9\u30de\u30fc\u30c8\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u3001API\u3001\u307e\u305f\u306f\u5206\u6563\u578b\u53d6\u5f15\u6240\uff09\u306b\u4f9d\u5b58\u307e\u305f\u306f\u5bfe\u8a71\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u7cbe\u5ea6\u3001\u6a5f\u80fd\u3001\u307e\u305f\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306b\u3064\u3044\u3066\u8868\u660e\u3084\u4fdd\u8a3c\u306f\u306a\u3055\u308c\u307e\u305b\u3093\u3002 \u3053\u306e\u30b3\u30fc\u30c9\u306e\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u305d\u306e\u7cbe\u5ea6\u3001\u5b8c\u5168\u6027\u3001\u307e\u305f\u306f\u7d99\u7d9a\u7684\u306a\u53ef\u7528\u6027\u3092\u4fdd\u8a3c\u3057\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u3068\u95a2\u9023\u8cc7\u6599\u306f\u300c\u73fe\u72b6\u306e\u307e\u307e\u300d\uff08AS IS\uff09\u3067\u63d0\u4f9b\u3055\u308c\u3001\u30d0\u30b0\u3001\u30a8\u30e9\u30fc\u3001\u307e\u305f\u306f\u8106\u5f31\u6027\u304c\u542b\u307e\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f7f\u7528\u306f\u3059\u3079\u3066\u3054\u81ea\u8eab\u306e\u30ea\u30b9\u30af\u3067\u304a\u884c\u3044\u304f\u3060\u3055\u3044\u3002 \u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3053\u308c\u3089\u306e\u30b3\u30f3\u30c8\u30e9\u30af\u30c8\u306e\u4f7f\u7528\u306b\u95a2\u9023\u3057\u3066\u3044\u304b\u306a\u308b\u624b\u6570\u6599\u3082\u53d7\u3051\u53d6\u308a\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u307e\u305f\u306f\u95a2\u9023\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3001\u66f4\u65b0\u3001\u307e\u305f\u306f\u30b5\u30dd\u30fc\u30c8\u306e\u7fa9\u52d9\u306f\u3042\u308a\u307e\u305b\u3093\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u30c8\u30fc\u30af\u30f3\u5909\u63db\u3001\u30b9\u30ef\u30c3\u30d7\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u3078\u306e\u53c2\u52a0\u3092\u58f2\u308a\u8fbc\u3080\u3001\u8cb7\u3044\u6c42\u3081\u308b\u3001\u307e\u305f\u306f\u63a8\u5968\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u6cd5\u7684\u3001\u8ca1\u52d9\u7684\u3001\u307e\u305f\u306f\u6295\u8cc7\u4e0a\u306e\u30a2\u30c9\u30d0\u30a4\u30b9\u306f\u63d0\u4f9b\u3055\u308c\u307e\u305b\u3093\u3002 \u30e6\u30fc\u30b6\u30fc\u306f\u81ea\u5206\u306e\u6d3b\u52d5\u306e\u5408\u6cd5\u6027\u3092\u5224\u65ad\u3059\u308b\u8cac\u4efb\u3092\u5358\u72ec\u3067\u8ca0\u3044\u307e\u3059\u3002\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u305f\u308a\u5909\u63db\u306b\u53c2\u52a0\u3057\u305f\u308a\u3059\u308b\u524d\u306b\u3001\u7ba1\u8f44\u533a\u57df\u306b\u9069\u7528\u3055\u308c\u308b\u6cd5\u5f8b\u3068\u898f\u5236\u3092\u78ba\u8a8d\u3057\u3001\u72ec\u7acb\u3057\u305f\u9867\u554f\u306b\u76f8\u8ac7\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5236\u88c1\u5bfe\u8c61\u306e\u500b\u4eba\u3084\u7d44\u7e54\u3001\u307e\u305f\u306f\u5236\u9650\u533a\u57df\u3067\u306e\u4f7f\u7528\u3092\u542b\u3080\u3001\u9055\u6cd5\u3068\u306a\u308b\u5834\u6240\u3067\u306e\u4f7f\u7528\u306f\u7981\u6b62\u3055\u308c\u3066\u3044\u307e\u3059\u3002

\u6cd5\u5f8b\u3067\u8a31\u53ef\u3055\u308c\u308b\u6700\u5927\u9650\u306e\u7bc4\u56f2\u3067\u3001\u958b\u767a\u8005\u3068\u767a\u884c\u8005\u306f\u3001\u30b3\u30fc\u30c9\u306e\u4f7f\u7528\u307e\u305f\u306f\u5909\u63db\u3078\u306e\u53c2\u52a0\u306b\u8d77\u56e0\u3059\u308b\u307e\u305f\u306f\u95a2\u9023\u3059\u308b\u3059\u3079\u3066\u306e\u640d\u5931\u3001\u640d\u5bb3\u3001\u307e\u305f\u306f\u8acb\u6c42\u306b\u5bfe\u3059\u308b\u4e00\u5207\u306e\u8cac\u4efb\u3092\u5426\u8a8d\u3057\u307e\u3059\u3002

\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304a\u3088\u3073\u95a2\u9023\u30b3\u30fc\u30c9\u306e\u30ec\u30d3\u30e5\u30fc\u3068\u4f7f\u7528\u306f\u3001\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u5229\u7528\u898f\u7d04\u304a\u3088\u3073\u30d7\u30ed\u30c8\u30b3\u30eb\u5229\u7528\u898f\u7d04\u306b\u5f93\u3044\u307e\u3059\u3002

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306f\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306e\u30b9\u30ef\u30c3\u30d7\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u901a\u3058\u30662Z\u3067\u624b\u6570\u6599\u3092\u652f\u6255\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30b9\u30ef\u30c3\u30d7\u306f2Z\u3092SOL\u3068\u30b9\u30ef\u30c3\u30d7\u3059\u308b\u3053\u3068\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306eSOL\u6b8b\u9ad8\u306f\u30b9\u30ef\u30c3\u30d7\u306b\u5fdc\u3058\u3066\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002

\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u5e38\u306b1 SOL\u306e\u5897\u5206\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u306e\u30b9\u30ef\u30c3\u30d7\u306e\u7d50\u679c\u306f\u5e38\u306b\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u76f4\u63a5\u9810\u3051\u5165\u308c\u3089\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u4e00\u65b9\u901a\u884c\u3067\u3042\u308a\u3001\u3053\u306e\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u304b\u30892Z\u307e\u305f\u306fSOL\u3092\u53d6\u308a\u623b\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30aa\u30f3\u30c1\u30a7\u30fc\u30f3\u306e\u914d\u5206\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u9001\u3089\u308c\u307e\u3059\u3002

"},{"location":"ja/paying-fees2z/#1","title":"\u30b9\u30c6\u30c3\u30d71","text":"

\u307e\u305a\u73fe\u5728\u306e\u5909\u63db\u30ec\u30fc\u30c8\u3092\u78ba\u8a8d\u3057\u307e\u3059

doublezero-solana revenue-distribution fetch sol-conversion\n

\u51fa\u529b\uff1a

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"ja/paying-fees2z/#2","title":"\u30b9\u30c6\u30c3\u30d72","text":"

\u6307\u5024\u6ce8\u6587\u3092\u51fa\u3057\u307e\u3059\u3002\u3053\u306e\u30b9\u30ef\u30c3\u30d7\u306f\u3054\u81ea\u8eab\u306e\u30ea\u30b9\u30af\u3067\u5b9f\u884c\u3057\u307e\u3059\u3002\u30ea\u30b9\u30af\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306b\u3064\u3044\u3066\u63a8\u5968\u306f\u305b\u305a\u3001\u3053\u3053\u3067\u63d0\u4f9b\u3055\u308c\u308b\u4f8b\u306f\u6559\u80b2\u76ee\u7684\u306e\u3082\u306e\u3067\u3059\u3002

"},{"location":"ja/paying-fees2z/#_1","title":"\u6307\u5024\u6ce8\u6587\u306e\u7d44\u307f\u7acb\u3066\u65b9\u6cd5","text":"

\u4e0a\u8a18\u306e\u4f8b\u306b\u57fa\u3065\u3044\u3066\u3001\u898b\u7a4d\u3082\u308a\u4fa1\u683c\u3088\u308a5%\u9ad8\u3044\u6307\u5024\u6ce8\u6587\u3092\u51fa\u3057\u307e\u3059\u3002 797.76 * 1.05 = 837.65

\u3053\u306e\u4f8b\u3067\u306f\u3001\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306b0 SOL\u3042\u308b\u3068\u4eee\u5b9a\u3057\u307e\u3059\u3002

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
\u4e0a\u8a18\u30b3\u30de\u30f3\u30c9\u306e--fund 1\u306f\u30c7\u30dd\u30b8\u30c3\u30c8\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u660e\u793a\u7684\u306b1 SOL\u3092\u8cc7\u91d1\u8abf\u9054\u3057\u307e\u3059\u3002

1\u4ee5\u5916\u306e\u6570\u5024\u3092\u9078\u629e\u3059\u308b\u3068\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3001\u8aa4\u3063\u305f\u91d1\u984d\u304c\u901a\u77e5\u3055\u308c\u307e\u3059\uff1a

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\u3092\u6c42\u3081\u3089\u308c\u307e\u3059\uff1a

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

\u51fa\u529b\uff1a

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
\u30b9\u30ef\u30c3\u30d7\u304c\u6210\u529f\u3059\u308b\u3068\u3001Balance:\u304c1 SOL\u306b\u66f4\u65b0\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002

\u6307\u5b9a\u3057\u305f\u7bc4\u56f2\u5916\u306e\u4fa1\u683c\u306e\u5834\u5408\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3059\uff1a

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"ja/quick-connect/","title":"\u30af\u30a4\u30c3\u30af\u30b3\u30cd\u30af\u30c8","text":"

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.

\u3044\u304f\u3064\u304b\u306e\u8cea\u554f\u306b\u56de\u7b54\u3059\u308b\u3068\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306b\u5408\u308f\u305b\u305f\u6b63\u78ba\u306a\u624b\u9806\u3068\u30b3\u30de\u30f3\u30c9\u3092\u542b\u3080\u30d1\u30fc\u30bd\u30ca\u30e9\u30a4\u30ba\u3055\u308c\u305f\u63a5\u7d9a\u30ac\u30a4\u30c9\u3092\u751f\u6210\u3057\u307e\u3059\u3002

\u7c21\u7565\u30ac\u30a4\u30c9

\u3053\u306e\u30a6\u30a3\u30b6\u30fc\u30c9\u306f\u3001\u3067\u304d\u308b\u3060\u3051\u65e9\u304f\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306b\u3001\u5b8c\u5168\u306a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304b\u3089\u91cd\u8981\u306a\u30b9\u30cb\u30da\u30c3\u30c8\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u5b8c\u5168\u306a\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u30c6\u30ca\u30f3\u30c8\u30ac\u30a4\u30c9\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002

\u3069\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u63a5\u7d9a\u3057\u307e\u3059\u304b\uff1f Mainnet-Beta \u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304a\u3088\u3073RPC\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\u5411\u3051\u306e\u672c\u756a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af Testnet \u30c6\u30b9\u30c8\u304a\u3088\u3073\u958b\u767a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af \u30b5\u30fc\u30d0\u30fc\u306eOS\u306f\uff1f Ubuntu / Debian Ubuntu 22.04+ \u307e\u305f\u306f Debian 11+ Rocky Linux / RHEL Rocky Linux \u307e\u305f\u306f RHEL 9+ \u3069\u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3067\u3059\u304b\uff1f Solana Solana\u306e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304a\u3088\u3073\u30aa\u30da\u30ec\u30fc\u30bf\u30fc Shelby Shelby\u306eRPC\u3068\u30b9\u30c8\u30ec\u30fc\u30b8\u30ce\u30fc\u30c9\uff08\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u307f\uff09 \u65b0\u898f\u30c6\u30ca\u30f3\u30c8 \u305d\u306e\u4ed6\u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0 \u4f7f\u7528\u3057\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30c4\u30fc\u30eb\u306f\uff1f iptables \u76f4\u63a5iptables\u30eb\u30fc\u30eb UFW Uncomplicated Firewall \u5b9f\u884c\u3057\u3066\u3044\u308b\u30ce\u30fc\u30c9\u306e\u30bf\u30a4\u30d7\u306f\uff1f \u30d0\u30ea\u30c7\u30fc\u30bf\u30fc ID\u30ad\u30fc\u30da\u30a2\u3092\u6301\u3064\u30ea\u30fc\u30c0\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30ebSolana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc \u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\uff08RPC\uff09 RPC\u30ce\u30fc\u30c9\u307e\u305f\u306fMEV\u30a4\u30f3\u30d5\u30e9 \u5fc5\u8981\u306a\u63a5\u7d9a\u30e2\u30fc\u30c9\u306f\uff1f \u30e6\u30cb\u30ad\u30e3\u30b9\u30c8\uff08IBRL\uff09 \u6a19\u6e96\u306e\u30dd\u30a4\u30f3\u30c8\u30c4\u30fc\u30dd\u30a4\u30f3\u30c8\u63a5\u7d9a \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8 1\u5bfe\u591a\u30d1\u30b1\u30c3\u30c8\u914d\u4fe1\uff08\u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc/\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc\uff09 \u4e21\u65b9 \u30e6\u30cb\u30ad\u30e3\u30b9\u30c8\u3068\u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306e\u540c\u6642\u30c8\u30f3\u30cd\u30eb \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u306e\u5f79\u5272\u306f\uff1f \u30d1\u30d6\u30ea\u30c3\u30b7\u30e3\u30fc \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\uff08\u4f8b\uff1a\u30d6\u30ed\u30c3\u30af\u30d7\u30ed\u30c7\u30e5\u30fc\u30b5\u30fc\uff09 \u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d0\u30fc \u30de\u30eb\u30c1\u30ad\u30e3\u30b9\u30c8\u30b0\u30eb\u30fc\u30d7\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d7\u4fe1"},{"location":"ja/setup/","title":"DoubleZero\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u65b9\u6cd5","text":"

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.

\u7528\u8a9e

DoubleZero\u3092\u521d\u3081\u3066\u5229\u7528\u3057\u307e\u3059\u304b\uff1f\u7528\u8a9e\u96c6\u3067doublezerod\u3001IBRL\u3001DZD\u306a\u3069\u306e\u7528\u8a9e\u306e\u5b9a\u7fa9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002

DoubleZero\u306b\u63a5\u7d9a\u3059\u308b\u3053\u3068\u3067\u3001DoubleZero\u30b5\u30fc\u30d3\u30b9\u5229\u7528\u898f\u7d04\u306b\u540c\u610f\u3057\u307e\u3059

"},{"location":"ja/setup/#_1","title":"\u524d\u63d0\u6761\u4ef6","text":"

Warning

\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u306e\u5834\u5408\uff1aDoubleZero\u306f\u30b3\u30f3\u30c6\u30ca\u3067\u306f\u306a\u304f\u3001\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u30db\u30b9\u30c8\u306b\u76f4\u63a5\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/setup/#doublezero_1","title":"DoubleZero\u3078\u306e\u63a5\u7d9a","text":"

DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3068DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306f\u7269\u7406\u7684\u306b\u7570\u306a\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306b\u9069\u5207\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002

DoubleZero\u3078\u306e\u30aa\u30f3\u30dc\u30fc\u30c7\u30a3\u30f3\u30b0\u6642\u306b\u3001DoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\uff08DoubleZero ID\u3068\u547c\u3070\u308c\u308b\u516c\u958b\u9375\u3067\u8868\u3055\u308c\u308b\uff09\u3092\u78ba\u7acb\u3057\u307e\u3059\u3002\u3053\u306e\u30ad\u30fc\u306fDoubleZero\u304c\u30de\u30b7\u30f3\u3092\u8a8d\u8b58\u3059\u308b\u65b9\u6cd5\u306e\u4e00\u90e8\u3067\u3059\u3002

"},{"location":"ja/setup/#1-doublezero","title":"1. DoubleZero\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb","text":"

\u73fe\u5728\u306e\u30d0\u30fc\u30b8\u30e7\u30f3

\u30d1\u30c3\u30b1\u30fc\u30b8 \u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf \u30c6\u30b9\u30c8\u30cd\u30c3\u30c8 doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

OS\u306b\u5fdc\u3058\u3066\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"ja/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306e\u73fe\u5728\u306e\u63a8\u5968\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff1a

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\u65e2\u5b58\u30e6\u30fc\u30b6\u30fc\u306e\u307f\uff1a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u304b\u3089\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3001\u307e\u305f\u306f\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u304b\u3089\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u306b\u5909\u66f4\u3059\u308b

\u4e0a\u8a18\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u969b\u306f\u3001DoubleZero\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u307e\u305f\u306fDoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u56fa\u6709\u3067\u3059\u3002\u3044\u305a\u308c\u304b\u306e\u6642\u70b9\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5207\u308a\u66ff\u3048\u308b\u5834\u5408\u306f\u3001\u4ee5\u524d\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u524a\u9664\u3057\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

\u3053\u306e\u4f8b\u3067\u306f\u3001\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u304b\u3089\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u3078\u306e\u79fb\u884c\u3092\u8aac\u660e\u3057\u307e\u3059\u3002

\u30b9\u30c6\u30c3\u30d73\u3092\u4e0a\u8a18\u306e\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u7528\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30b3\u30de\u30f3\u30c9\u306b\u7f6e\u304d\u63db\u3048\u308b\u3053\u3068\u3067\u3001\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u304b\u3089\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u3078\u306e\u79fb\u884c\u3082\u540c\u3058\u624b\u9806\u3067\u5b8c\u4e86\u3067\u304d\u307e\u3059\u3002

  1. \u53e4\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u3064\u3051\u308b

    \u307e\u305a\u3001\u30b7\u30b9\u30c6\u30e0\u4e0a\u306e\u65e2\u5b58\u306eDoubleZero\u30ea\u30dd\u30b8\u30c8\u30ea\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u7279\u5b9a\u3057\u307e\u3059\uff1a

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. \u53e4\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3059\u308b

    \u524d\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u898b\u3064\u304b\u3063\u305f\u53e4\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u4f8b\uff1a

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. \u65b0\u3057\u3044\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb

    \u65b0\u3057\u3044\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u8ffd\u52a0\u3057\u3001\u6700\u65b0\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\uff1a

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"ja/setup/#doublezerod","title":"doublezerod\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u3001\u65b0\u3057\u3044systemd\u30e6\u30cb\u30c3\u30c8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3001\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8\u3001\u8d77\u52d5\u3055\u308c\u307e\u3059\u3002\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\uff1a

sudo systemctl status doublezerod\n

"},{"location":"ja/setup/#grebgp","title":"GRE\u3068BGP\u7528\u306e\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u8a2d\u5b9a","text":"

DoubleZero\u306fGRE\u30c8\u30f3\u30cd\u30ea\u30f3\u30b0\uff08IP\u30d7\u30ed\u30c8\u30b3\u30eb47\uff09\u3068BGP\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\uff08\u30ea\u30f3\u30af\u30ed\u30fc\u30ab\u30eb\u30a2\u30c9\u30ec\u30b9\u306etcp/179\uff09\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u304c\u3053\u308c\u3089\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u8a31\u53ef\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff1a

iptables\u3067GRE\u3068BGP\u3092\u8a31\u53ef\u3059\u308b\uff1a

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

\u307e\u305f\u306fUFW\u3067GRE\u3068BGP\u3092\u8a31\u53ef\u3059\u308b\uff1a

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"ja/setup/#2-doublezero","title":"2. \u65b0\u3057\u3044DoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f5c\u6210\u3059\u308b","text":"

\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30b5\u30fc\u30d0\u30fc\u306bDoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u4f5c\u6210\u3057\u307e\u3059\uff1a

doublezero keygen\n

Info

\u4f7f\u7528\u3057\u305f\u3044\u65e2\u5b58\u306eID\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u624b\u9806\u306b\u5f93\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

doublezerod\u8a2d\u5b9a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b

mkdir -p ~/.config/doublezero\n

DoubleZero\u3067\u4f7f\u7528\u3057\u305f\u3044id.json\u3092doublezero\u8a2d\u5b9a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u307e\u305f\u306f\u30ea\u30f3\u30af\u3059\u308b\u3002

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"ja/setup/#3-doublezero","title":"3. \u30b5\u30fc\u30d0\u30fc\u306eDoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u53d6\u5f97\u3059\u308b","text":"

DoubleZero\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u3053\u306e\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u306f\u30de\u30b7\u30f3\u3068DoubleZero\u9593\u306e\u63a5\u7d9a\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002

doublezero address\n

\u51fa\u529b\uff1a

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"ja/setup/#4-doublezeroddz","title":"4. doublezerod\u304cDZ\u30c7\u30d0\u30a4\u30b9\u3092\u691c\u51fa\u3057\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u63a5\u7d9a\u3059\u308b\u524d\u306b\u3001doublezerod\u304c\u5229\u7528\u53ef\u80fd\u306a\u5404DZ\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30b9\u30a4\u30c3\u30c1\u3092\u691c\u51fa\u3057\u3066ping\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

doublezero latency\n

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

\u51fa\u529b\u306b\u30c7\u30d0\u30a4\u30b9\u304c\u8868\u793a\u3055\u308c\u306a\u3044\u5834\u5408\u306f\u300110\u301c20\u79d2\u5f85\u3063\u3066\u304b\u3089\u518d\u8a66\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/setup/#5-doublezero","title":"5. DoubleZero\u304b\u3089\u5207\u65ad\u3059\u308b","text":"

\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306fDoubleZero\u74b0\u5883\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u6210\u529f\u3092\u78ba\u5b9f\u306b\u3059\u308b\u305f\u3081\u306b\u3001\u73fe\u5728\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u5207\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30de\u30b7\u30f3\u3067\u8907\u6570\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u958b\u3044\u3066\u3044\u308b\u554f\u984c\u3092\u56de\u907f\u3067\u304d\u307e\u3059\u3002

\u78ba\u8a8d

doublezero status\n

up\u306e\u5834\u5408\u306f\u5b9f\u884c\uff1a

doublezero disconnect\n
"},{"location":"ja/setup/#_2","title":"\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\uff1a\u30c6\u30ca\u30f3\u30c8","text":"

DoubleZero\u3078\u306e\u63a5\u7d9a\u306f\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306b\u3088\u3063\u3066\u7570\u306a\u308a\u307e\u3059\u3002DoubleZero\u3067\u306f\u3001\u30c6\u30ca\u30f3\u30c8\u306f\u985e\u4f3c\u3057\u305f\u30e6\u30fc\u30b6\u30fc\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u6301\u3064\u30b0\u30eb\u30fc\u30d7\u3067\u3059\u3002\u4f8b\uff1a\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u3001\u30c7\u30fc\u30bf\u8ee2\u9001\u30ec\u30a4\u30e4\u30fc\u306a\u3069\u3002

"},{"location":"ja/setup/#_3","title":"\u3053\u3061\u3089\u3067\u30c6\u30ca\u30f3\u30c8\u3092\u9078\u629e\u3057\u3066\u9032\u3080","text":""},{"location":"ja/setup/#prometheus","title":"\u30aa\u30d7\u30b7\u30e7\u30f3\uff1aPrometheus\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b","text":"

Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u306b\u6163\u308c\u3066\u3044\u308b\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\u306f\u3001DoubleZero\u306e\u76e3\u8996\u306e\u305f\u3081\u306b\u6709\u52b9\u306b\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3001\u63a5\u7d9a\u30b9\u30c6\u30fc\u30bf\u30b9\u3001\u304a\u3088\u3073\u904b\u7528\u306e\u5065\u5168\u6027\u3092\u628a\u63e1\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/setup/#_4","title":"\u5229\u7528\u53ef\u80fd\u306a\u30e1\u30c8\u30ea\u30af\u30b9","text":"

DoubleZero\u306f\u3044\u304f\u3064\u304b\u306e\u4e3b\u8981\u306a\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u516c\u958b\u3057\u307e\u3059\uff1a - \u30d3\u30eb\u30c9\u60c5\u5831\uff1a\u30d0\u30fc\u30b8\u30e7\u30f3\u3001\u30b3\u30df\u30c3\u30c8\u30cf\u30c3\u30b7\u30e5\u3001\u30d3\u30eb\u30c9\u65e5 - \u30bb\u30c3\u30b7\u30e7\u30f3\u30b9\u30c6\u30fc\u30bf\u30b9\uff1aDoubleZero\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u30a2\u30af\u30c6\u30a3\u30d6\u304b\u3069\u3046\u304b - \u63a5\u7d9a\u30e1\u30c8\u30ea\u30af\u30b9\uff1a\u30ec\u30a4\u30c6\u30f3\u30b7\u3068\u63a5\u7d9a\u60c5\u5831 - \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c7\u30fc\u30bf\uff1a\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3068\u30a8\u30e9\u30fc\u7387

"},{"location":"ja/setup/#prometheus_1","title":"Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b","text":"

DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\uff1a

"},{"location":"ja/setup/#1-doublezerod-systemd","title":"1. doublezerod systemd\u30b5\u30fc\u30d3\u30b9\u306e\u8d77\u52d5\u30b3\u30de\u30f3\u30c9\u3092\u5909\u66f4\u3059\u308b","text":"

systemd\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u8a2d\u5b9a\u3092\u4f5c\u6210\u307e\u305f\u306f\u7de8\u96c6\u3057\u307e\u3059\uff1a

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

\u3053\u306e\u8a2d\u5b9a\u306b\u7f6e\u304d\u63db\u3048\u307e\u3059\uff1a

-env\u30d5\u30e9\u30b0\u306f\u30c7\u30fc\u30bf\u3092\u53ce\u96c6\u3057\u305f\u3044\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5fdc\u3058\u3066testnet\u307e\u305f\u306fmainnet-beta\u3092\u6307\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30f3\u30d7\u30eb\u30d6\u30ed\u30c3\u30af\u3067\u306ftestnet\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u5fc5\u8981\u306b\u5fdc\u3058\u3066mainnet-beta\u306b\u5909\u66f4\u3067\u304d\u307e\u3059\u3002

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"ja/setup/#2","title":"2. \u30b5\u30fc\u30d3\u30b9\u3092\u30ea\u30ed\u30fc\u30c9\u3057\u3066\u518d\u8d77\u52d5\u3059\u308b","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"ja/setup/#3","title":"3. \u30e1\u30c8\u30ea\u30af\u30b9\u304c\u5229\u7528\u53ef\u80fd\u304b\u3092\u78ba\u8a8d\u3059\u308b","text":"

\u30e1\u30c8\u30ea\u30af\u30b9\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304c\u5fdc\u7b54\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a

curl -s localhost:2113/metrics | grep doublezero\n

\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\uff1a

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"ja/setup/#_5","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0","text":"

\u30e1\u30c8\u30ea\u30af\u30b9\u304c\u8868\u793a\u3055\u308c\u306a\u3044\u5834\u5408\uff1a

  1. \u30b5\u30fc\u30d3\u30b9\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b\uff1asudo systemctl status doublezerod
  2. \u8a2d\u5b9a\u3092\u78ba\u8a8d\u3059\u308b\uff1asudo systemctl cat doublezerod
  3. \u30ed\u30b0\u3092\u78ba\u8a8d\u3059\u308b\uff1asudo journalctl -u doublezerod -f
  4. \u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u30c6\u30b9\u30c8\u3059\u308b\uff1acurl -v localhost:2113/metrics
  5. \u30dd\u30fc\u30c8\u3092\u78ba\u8a8d\u3059\u308b\uff1anetstat -tlnp | grep 2113
"},{"location":"ja/setup/#prometheus_2","title":"Prometheus\u30b5\u30fc\u30d0\u30fc\u306e\u8a2d\u5b9a","text":"

\u8a2d\u5b9a\u3068\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306f\u3053\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u7bc4\u56f2\u5916\u3067\u3059\u3002 Grafana\u306f\u8996\u899a\u5316\u306b\u512a\u308c\u305f\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u3001Prometheus\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u53ce\u96c6\u65b9\u6cd5\u3092\u8a73\u8ff0\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304c\u3053\u3061\u3089\u3067\u5165\u624b\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/setup/#grafana","title":"Grafana\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09","text":"

\u8996\u899a\u5316\u306e\u305f\u3081\u306b\u3001DoubleZero\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u4f7f\u7528\u3057\u3066Grafana\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u4e00\u822c\u7684\u306a\u30d1\u30cd\u30eb\u306b\u306f\u4ee5\u4e0b\u304c\u542b\u307e\u308c\u307e\u3059\uff1a - \u6642\u9593\u7d4c\u904e\u306b\u3088\u308b\u30bb\u30c3\u30b7\u30e7\u30f3\u30b9\u30c6\u30fc\u30bf\u30b9 - \u30d3\u30eb\u30c9\u60c5\u5831 - \u63a5\u7d9a\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u30c8\u30ec\u30f3\u30c9 - \u30a8\u30e9\u30fc\u7387\u306e\u76e3\u8996

"},{"location":"ja/tenant/","title":"\u30c6\u30ca\u30f3\u30c8","text":"

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\u306e\u30c6\u30ca\u30f3\u30c8\u306f\u3001\u985e\u4f3c\u3057\u305f\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3068\u63a5\u7d9a\u8981\u4ef6\u3092\u6301\u3064\u30e6\u30fc\u30b6\u30fc\u30b0\u30eb\u30fc\u30d7\u3067\u3001\u901a\u5e38\u306f\u7570\u306a\u308b\u30d6\u30ed\u30c3\u30af\u30c1\u30a7\u30fc\u30f3\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3001\u30c7\u30fc\u30bf\u8ee2\u9001\u30ec\u30a4\u30e4\u30fc\u3001\u307e\u305f\u306f\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u3092\u8868\u3057\u3066\u3044\u307e\u3059\u3002

\u4ee5\u4e0b\u306e\u8868\u3092\u78ba\u8a8d\u3057\u3001DoubleZero\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u306e\u9023\u643a\u65b9\u6cd5\u3092\u6700\u3082\u3088\u304f\u8868\u3059\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002

Solana

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6b21\u306e\u30b9\u30c6\u30c3\u30d7 Solana\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\uff08\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u542b\u3080\uff09 DoubleZero Mainnet-Beta\u63a5\u7d9a Solana\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\uff08\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u542b\u3080\uff09 DoubleZero Testnet\u63a5\u7d9a \u975e\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc - RPC\u7b49 DoubleZero Mainnet-Beta\u304a\u3088\u3073Testnet\u63a5\u7d9a

Shelby

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6b21\u306e\u30b9\u30c6\u30c3\u30d7 Shelby Testnet RPC\u304a\u3088\u3073\u30b9\u30c8\u30ec\u30fc\u30b8\u30ce\u30fc\u30c9 DoubleZero Testnet\u63a5\u7d9a

\u65b0\u898f\u30c6\u30ca\u30f3\u30c8

\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u6b21\u306e\u30b9\u30c6\u30c3\u30d7 DoubleZero\u3092\u6d3b\u7528\u3059\u308b\u65b0\u3057\u3044\u30d7\u30ed\u30c8\u30b3\u30eb\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9 \u65b0\u898f\u30c6\u30ca\u30f3\u30c8\u306e\u8ffd\u52a0"},{"location":"ja/troubleshooting/","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0","text":"

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.

\u3053\u306e\u30ac\u30a4\u30c9\u3067\u306f\u3055\u307e\u3056\u307e\u306a\u554f\u984c\u3092\u53d6\u308a\u4e0a\u3052\u3066\u304a\u308a\u3001\u7d99\u7d9a\u7684\u306b\u66f4\u65b0\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30ac\u30a4\u30c9\u3092\u5b8c\u4e86\u3057\u305f\u5f8c\u306b\u3055\u3089\u306a\u308b\u30b5\u30dd\u30fc\u30c8\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001DoubleZero Tech Discord\u306b\u3066\u3054\u652f\u63f4\u3092\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

"},{"location":"ja/troubleshooting/#_2","title":"\u5171\u901a\u30b3\u30de\u30f3\u30c9\u3068\u51fa\u529b","text":"

\u307e\u305a\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u306e\u51fa\u529b\u3068\u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u3089\u306f\u8a73\u7d30\u306a\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002 \u30b5\u30dd\u30fc\u30c8\u30c1\u30b1\u30c3\u30c8\u3092\u958b\u3044\u305f\u5834\u5408\u3001\u3053\u308c\u3089\u306e\u51fa\u529b\u3092\u6c42\u3081\u3089\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002

"},{"location":"ja/troubleshooting/#1","title":"1. \u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero --version

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

DoubleZero 0.6.3\n

"},{"location":"ja/troubleshooting/#2-doublezero","title":"2. DoubleZero\u30a2\u30c9\u30ec\u30b9\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero address

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"ja/troubleshooting/#3","title":"3. \u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306e\u78ba\u8a8d","text":"

\u30b5\u30f3\u30d7\u30eb\u516c\u958b\u9375\uff1aMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u6642\u306f\u3053\u308c\u3092\u3042\u306a\u305f\u306e\u516c\u958b\u9375\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

\u51fa\u529b\uff1a[\u3053\u306e\u51fa\u529b\u3067\u306f\u30d8\u30c3\u30c0\u30fc\u3092\u8868\u793a\u3059\u308b\u305f\u3081\u306bdoublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"ja/troubleshooting/#4-doublezero","title":"4. DoubleZero\u30ec\u30b8\u30e3\u30fc\u30af\u30ec\u30b8\u30c3\u30c8\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero balance

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

0.78 Credits\n

"},{"location":"ja/troubleshooting/#5","title":"5. \u63a5\u7d9a\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero status

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"ja/troubleshooting/#6","title":"6. \u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u78ba\u8a8d","text":"

\u30b3\u30de\u30f3\u30c9\uff1a

doublezero latency

\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"ja/troubleshooting/#_3","title":"\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4f8b","text":"

\u57fa\u672c\u7684\u306a\u51fa\u529b\u3068\u6b63\u5e38\u306a\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u3067\u671f\u5f85\u3055\u308c\u308b\u5185\u5bb9\u3092\u78ba\u8a8d\u3057\u305f\u3068\u3053\u308d\u3067\u3001\u4e00\u822c\u7684\u306a\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4f8b\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002

"},{"location":"ja/troubleshooting/#error-creating-user","title":"\u554f\u984c\uff1a\u274c Error creating user","text":"

\u3053\u306e\u554f\u984c\u306f\u4e00\u822c\u7684\u306b\u3001\u671f\u5f85\u3055\u308c\u308b\u516c\u958b\u9375/IP\u306e\u30da\u30a2\u30ea\u30f3\u30b0\u3068\u30e6\u30fc\u30b6\u30fc\u304cDoubleZero\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a66\u307f\u3066\u3044\u308b\u516c\u958b\u9375/IP\u306e\u30da\u30a2\u30ea\u30f3\u30b0\u306e\u4e0d\u4e00\u81f4\u306b\u95a2\u9023\u3057\u3066\u3044\u307e\u3059\u3002

\u75c7\u72b6\uff1a - doublezero connect ibrl\u3067\u63a5\u7d9a\u3059\u308b\u969b\u306b\u274c Error creating user\u304c\u8868\u793a\u3055\u308c\u308b

\u89e3\u6c7a\u7b56\uff1a 1. \u78ba\u8a8d

`doublezero address`\n\n\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. \u3053\u306e\u30a2\u30c9\u30ec\u30b9\u304c\u8a31\u53ef\u30ea\u30b9\u30c8\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\uff1a

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    \u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    doublezero address\u306e\u516c\u958b\u9375\u306fuser_payer\u306e\u516c\u958b\u9375\u3068\u4e00\u81f4\u3057\u3001\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308bIP\u30a2\u30c9\u30ec\u30b9\u306f\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u306eIP\u3068\u4e00\u81f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 doublezero address\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067~/.config/doublezero/\u306eid.json\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u53d6\u5f97\u3055\u308c\u307e\u3059\u3002\u30b9\u30c6\u30c3\u30d76\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002

  2. \u4e0a\u8a18\u304c\u6b63\u3057\u304f\u3001\u63a5\u7d9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u307e\u305f\u306f\u30de\u30c3\u30d4\u30f3\u30b0\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u3001DoubleZero Tech\u3067\u30b5\u30dd\u30fc\u30c8\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002

"},{"location":"ja/troubleshooting/#error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"\u554f\u984c\uff1a\u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

\u3053\u306e\u30a8\u30e9\u30fc\u306f\u3001\u30c7\u30d0\u30a4\u30b9\u304c\u3059\u3067\u306bDoubleZero\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u793a\u3057\u307e\u3059\u3002

\u75c7\u72b6\uff1a - \u30e6\u30fc\u30b6\u30fc\u304cDoubleZero\u3078\u306e\u63a5\u7d9a\u3092\u8a66\u307f\u308b - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time\u304c\u8868\u793a\u3055\u308c\u308b

\u89e3\u6c7a\u7b56\uff1a 1. \u78ba\u8a8d doublezero status

\u51fa\u529b\uff1a\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up\u306f\u6b63\u5e38\u306a\u63a5\u7d9a\u3092\u793a\u3057\u307e\u3059\u3002
  2. \u3053\u306e\u30a8\u30e9\u30fc\u306f\u3001\u7279\u5b9a\u306eDoubleZero IP\u3092\u6301\u3064DoubleZero\u3078\u306e\u30c8\u30f3\u30cd\u30eb\u304c\u3053\u306e\u30de\u30b7\u30f3\u3067\u3059\u3067\u306b\u30a2\u30af\u30c6\u30a3\u30d6\u3067\u3042\u308b\u305f\u3081\u306b\u8868\u793a\u3055\u308c\u307e\u3059\u3002

    \u3053\u306e\u30a8\u30e9\u30fc\u306fDoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u5f8c\u306b\u3088\u304f\u767a\u751f\u3057\u307e\u3059\u3002DoubleZero\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306fdoublezerod\u30b5\u30fc\u30d3\u30b9\u3092\u81ea\u52d5\u7684\u306b\u518d\u8d77\u52d5\u3057\u3001\u30b5\u30fc\u30d3\u30b9\u518d\u8d77\u52d5\u524d\u306b\u63a5\u7d9a\u3057\u3066\u3044\u305f\u5834\u5408\u306f\u518d\u63a5\u7d9a\u3055\u308c\u307e\u3059\u3002

"},{"location":"ja/troubleshooting/#doublezerounknowndown","title":"\u554f\u984c\uff1aDoubleZero\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u304cunknown\u307e\u305f\u306fdown","text":"

\u3053\u306e\u554f\u984c\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u3068DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u3067GRE\u30c8\u30f3\u30cd\u30eb\u304c\u6b63\u5e38\u306b\u30a2\u30af\u30c6\u30a3\u30d6\u5316\u3055\u308c\u305f\u304c\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u304cBGP\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u78ba\u7acb\u3092\u59a8\u3052\u3066\u3044\u308b\u3053\u3068\u306b\u95a2\u9023\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u30eb\u30fc\u30c8\u3092\u53d7\u4fe1\u305b\u305a\u3001DoubleZero\u4e0a\u3067\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u9001\u4fe1\u3057\u3066\u3044\u307e\u305b\u3093\u3002

\u75c7\u72b6\uff1a - doublezero connect ibrl\u306f\u6210\u529f\u3057\u307e\u3057\u305f\u3002\u305f\u3060\u3057\u3001doublezero status\u304cdown\u307e\u305f\u306funknown\u3092\u8fd4\u3059

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

\u89e3\u6c7a\u7b56\uff1a 1. \u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\uff01

DoubleZero\u306fGRE\u30c8\u30f3\u30cd\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u7528\u306b\u30ea\u30f3\u30af\u30ed\u30fc\u30ab\u30eb\u30a2\u30c9\u30ec\u30b9\u7a7a\u9593169.254.0.0/16\u3092\u30de\u30b7\u30f3\u3068DoubleZero\u30c7\u30d0\u30a4\u30b9\u9593\u3067\u4f7f\u7528\u3057\u307e\u3059\u3002169.254.0.0/16\u306f\u901a\u5e38\u300c\u975e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u53ef\u80fd\u300d\u306a\u7a7a\u9593\u3067\u3042\u308a\u3001\u512a\u308c\u305f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3067\u306f\u3053\u306e\u7a7a\u9593\u3068\u306e\u901a\u4fe1\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308b\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u307e\u3059\u3002169.254.0.0/16\u3092\u9001\u4fe1\u5143\u3068\u3059\u308b\u901a\u4fe1\u304ctcp\u30dd\u30fc\u30c8179\u306e169.254.0.0/16\u5b9b\u5148\u3068\u901a\u4fe1\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u8a31\u53ef\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u30eb\u30fc\u30eb\u306f169.254.0.0/16\u3078\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u62d2\u5426\u3059\u308b\u30eb\u30fc\u30eb\u3088\u308a\u4e0a\u306b\u914d\u7f6e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002

UFW\u306a\u3069\u306e\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3067\u306f`sudo ufw status`\u3092\u5b9f\u884c\u3057\u3066\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u30eb\u30fc\u30eb\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\n\nSolana\u30d0\u30ea\u30c7\u30fc\u30bf\u30fc\u304c\u6301\u3064\u3088\u3046\u306a\u8a2d\u5b9a\u306b\u985e\u4f3c\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u51fa\u529b\uff1a\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\n\u4e0a\u8a18\u306e\u51fa\u529b\u3067\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u30dd\u30fc\u30c8\u4ee5\u5916\u306e169.254.0.0/16\u3078\u306e\u3059\u3079\u3066\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u304c\u62d2\u5426\u3055\u308c\u3066\u3044\u307e\u3059\u3002\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179`\u3067\u30eb\u30fc\u30eb\u3092<N>\u756a\u76ee\u306e\u4f4d\u7f6e\u306b\u633f\u5165\u3057\u307e\u3059\u3002\u4f8b\uff1aN=1\u306e\u5834\u5408\u3001\u3053\u306e\u30eb\u30fc\u30eb\u3092\u6700\u521d\u306e\u30eb\u30fc\u30eb\u3068\u3057\u3066\u633f\u5165\u3057\u307e\u3059\u3002\n`sudo ufw status numbered`\u3067\u30eb\u30fc\u30eb\u306e\u756a\u53f7\u9806\u5e8f\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\n
"},{"location":"ja/troubleshooting/#doublezero","title":"\u554f\u984c\uff1a\u6700\u5bc4\u308a\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u304c\u5909\u308f\u3063\u305f","text":"

\u3053\u308c\u306f\u30a8\u30e9\u30fc\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u6700\u9069\u5316\u3067\u304d\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u6642\u6298\u5b9f\u884c\u3001\u307e\u305f\u306f\u81ea\u52d5\u5316\u3067\u304d\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3067\u3059\u3002

\u89e3\u6c7a\u7b56\uff1a

  1. \u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u30ec\u30a4\u30c6\u30f3\u30b7\u3092\u78ba\u8a8d\u3059\u308b

    • doublezero latency\u3092\u5b9f\u884c

      \u51fa\u529b

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      \u4e0a\u8a18\u3067\u306f\u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u304cdz-ny7-sw01\u3067\u3059

      \u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3057\u305f\u3044\u3068\u3057\u307e\u3059\u3002

  2. \u5bfe\u8c61\u30c7\u30d0\u30a4\u30b9\u306b\u65e2\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3059\u308b

    • doublezero user list --env testnet | grep 111.11.11.11\u3092\u5b9f\u884c\u3002111.11.11.11\u3092DoubleZero\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u308b\u30c7\u30d0\u30a4\u30b9\u306e\u516c\u958bIPv4\u30a2\u30c9\u30ec\u30b9\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002\u30d0\u30ea\u30c7\u30fc\u30bf\u30fcID\u307e\u305f\u306fDoubleZero ID\u3082\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002

      \u51fa\u529b

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      \u3053\u306e\u4f8b\u3067\u306f\u3001\u65e2\u306b\u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u4ee5\u4e0a\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u4e0d\u8981\u3067\u3001\u3053\u3053\u3067\u6b62\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002

      \u4ee3\u308f\u308a\u306b\u51fa\u529b\u304c\u6b21\u306e\u3088\u3046\u3060\u3063\u305f\u5834\u5408\u3092\u8003\u3048\u3066\u307f\u307e\u3057\u3087\u3046\uff1a account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn \u3053\u308c\u306f\u6700\u9069\u3067\u306a\u3044\u63a5\u7d9a\u3067\u3059\u3002\u518d\u63a5\u7d9a\u304c\u5fc5\u8981\u304b\u3069\u3046\u304b\u691c\u8a0e\u3057\u307e\u3057\u3087\u3046\u3002

      \u63a5\u7d9a\u306e\u524d\u306b\u3001\u30c7\u30d0\u30a4\u30b9\u306b\u5229\u7528\u53ef\u80fd\u306a\u30e6\u30fc\u30b6\u30fc\u30c8\u30f3\u30cd\u30eb\u304c\u3042\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002

  3. \u30aa\u30d7\u30b7\u30e7\u30f3\uff1a\u5229\u7528\u53ef\u80fd\u306a\u30c7\u30d0\u30a4\u30b9\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u8abf\u3079\u308b

    \u6559\u80b2\u76ee\u7684\u3067\u3001\u6700\u521d\u306b\uff1a - doublezero device list\u3092\u5b9f\u884c\u3057\u3066\u5168\u30c7\u30d0\u30a4\u30b9\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u51fa\u529b\u3092\u8aac\u660e\u3059\u308b\u305f\u3081\u306b2\u53f0\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u4f8b\u3068\u3057\u3066\u793a\u3057\u307e\u3059\u3002

    \u51fa\u529b\uff1a\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n```\n`ams001-dz002`\u306f69\u30e6\u30fc\u30b6\u30fc\u3044\u3066\u3001\u6700\u5927128\u30e6\u30fc\u30b6\u30fc\u307e\u3067\u5bfe\u5fdc\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306f59\u4eba\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u8ffd\u52a0\u3067\u304d\u307e\u3059\u3002\n\n\u4e00\u65b9\u3001`dz-fr5-sw01`\u306f0\u30e6\u30fc\u30b6\u30fc\u3067\u6700\u59270\u30e6\u30fc\u30b6\u30fc\u3067\u3059\u3002\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u306f\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002\u6700\u5927\u30e6\u30fc\u30b6\u30fc\u304c0\u306e\u5834\u5408\u3001\u30c7\u30d0\u30a4\u30b9\u306f\u63a5\u7d9a\u3092\u53d7\u3051\u4ed8\u3051\u3066\u3044\u307e\u305b\u3093\u3002\n\n\u6700\u5bc4\u308a\u306e\u30c7\u30d0\u30a4\u30b9\u3078\u306e\u63a5\u7d9a\u306b\u623b\u308a\u307e\u3057\u3087\u3046\u3002\n
  4. \u5bfe\u8c61\u30c7\u30d0\u30a4\u30b9\u306b\u5229\u7528\u53ef\u80fd\u306a\u63a5\u7d9a\u304c\u3042\u308b\u304b\u78ba\u8a8d\u3059\u308b

    • doublezero device list | grep dz-ny7-sw01\u3092\u5b9f\u884c\u3002dz-ny7-sw01\u3092\u5bfe\u8c61\u30c7\u30d0\u30a4\u30b9\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044

      \u51fa\u529b

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      dz-ny7-sw01\u306b\u63a5\u7d9a\u53ef\u80fd\u306a\u30b9\u30da\u30fc\u30b9\u304c\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002

  5. \u6700\u5bc4\u308a\u306eDoubleZero\u30c7\u30d0\u30a4\u30b9\u306b\u63a5\u7d9a\u3059\u308b

    \u5207\u65ad\u3057\u3066\u304b\u3089DoubleZero\u306b\u518d\u63a5\u7d9a\u3057\u307e\u3059\u3002

    \u307e\u305a\u5b9f\u884c\uff1a - doublezero disconnect

    \u51fa\u529b

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    \u6b21\u306b\u5207\u65ad\u78ba\u8a8d\u306e\u305f\u3081\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff1a - doublezero status

    \u51fa\u529b

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type\ndisconnected  | no session data     |             |            |            |               |\n
    \u6700\u5f8c\u306b\u518d\u63a5\u7d9a\u3057\u307e\u3059\uff1a - doublezero connect ibrl

    \u51fa\u529b

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    \u4e0a\u8a18\u306e\u51fa\u529b\u3067Connected to device: dz-ny7-sw01\u304c\u8868\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u30b9\u30c6\u30c3\u30d71\u306e\u6700\u521d\u306e\u8abf\u67fb\u3067dz-ny7-sw01\u304c\u6700\u3082\u4f4e\u3044\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u30c7\u30d0\u30a4\u30b9\u3067\u3042\u308b\u3068\u5224\u660e\u3057\u305f\u3053\u3068\u304b\u3089\u3001\u671b\u307e\u3057\u3044\u7d50\u679c\u3067\u3059\u3002

"},{"location":"ja/troubleshooting/#doublezero-statusna","title":"\u554f\u984c\uff1adoublezero status\u3067\u4e00\u90e8\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306bN/A\u304c\u8868\u793a\u3055\u308c\u308b","text":"

\u3053\u306e\u554f\u984c\u306f\u4e00\u822c\u7684\u306b\u3001\u73fe\u5728\u306e\u30c7\u30fc\u30e2\u30f3\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u3001\u63a5\u7d9a\u3055\u308c\u305fDZ\u30c8\u30f3\u30cd\u30eb\u304c\u78ba\u7acb\u3055\u308c\u305f\u30c7\u30fc\u30e2\u30f3\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u4e0d\u4e00\u81f4\u306b\u95a2\u9023\u3057\u3066\u3044\u307e\u3059\u3002

\u75c7\u72b6\uff1a - doublezero status\u3092\u5b9f\u884c\u3059\u308b\u3068\u4e00\u90e8\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306bN/A\u304c\u8868\u793a\u3055\u308c\u308b

\u89e3\u6c7a\u7b56\uff1a 1. \u5b9f\u884c doublezero status

\u4f8b\uff1a\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\n\u4e0a\u8a18\u306e\u51fa\u529b\u4f8b\u3067\u3001`Tunnel status`\u304c`up`\u3067\u3042\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002`Network`\u306f`mainnet-beta`\u3067\u3059\u304c\u3001`Current Device`\u3068`Metro`\u306f`N/A`\u3067\u3059\u3002\n\n\u3053\u308c\u306f\u3001\u30de\u30b7\u30f3\u4e0a\u306e\u30aa\u30fc\u30d7\u30f3\u30c8\u30f3\u30cd\u30eb\u304c\u73fe\u5728\u306e\u74b0\u5883\u306b\u306a\u3044\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\n\u3053\u306e\u5834\u5408\u3001`mainnet-beta`\u3067`Current Device`\u304c\u898b\u3064\u304b\u3089\u306a\u3044`up`\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u3001\u30c8\u30f3\u30cd\u30eb\u304c\u30c6\u30b9\u30c8\u30cd\u30c3\u30c8\u4e0a\u306b\u3042\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\uff01\n
  1. \u74b0\u5883\u3092\u5909\u66f4\u3059\u308b

    \u4e0d\u4e00\u81f4\u3092\u89e3\u6d88\u3059\u308b\u306b\u306f\u3001N/A\u3092\u8fd4\u3059\u74b0\u5883\u306e\u53cd\u5bfe\u306e\u74b0\u5883\u306b\u5909\u66f4\u3057\u307e\u3059\u3002

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    DoubleZero\u30af\u30e9\u30a4\u30a2\u30f3\u30c8CLI\uff08doublezero\uff09\u3068\u30c7\u30fc\u30e2\u30f3\uff08doublezerod\uff09\u3092DoubleZero\u30e1\u30a4\u30f3\u30cd\u30c3\u30c8\u30d9\u30fc\u30bf\u306b\u63a5\u7d9a\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u306b\u306f\uff1a

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. \u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u78ba\u8a8d\u3059\u308b

    \u74b0\u5883\u306e\u5207\u308a\u66ff\u3048\u5f8c\u306b\u5b9f\u884c\uff1a

    doublezero status\n

    \u671f\u5f85\u3055\u308c\u308b\u51fa\u529b\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff1a

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    \u3059\u3079\u3066\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u5165\u529b\u3055\u308c\u3066\u304a\u308a\u3001\u6b63\u3057\u3044\u74b0\u5883\u306b\u3044\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002

"},{"location":"ko/","title":"DoubleZero\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4","text":"

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\ub294 \ube14\ub85d\uccb4\uc778\uacfc \uac19\uc740 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc5d0 \ucd5c\uc801\ud654\ub41c \uace0\uc131\ub2a5 \ubd84\uc0b0 \ud504\ub85c\ud1a0\ucf5c \ubc0f \ub124\ud2b8\uc6cc\ud06c\uc785\ub2c8\ub2e4. DoubleZero \uc0ac\uc6a9\uc790\ub294 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c \ub370\uc774\ud130\uc758 \uace0\ub3c4\ub85c \ucd5c\uc801\ud654\ub41c \uc804\uc1a1 \ubc0f \uc804\ucc98\ub9ac\ub97c \uc704\ud55c \ud1b5\ud569 \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/#doublezero_1","title":"DoubleZero\ub294 \ub204\uad6c\ub97c \uc704\ud55c \uac83\uc778\uac00\uc694?","text":""},{"location":"ko/#_1","title":"\uae30\uc5ec\uc790","text":"

DoubleZero \uae30\uc5ec\uc790\ub294 \ubbf8\ud65c\uc6a9 \uc804\uc6a9 \uad11\uc12c\uc720 \ub9c1\ud06c \ubc0f \ud558\ub4dc\uc6e8\uc5b4(\uc608: \uc2a4\uc704\uce58 \ubc0f FPGA \uc7a5\uce58) \ud615\ud0dc\uc758 \ub124\ud2b8\uc6cc\ud06c \uc6a9\ub7c9\uc744 \ubcf4\uc720\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ub9ac\uc18c\uc2a4\ub97c DoubleZero \ub124\ud2b8\uc6cc\ud06c \ud655\uc7a5\uc5d0 \uae30\uc5ec\ud558\uba74 \ud1b5\ud569 \uc815\ubcf4 \uc11c\ube44\uc2a4\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4. DZ \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub4e4\uc740 \uc774 \ub124\ud2b8\uc6cc\ud06c \uc6a9\ub7c9\uc744 \ub3d9\uc801\uc774\uace0 \uad11\ubc94\uc704\ud55c \uae00\ub85c\ubc8c \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\ub85c \uc5ee\uace0 \uae30\uc5ec\uc5d0 \ub300\ud55c \ud1a0\ud070 \uc778\uc13c\ud2f0\ube0c\ub97c \ubc1b\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/#_2","title":"\uc0ac\uc6a9\uc790","text":"

DoubleZero \uc0ac\uc6a9\uc790\ub294 \uace0\uc131\ub2a5 \ub124\ud2b8\uc6cc\ud06c \uc5f0\uacb0\uc774 \ud544\uc694\ud55c \ube14\ub85d\uccb4\uc778\uacfc \uac19\uc740 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc5d0 \ucc38\uc5ec\ud569\ub2c8\ub2e4. \ube14\ub85d\uccb4\uc778 \uc2dc\uc2a4\ud15c\uc744 DoubleZero\uc640 \uc0c1\ud638 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 \uc0ac\uc6a9\uc790\ub294 \ub124\ud2b8\uc6cc\ud06c I/O\ub97c \uac00\uc18d\ud654\ud558\ub294 \ucd5c\uc801\ud654 \uae30\ub2a5\uc758 \ubc88\ub4e4\uc744 \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\ucd08\uae30 \uad6c\ud604\uc5d0\uc11c DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \ube14\ub85d\uccb4\uc778 \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 RPC \ubc0f MEV \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4\uc640 \ud638\ud658\ub429\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc0ac\uc6a9\uc790 \uc2dc\uc2a4\ud15c\uc740 \ub124\ud2b8\uc6cc\ud06c \uc811\uadfc\uc744 \ud5c8\uc6a9\ud558\uae30 \uc804\uc5d0 \uac01 \ub808\uc800\uc5d0\uc11c \uace0\uc720\ud558\uac8c \uc2dd\ubcc4\ud558\ub294 \uacf5\uac1c \ud0a4 \uc8fc\uc18c\ub97c \uac80\uc99d\ud558\ub294 \uc2b9\uc778 \uc81c\uc5b4\ub97c \uac70\uce69\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c\uac00 \ub2e4\ub978 \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc758 \uc0ac\uc6a9\uc790 \uc2dc\uc2a4\ud15c\uc744 \ud3ec\ud568\ud558\ub3c4\ub85d \ubc1c\uc804\ud568\uc5d0 \ub530\ub77c \uac01 \uc0ac\uc6a9\uc790 \ud504\ub85c\uc81d\ud2b8 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ub9de\ucda4\ud654\ub41c \ucd94\uac00 \uc2dd\ubcc4 \ubc0f \uc778\uc99d \uc804\ub7b5\uc774 \ucd94\uac00\ub420 \uac83\uc785\ub2c8\ub2e4.

"},{"location":"ko/#_3","title":"\ud61c\ud0dd","text":"

DoubleZero\uc758 \uc720\uc77c\ud55c \ub300\uc548\uc740 \uacf5\uc6a9 \uc778\ud130\ub137\uc785\ub2c8\ub2e4. \uacf5\uc6a9 \uc778\ud130\ub137\uacfc \ube44\uad50\ud558\uc5ec DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \ube14\ub85d\uccb4\uc778\uc5d0 \ub450 \uac00\uc9c0 \uac1c\uc120 \uc0ac\ud56d\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

\uccab\uc9f8, \uc778\ubc14\uc6b4\ub4dc \ud2b8\ub79c\uc7ad\uc158\uc740 DoubleZero \ub124\ud2b8\uc6cc\ud06c \uc0ac\uc6a9\uc790(\uc608: \ube14\ub85d\uccb4\uc778 \ub178\ub4dc)\uc5d0\uac8c \uc804\uc1a1\ub418\uae30 \uc804\uc5d0 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790 \ud558\ub4dc\uc6e8\uc5b4 \ub808\ubca8\uc5d0\uc11c \ube44\uc7ac\ub7c9\uc801 \ubc29\uc2dd\uc73c\ub85c \uc5e3\uc9c0 \ud544\ud130\ub9c1\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4(\uc989, \uc2a4\ud338 \ubc0f \uc911\ubcf5 \uc81c\uac70). \uc774\ub97c \ud1b5\ud574 \ube14\ub85d\uccb4\uc778\uc740 \uac01 \uac1c\ubcc4 \uac80\uc99d\uc790\uac00 \ucda9\ubd84\ud55c \ub9ac\uc18c\uc2a4\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud560 \ud544\uc694 \uc5c6\uc774 \uc2dc\uc2a4\ud15c \uc804\uccb4 \uacf5\uc720 \ud544\ud130\ub9c1 \ub9ac\uc18c\uc2a4\ub97c \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c \uac80\uc99d\uc790\ub294 \uc9c1\uc811 \uc218\uc775 \ucc3d\ucd9c \ud65c\ub3d9\uc73c\ub85c \ub9ac\uc18c\uc2a4\ub97c \uc7ac\ubc30\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae30\ub2a5\uc740 \uc544\uc9c1 \uc791\ub3d9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

\ub458\uc9f8, \uc544\uc6c3\ubc14\uc6b4\ub4dc \uba54\uc2dc\uc9c0\ub294 \ud6a8\uc728\uc131\uc744 \uac1c\uc120\ud558\uae30 \uc704\ud574 \ub354 \uc9c1\uc811\uc801\uc73c\ub85c \ub77c\uc6b0\ud305\ub418\uace0 \uc6b0\uc120\uc21c\uc704\uac00 \uc9c0\uc815\ub429\ub2c8\ub2e4. DoubleZero\uc5d0\uc11c\ub294 \uae00\ub85c\ubc8c \ub370\uc774\ud130 \uc774\ub3d9\uc758 \ub77c\uc6b0\ud305 \ub85c\uc9c1\uc774 \uacf5\uc6a9 \uc778\ud130\ub137\uacfc \ub2ec\ub9ac \uc18d\ub3c4\uc5d0 \ucd5c\uc801\ud654\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc774\uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uac80\uc99d\uc790\ub294 \uc9c0\ud130 \uac10\uc18c\uc758 \ud61c\ud0dd\uc744 \ubc1b\uc2b5\ub2c8\ub2e4. \uc9c0\ud130\ub294 \ub450 \ub370\uc774\ud130 \ucf00\uc774\ube14 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uac04\uc758 \ub300\uae30 \uc2dc\uac04 \ubcc0\ub3d9\ub7c9\uc73c\ub85c \uc815\uc758\ub429\ub2c8\ub2e4. \ubcf8\uc9c8\uc801\uc73c\ub85c \ube14\ub85d\uccb4\uc778 \ub178\ub4dc\ub294 \ube14\ub85d\uc744 \ub354 \ube60\ub974\uac8c \ubcf4\ub0b4\uace0 \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc774\ub7ec\ud55c DoubleZero \ub124\ud2b8\uc6cc\ud06c \ud61c\ud0dd\uc744 \uc885\ud569\ud558\uba74 \uacf5\uc6a9 \uc778\ud130\ub137\uc73c\ub85c\ub294 \ub2ec\uc131\ud560 \uc218 \uc5c6\ub294 \uc131\ub2a5 \uc218\uc900\uc744 \ub2ec\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 DoubleZero \ud504\ub85c\ud1a0\ucf5c \ubc31\uc11c\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/#_4","title":"\ub2e4\uc74c \ub2e8\uacc4","text":""},{"location":"ko/DZ%20Mainnet-beta%20Connection/","title":"IBRL \ubaa8\ub4dc \uac80\uc99d\uc790 \uba54\uc778\ub137-\ubca0\ud0c0 \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#ibrl-_1","title":"IBRL \ubaa8\ub4dc\ub85c \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uc5f0\uacb0","text":"

Note

IBRL \ubaa8\ub4dc\ub294 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

Solana \uba54\uc778\ub137 \uac80\uc99d\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc790\uc138\ud788 \uc124\uba85\ub41c DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0 \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

\uac01 Solana \uac80\uc99d\uc790\uc5d0\ub294 \uace0\uc720\ud55c \uc2e0\uc6d0 \ud0a4\uc30d\uc774 \uc788\uc73c\uba70, \uc774\ub85c\ubd80\ud130 \ub178\ub4dc ID\ub85c \uc54c\ub824\uc9c4 \uacf5\uac1c \ud0a4\ub97c \ucd94\ucd9c\ud569\ub2c8\ub2e4. \uc774\uac83\uc774 Solana \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \uace0\uc720 \uc9c0\ubb38\uc785\ub2c8\ub2e4.

DoubleZeroID\uc640 \ub178\ub4dc ID\uac00 \ud655\uc778\ub418\uba74 \uae30\uacc4\uc758 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \uac80\uc99d\uc790\uc758 \uc2e0\uc6d0 \ud0a4\ub85c \uc11c\uba85\ub41c DoubleZeroID\ub97c \ud3ec\ud568\ud558\ub294 \uba54\uc2dc\uc9c0\ub97c \uc0dd\uc131\ud558\uc5ec \uc218\ud589\ub429\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc778 \uc554\ud638\ud654 \uc11c\uba85\uc740 \uac80\uc99d\uc790\ub97c \uc81c\uc5b4\ud55c\ub2e4\ub294 \uac80\uc99d \uac00\ub2a5\ud55c \uc99d\uac70\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\ub9c8\uc9c0\ub9c9\uc73c\ub85c DoubleZero\uc5d0 \uc5f0\uacb0 \uc694\uccad\uc744 \uc81c\ucd9c\ud569\ub2c8\ub2e4. \uc774 \uc694\uccad\uc740 \ub2e4\uc74c\uc744 \uc804\ub2ec\ud569\ub2c8\ub2e4: \"\uc81c \uc2e0\uc6d0\uc774 \uc5ec\uae30 \uc788\uace0, \uc18c\uc720\uad8c \uc99d\uac70\uac00 \uc5ec\uae30 \uc788\uc73c\uba70, \uc5f0\uacb0 \ubc29\ubc95\uc774 \uc5ec\uae30 \uc788\uc2b5\ub2c8\ub2e4.\" DoubleZero\ub294 \uc774 \uc815\ubcf4\ub97c \uac80\uc99d\ud558\uace0 \uc99d\uac70\ub97c \uc218\ub77d\ud558\uba70 DoubleZero\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c \uc561\uc138\uc2a4\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud569\ub2c8\ub2e4.

\uc774 \uac00\uc774\ub4dc\ub97c \ud1b5\ud574 1\uac1c\uc758 \uae30\ubcf8 \uac80\uc99d\uc790\uac00 \uc790\uc2e0\uc744 \ub4f1\ub85d\ud558\uace0 \ub3d9\uc2dc\uc5d0 \ucd5c\ub300 3\uac1c\uc758 \ubc31\uc5c5/\uc7a5\uc560 \uc870\uce58 \uae30\uacc4\ub97c \ub4f1\ub85d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#_1","title":"\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

Info

\uac80\uc99d\uc790 ID\ub294 Solana \uac00\uc2ed\uc5d0 \ub300\ud574 \ud655\uc778\ub418\uc5b4 \ub300\uc0c1 IP\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. \ub300\uc0c1 IP\uc640 DoubleZero ID\ub294 \uae30\uacc4\uc640 \ub300\uc0c1 DoubleZero \uc7a5\uce58 \uac04\uc5d0 GRE \ud130\ub110\uc744 \uc5f4 \ub54c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\uace0\ub824\uc0ac\ud56d: \ub3d9\uc77c\ud55c IP\uc5d0 \uc815\ud06c ID\uc640 \uae30\ubcf8 ID\uac00 \uc788\ub294 \uacbd\uc6b0 \uae30\ubcf8 ID\ub9cc \uae30\uacc4 \ub4f1\ub85d\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc815\ud06c ID\ub294 \uac00\uc2ed\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc73c\ubbc0\ub85c \ub300\uc0c1 \uae30\uacc4\uc758 IP\ub97c \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uae30\uacc4\uc5d0 DoubleZero\uc5d0 \ub300\ud55c \ud130\ub110\uc774 \ud558\ub098\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4: \u2705 doublezerod configured for environment mainnet-beta

\uc57d 30\ucd08 \ud6c4 DoubleZero \uc7a5\uce58\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

doublezero latency\n
\uc608\uc2dc \ucd9c\ub825 (\uba54\uc778\ub137-\ubca0\ud0c0)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\ud14c\uc2a4\ud2b8\ub137 \ucd9c\ub825\uc740 \uad6c\uc870\uac00 \ub3d9\uc77c\ud558\uc9c0\ub9cc \uc7a5\uce58 \uc218\uac00 \ub354 \uc801\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#2-44880","title":"2. \ud3ec\ud2b8 44880 \uc5f4\uae30","text":"

\uc0ac\uc6a9\uc790\ub294 \uc77c\ubd80 \ub77c\uc6b0\ud305 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\uae30 \uc704\ud574 \ud3ec\ud2b8 44880\uc744 \uc5f4\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\ud3ec\ud2b8 44880\uc744 \uc5f4\ub824\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 IP \ud14c\uc774\ube14\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 -i doublezero0, -o doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

\ub610\ub294 UFW\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 in on doublezero0, out on doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#3","title":"3. \uac80\uc99d\uc790 \uc18c\uc720\uad8c \uc99d\uba85","text":"

DoubleZero \ud658\uacbd\uc774 \uc124\uc815\ub418\uc5c8\uc73c\uba74 \uc774\uc81c \uac80\uc99d\uc790 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4.

\uae30\ubcf8 \uac80\uc99d\uc790\uc758 \uc124\uc815\uc5d0\uc11c \uc0dd\uc131\ud55c DoubleZero ID\ub294 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.

\uae30\ubcf8 \uae30\uacc4\uc758 ID\ub294 doublezero address\ub85c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub3d9\uc77c\ud55c ID\uac00 \ud074\ub7ec\uc2a4\ud130\uc758 \ubaa8\ub4e0 \uae30\uacc4\uc758 ~/.config/doublezero/id.json\uc5d0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uc774\ub97c \uc704\ud574 \uba3c\uc800 \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uac00 \uae30\ubcf8 \uac80\uc99d\uc790\uc778\uc9c0 \ub2e4\uc74c \uba85\ub839\uc73c\ub85c \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -u mainnet-beta\n

\uc774\ub294 \uac80\uc99d\uc790\uac00 \uac00\uc2ed\uc5d0 \ub4f1\ub85d\ub418\uc5b4 \uc788\uace0 \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \ub098\ud0c0\ub098\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\ub3d9\uc77c\ud55c \uc6cc\ud06c\ud50c\ub85c\uc6b0\uac00 \ud558\ub098 \ub610\ub294 \uc5ec\ub7ec \uae30\uacc4\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud558\ub098\uc758 \uae30\uacc4\ub97c \ub4f1\ub85d\ud558\ub824\uba74 \ubaa8\ub4e0 \uba85\ub839\uc5d0\uc11c \"--backup-validator-ids\" \ub610\ub294 \"backup_ids=\" \uc778\uc218\ub97c \uc81c\uc678\ud558\uc138\uc694.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790\ub97c \uc2e4\ud589\ud560 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -u mainnet-beta\n

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\uc774 \ucd9c\ub825\uc740 \uc608\uc0c1\ub41c \uac83\uc785\ub2c8\ub2e4. \ubc31\uc5c5 \ub178\ub4dc\ub294 \ud328\uc2a4 \uc0dd\uc131 \uc2dc \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790 \ud22c\ud45c \uacc4\uc815\uacfc \uc2e0\uc6d0\uc744 \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc778 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#_2","title":"\uc5f0\uacb0 \uc900\ube44","text":"

\uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc774\ub294 \ud65c\uc131 \uc9c0\ubd84\uc774 \uc788\uace0, \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc73c\uba70, \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uc758 Solana \uac00\uc2ed\uc5d0 \uae30\ubcf8 \uac80\uc99d\uc790 ID\uac00 \uc788\ub294 \uae30\uacc4\uc785\ub2c8\ub2e4:

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

\uc608\uc2dc \ucd9c\ub825:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\uc774 \uba85\ub839\uc758 \ub05d\uc5d0 \uc788\ub294 \ucd9c\ub825\uc5d0 \uc8fc\ubaa9\ud558\uc138\uc694. \uc774\uac83\uc774 \ub2e4\uc74c \ub2e8\uacc4\uc758 \uad6c\uc870\uc785\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#4","title":"4. \uc11c\uba85 \uc0dd\uc131","text":"

\ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\uc5d0\uc11c solana sign-offchain-message\uc5d0 \ub300\ud55c \ubbf8\ub9ac \ud615\uc2dd\ud654\ub41c \ucd9c\ub825\uc744 \ubc1b\uc558\uc2b5\ub2c8\ub2e4.

\uc704 \ucd9c\ub825\uc5d0\uc11c \uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

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

\ucd9c\ub825:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#5-doublezero","title":"5. DoubleZero\uc5d0\uc11c \uc5f0\uacb0 \uc694\uccad \uc2dc\uc791","text":"

request-validator-access \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc5f0\uacb0 \uc694\uccad\uc744 \uc704\ud55c Solana \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. DoubleZero Sentinel \uc5d0\uc774\uc804\ud2b8\uac00 \uc0c8 \uacc4\uc815\uc744 \uac10\uc9c0\ud558\uace0 \uc2e0\uc6d0\uacfc \uc11c\uba85\uc744 \uac80\uc99d\ud55c \ud6c4 \uc11c\ubc84\uac00 \uc5f0\uacb0\uc744 \uc124\uc815\ud560 \uc218 \uc788\ub3c4\ub85d DoubleZero\uc5d0 \uc561\uc138\uc2a4 \ud328\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.

\ub178\ub4dc ID, DoubleZeroID, \uc11c\uba85\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

Note

\uc774 \uc608\uc2dc\uc5d0\uc11c\ub294 \uac80\uc99d\uc790 \uc2e0\uc6d0\uc744 \ucc3e\uae30 \uc704\ud574 -k /home/user/.config/solana/id.json\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub85c\uceec \ubc30\ud3ec\uc5d0 \uc801\ud569\ud55c \uc704\uce58\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.

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

\ucd9c\ub825:

\uc774 \ucd9c\ub825\uc740 Solana \ud0d0\uc0c9\uae30\uc5d0\uc11c \ud2b8\ub79c\uc7ad\uc158\uc744 \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud0d0\uc0c9\uae30\ub97c \uba54\uc778\ub137\uc73c\ub85c \ubcc0\uacbd\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774 \ud655\uc778\uc740 \uc120\ud0dd \uc0ac\ud56d\uc785\ub2c8\ub2e4.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\uc131\uacf5\ud558\uba74 DoubleZero\uac00 \uae30\ubcf8\uc744 \ubc31\uc5c5\uacfc \ud568\uaed8 \ub4f1\ub85d\ud569\ub2c8\ub2e4. \uc774\uc81c \uc561\uc138\uc2a4 \ud328\uc2a4\uc5d0 \ub4f1\ub85d\ub41c IP \uac04\uc5d0 \uc7a5\uc560 \uc870\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. DoubleZero\ub294 \uc774 \ubc29\uc2dd\uc73c\ub85c \ub4f1\ub85d\ub41c \ubc31\uc5c5 \ub178\ub4dc\ub85c \uc804\ud658\ud560 \ub54c \uc790\ub3d9\uc73c\ub85c \uc5f0\uacb0\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#6-ibrl","title":"6. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Note

\uc774 \ucd9c\ub825\uc744 \ud655\uc778\ud558\uc138\uc694. Tunnel src\uc640 DoubleZero IP\uac00 \uae30\uacc4\uc758 \uacf5\uac1c IPv4 \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\ub294\uc9c0 \uc8fc\ubaa9\ud558\uc138\uc694.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/DZ%20Mainnet-beta%20Connection/#shred","title":"\ub2e4\uc74c \ub2e8\uacc4: \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589","text":"

\uc774 \uc124\uc815\uc744 \uc644\ub8cc\ud558\uace0 \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589\uc744 \uacc4\ud68d\ud558\uace0 \uc788\ub2e4\uba74 \ub2e4\uc74c \ud398\uc774\uc9c0\ub85c \uc9c4\ud589\ud558\uc138\uc694.

"},{"location":"ko/DZ%20Testnet%20Connection/","title":"IBRL \ubaa8\ub4dc \uac80\uc99d\uc790 \ud14c\uc2a4\ud2b8\ub137 \uc5f0\uacb0","text":"

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 \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 \uc5ec\uae30\uc5d0 \uba85\uc2dc\ub41c \ud3c9\uac00 \uacc4\uc57d \uc870\uac74\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4 (\ud074\ub9ad\ud558\uc5ec \ud655\uc7a5)

DoubleZero \ud14c\uc2a4\ud2b8\ub137 \ud3c9\uac00 \uacc4\uc57d

\ubcf8 \uc194\ub8e8\uc158(\uc544\ub798 \uc815\uc758)\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368 \uadc0\ud558\ub294 \uccab \ubc88\uc9f8 \uc561\uc138\uc2a4 \ub0a0\uc9dc(\"\ubc1c\ud6a8\uc77c\")\ub85c\ubd80\ud130 \ubcf8 \ud3c9\uac00 \uacc4\uc57d(\"\uacc4\uc57d\")\uc774 DoubleZero Foundation(\"DZF\")\uc774 \ud3c9\uac00 \uae30\uc900\uc73c\ub85c \uc194\ub8e8\uc158\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \uc870\uac74\uc744 \uaddc\uc815\ud568\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4. \uc0c1\ud638 \uc57d\uc18d\uc758 \ub300\uac00\ub85c \uadc0\ud558\ub294 \ub2e4\uc74c\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4:

1. \uc815\uc758.

1.1 \"\uae30\ubc00 \uc815\ubcf4\"\ub294 \uae30\ubc00\ub85c \uc9c0\uc815\ub418\uc5c8\uac70\ub098 \uc194\ub8e8\uc158, \uc81c\ud488 \uacc4\ud68d, \uc0ac\uc5c5 \uacc4\ud68d, \uc601\uc5c5 \ube44\ubc00, \uae30\uc220 \ub610\ub294 \uae30\ud0c0 \ub3c5\uc810 \uc815\ubcf4\ub97c \ud3ec\ud568\ud558\ub418 \uc774\uc5d0 \uad6d\ud55c\ub418\uc9c0 \uc54a\ub294 \uae30\ud0c0 \uae30\ubc00\ub85c \uc774\ud574\ub418\uc5b4\uc57c \ud558\ub294 \uc77c\ubc29 \ub2f9\uc0ac\uc790\uac00 \ud0c0\ubc29 \ub2f9\uc0ac\uc790\uc5d0\uac8c \uacf5\uac1c\ud55c \ubaa8\ub4e0 \uc815\ubcf4\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4.

1.2 \"\uc194\ub8e8\uc158\"\uc740 web3 \ud504\ub85c\uc81d\ud2b8\ub97c \uc704\ud55c DoubleZero \uace0\uc131\ub2a5 \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c\uc758 \ud14c\uc2a4\ud2b8\ub137 \ubc84\uc804(\"\ud14c\uc2a4\ud2b8\ub137\") \ubc0f \ud1b5\ud569 \ub300\uc5ed\ud3ed\uc774 \uc788\ub294 \uad00\ub828 \uc5e3\uc9c0 \ud544\ud130\ub9c1 \uc11c\ube44\uc2a4(\"\uc815\ubcf4 \uc11c\ube44\uc2a4\"), DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4(\uc544\ub798 \uc815\uc758), DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc640 \uad00\ub828\ud558\uc5ec DZF\uac00 \uc81c\uacf5\ud558\ub294 \ubaa8\ub4e0 \uc790\ub8cc(\"\ubb38\uc11c\"), \ubc0f DZF\uac00 \uc5ec\uae30\uc11c \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ud558\ub294 \uae30\ud0c0 \uc790\ub8cc\ub97c \uc758\ubbf8\ud569\ub2c8\ub2e4.

2. \uc561\uc138\uc2a4.

2.1 \uc194\ub8e8\uc158 \uc561\uc138\uc2a4. \ubcf8 \uacc4\uc57d\uc758 \uc870\uac74\uc5d0 \ub530\ub77c DZF\ub294 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc194\ub8e8\uc158 \uc561\uc138\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uc758 \uc561\uc138\uc2a4\ub294 \uc0ac\uc6a9\uc790\uac00 \uc815\ubcf4 \uc11c\ube44\uc2a4\ub97c \ud3c9\uac00\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uc194\ub8e8\uc158\uc758 \ube44\ub3c5\uc810\uc801, \ube44\uc591\ub3c4 \uac00\ub2a5\ud55c, \uc81c\ud55c\uc801 \uc0ac\uc6a9\uc785\ub2c8\ub2e4. \uc194\ub8e8\uc158\uc744 \uad6c\uc131\ud558\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4(\"DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\")\uc640 \uad00\ub828\ud558\uc5ec DZF\ub294 \ud3c9\uac00 \uae30\uac04 \ub3d9\uc548 \uc0ac\uc6a9\uc790\uc5d0\uac8c \ubb38\uc11c\uc5d0\uc11c \uc608\uc0c1\ud55c \ub300\ub85c\ub9cc \ud574\ub2f9 DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \ubcf5\uc0ac, \ub2e4\uc6b4\ub85c\ub4dc, \ud569\ub9ac\uc801\uc778 \uc218\uc758 \uc0ac\ubcf8 \uc791\uc131, \uc2e4\ud589 \ubc0f \ubc30\ud3ec(\ud574\ub2f9\ud558\ub294 \uacbd\uc6b0)\ud560 \uc218 \uc788\ub294 \uc81c\ud55c\uc801, \ucde8\uc18c \uac00\ub2a5\ud55c \ub77c\uc774\uc120\uc2a4\ub97c \ubd80\uc5ec\ud569\ub2c8\ub2e4.

2.2 \uc81c\ud55c. \uc0ac\uc6a9\uc790\ub294 \ubc1c\ud6a8\uc77c\ubd80\ud130 DZF\uac00 \uc885\ub8cc\ud560 \ub54c\uae4c\uc9c0(\"\ud3c9\uac00 \uae30\uac04\") \ubcf8 \uacc4\uc57d\uc5d0 \ub530\ub77c \uc194\ub8e8\uc158\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ud3c9\uac00 \uae30\uac04 \uc774\ud6c4\uc758 \uc194\ub8e8\uc158 \uc0ac\uc6a9 \uad8c\ub9ac\uac00 \uc218\uc218\ub8cc \uc9c0\ubd88\uc744 \ud3ec\ud568\ud558\uc5ec \ub2f9\uc0ac\uc790 \uac04\uc758 \ubcc4\ub3c4 \uc0c1\uc5c5 \uacc4\uc57d\uc5d0 \ub530\ub97c \uac83\uc784\uc744 \uc774\ud574\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ub2e4\uc74c\uc744 \ud558\uc9c0 \uc54a\uc544\uc57c \ud558\uba70 \uc81c3\uc790\uac00 \ud558\ub3c4\ub85d \ud5c8\uc6a9\ud574\uc11c\ub3c4 \uc548 \ub429\ub2c8\ub2e4: (i) \uc194\ub8e8\uc158 \ub610\ub294 \uadf8 \uc77c\ubd80\ub97c \uae30\ubc18\uc73c\ub85c \uc218\uc815\ud558\uac70\ub098 \ud30c\uc0dd \uc800\uc791\ubb3c\uc744 \uc0dd\uc131\ud558\ub294 \uac83; (ii) \ubcf8 \uacc4\uc57d\uc5d0\uc11c \uba85\uc2dc\uc801\uc73c\ub85c \ud5c8\uc6a9\ub41c \uacbd\uc6b0\ub97c \uc81c\uc678\ud558\uace0 \uc194\ub8e8\uc158\uc744 \ubcf5\uc81c\ud558\ub294 \uac83; (iii) \uc194\ub8e8\uc158\uc758 \uc804\ubd80 \ub610\ub294 \uc77c\ubd80\uc5d0 \ub300\ud55c \uad8c\ub9ac\ub97c \uc11c\ube44\uc2a4 \uae30\uad00 \uae30\uc900\uc73c\ub85c \ub610\ub294 \uae30\ud0c0 \ubc29\uc2dd\uc73c\ub85c \uc81c3\uc790\uc5d0\uac8c \uc81c\uacf5\ud558\ub294 \uac83 (\ub2e8, \ub3c5\ub9bd\uc801\uc73c\ub85c\uac00 \uc544\ub2cc \uc0ac\uc6a9\uc790\uc758 \ud50c\ub7ab\ud3fc \ub610\ub294 \uc81c\ud488\uc744 \ud1b5\ud574 \ub610\ub294 \uadf8\uc640 \uad00\ub828\ud558\uc5ec \uc815\ubcf4 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 \uacbd\uc6b0\ub294 \uc81c\uc678); \ub610\ub294 (iv) \uc5ec\uae30\uc5d0 \uc81c\uacf5\ub41c \uac83 \uc774\uc678\uc758 \ubc29\uc2dd\uc73c\ub85c \uc194\ub8e8\uc158\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83.

2.3 \uc18c\uc720\uad8c. DZF\ub294 \uc194\ub8e8\uc158\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \uad8c\ub9ac, \uc18c\uc720\uad8c \ubc0f \uc774\uc775(\uc9c0\uc801 \uc7ac\uc0b0\uad8c \ud3ec\ud568)\uc744 \ubcf4\uc720\ud569\ub2c8\ub2e4.

3 \ud53c\ub4dc\ubc31. DZF\ub294 \uc8fc\uae30\uc801\uc73c\ub85c \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc194\ub8e8\uc158\uc758 \uc0ac\uc6a9, \uc6b4\uc601 \ubc0f \uae30\ub2a5\uc5d0 \uad00\ud55c \ud53c\ub4dc\ubc31(\"\ud53c\ub4dc\ubc31\")\uc744 \uc81c\uacf5\ud558\ub3c4\ub85d \uc694\uccad\ud560 \uc218 \uc788\uc73c\uba70 \uc0ac\uc6a9\uc790\ub294 DZF\uc5d0 \uc774\ub97c \uc81c\uacf5\ud558\uae30\ub85c \ub3d9\uc758\ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 DZF\uc5d0 \ud53c\ub4dc\ubc31\uc744 \uc81c\ud488 \ubc0f \uc11c\ube44\uc2a4\uc5d0 \uc0ac\uc6a9\ud558\uace0 \ud1b5\ud569\ud560 \uc218 \uc788\ub294 \ube44\ub3c5\uc810\uc801, \uc804 \uc138\uacc4\uc801, \uc601\uad6c\uc801, \ucde8\uc18c \ubd88\uac00\ub2a5\ud55c, \ub85c\uc5f4\ud2f0 \uc5c6\ub294, \uc644\uc804\ud788 \uc9c0\ubd88\ub41c, \uc644\uc804\ud788 \uc11c\ube0c\ub77c\uc774\uc120\uc2a4 \uac00\ub2a5\ud558\uace0 \uc591\ub3c4 \uac00\ub2a5\ud55c \uad8c\ub9ac\uc640 \ub77c\uc774\uc120\uc2a4\ub97c \ubd80\uc5ec\ud569\ub2c8\ub2e4.

4. \uae30\uac04 \ubc0f \ud574\uc9c0.

4.1 \uae30\uac04. \ubcf8 \uacc4\uc57d\uc740 \ubc1c\ud6a8\uc77c\ubd80\ud130 \uc2dc\uc791\ud558\uc5ec \ud3c9\uac00 \uae30\uac04 \ub3d9\uc548 \uc644\uc804\ud55c \ud6a8\ub825\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4. \uc5b4\ub290 \ub2f9\uc0ac\uc790\ub4e0 \uc11c\uba74 \ud1b5\uc9c0(\uc774\uba54\uc77c\ub85c \ucda9\ubd84)\ub97c \ud1b5\ud574 \uc0c1\ub300\ubc29\uc5d0\uac8c \uc5b4\ub5a4 \uc774\uc720\ub85c\ub4e0 \uc989\uc2dc \ubcf8 \uacc4\uc57d\uc744 \ud574\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

4.1 \ud574\uc9c0\uc758 \ud6a8\uacfc. \uc5b4\ub5a4 \uc774\uc720\ub85c\ub4e0 \ubcf8 \uacc4\uc57d\uc774 \ud574\uc9c0\ub418\uba74: (i) \uc0ac\uc6a9\uc790\uc5d0\uac8c \ubd80\uc5ec\ub41c \uad8c\ub9ac\uac00 \uc989\uc2dc \uc885\ub8cc\ub429\ub2c8\ub2e4; (ii) \uc0ac\uc6a9\uc790\ub294 \uc194\ub8e8\uc158 \uc0ac\uc6a9\uc744 \uc989\uc2dc \uc911\ub2e8\ud558\uace0 \uadf8 \ud1b5\uc81c \ud558\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \ubb38\uc11c \ubc0f DZ \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \ubc18\ud658\ud558\uac70\ub098 \ud3d0\uae30\ud574\uc57c \ud569\ub2c8\ub2e4; (iii) \uac01 \ub2f9\uc0ac\uc790\ub294 \uc0c1\ub300\ubc29\uc758 \ubaa8\ub4e0 \uae30\ubc00 \uc815\ubcf4\uc640 \uc7ac\uc0b0\uc744 \uc989\uc2dc \ubc18\ud658\ud558\uac70\ub098 \ud3d0\uae30\ud574\uc57c \ud569\ub2c8\ub2e4; (iv) \uc139\uc158 2.2, 2.3, 3, 4.2, 5~8\uc740 \uc874\uc18d\ud569\ub2c8\ub2e4.

5. \uae30\ubc00 \uc720\uc9c0. \uac01 \ub2f9\uc0ac\uc790\ub294 \ubcf8 \uacc4\uc57d \ud558\uc5d0\uc11c \uc758\ubb34\ub97c \uc774\ud589\ud558\uace0 \uad8c\ub9ac\ub97c \ud589\uc0ac\ud558\uae30 \uc704\ud574\uc11c\ub9cc \uc0c1\ub300\ubc29\uc758 \uae30\ubc00 \uc815\ubcf4\ub97c \uc0ac\uc6a9\ud558\uace0 \ubcf8 \uacc4\uc57d\uc5d0\uc11c \ub2ec\ub9ac \ud5c8\uc6a9\ub41c \uacbd\uc6b0\ub97c \uc81c\uc678\ud558\uace0\ub294 \uc774\ub97c \uacf5\uac1c\ud558\uac70\ub098 \uacf5\uac1c\ub418\ub3c4\ub85d \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uae30\ub85c \ub3d9\uc758\ud569\ub2c8\ub2e4. \ub2e4\ub9cc, \uc5b4\ub290 \ub2f9\uc0ac\uc790\ub4e0 \uc54c\uc544\uc57c \ud560 \ud544\uc694\uac00 \uc788\uace0 \ubcf8 \uacc4\uc57d\uc5d0 \uaddc\uc815\ub41c \uac83\ubcf4\ub2e4 \ub35c \ubcf4\ud638\uc801\uc774\uc9c0 \uc54a\uc740 \uae30\ubc00 \uc720\uc9c0 \uc758\ubb34\uc5d0 \uad6c\uc18d\ub418\ub294 \uc9c1\uc6d0, \ubcc0\ud638\uc0ac \ubc0f \uae30\ud0c0 \ub300\ub9ac\uc778\uc5d0\uac8c \uae30\ubc00 \uc815\ubcf4\ub97c \uacf5\uac1c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4; \ubc95\uc5d0\uc11c \uc694\uad6c\ud558\ub294 \uacbd\uc6b0(\uc218\uc2e0 \ub2f9\uc0ac\uc790\ub294 \uacf5\uac1c \ub2f9\uc0ac\uc790\uc5d0\uac8c \uc0ac\uc804 \ud1b5\uc9c0\ub97c \uc81c\uacf5\ud558\uace0 \uadf8\ub7ec\ud55c \uacf5\uac1c\uc5d0 \uc774\uc758\ub97c \uc81c\uae30\ud560 \uae30\ud68c\ub97c \uc81c\uacf5\ud558\uba70 \uc801\uc6a9 \uac00\ub2a5\ud55c \ubc95\uc774 \ud5c8\uc6a9\ud558\ub294 \ud55c \uacf5\uac1c\ub97c \ucd5c\uc18c\ud654\ud569\ub2c8\ub2e4). \ubcf8 \uc139\uc158 5\uc758 \uae30\ubc00 \uc720\uc9c0 \uc758\ubb34\ub294 \ub2e4\uc74c\uc5d0\ub294 \uc801\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: (a) \uc218\uc2e0 \ub2f9\uc0ac\uc790\uc758 \uacfc\uc2e4 \uc5c6\uc774 \uc77c\ubc18\uc801\uc73c\ub85c \uc54c\ub824\uc9c0\uac70\ub098 \uacf5\uac1c\uc801\uc73c\ub85c \uc774\uc6a9 \uac00\ub2a5\ud55c \uc815\ubcf4; (b) \uacf5\uac1c \ub2f9\uc0ac\uc790\uc758 \uacf5\uac1c \uc804\uc5d0 \uc218\uc2e0 \ub2f9\uc0ac\uc790\uc5d0\uac8c \uc81c\ud55c \uc5c6\uc774 \uc801\uc808\ud788 \uc54c\ub824\uc9c4 \uc815\ubcf4; (c) \ubc95\uc801 \uad8c\ud55c\uc744 \uac00\uc9c4 \ub2e4\ub978 \uc0ac\ub78c\uc5d0 \uc758\ud574 \uc81c\ud55c \uc5c6\uc774 \uc218\uc2e0 \ub2f9\uc0ac\uc790\uc5d0\uac8c \uc801\uc808\ud788 \uacf5\uac1c\ub41c \uc815\ubcf4; (d) \uacf5\uac1c \ub2f9\uc0ac\uc790\uc758 \uae30\ubc00 \uc815\ubcf4\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 \ucc38\uc870\ud558\uc9c0 \uc54a\uace0 \uc218\uc2e0 \ub2f9\uc0ac\uc790\uac00 \ub3c5\ub9bd\uc801\uc73c\ub85c \uac1c\ubc1c\ud55c \uc815\ubcf4. \uac01 \ub2f9\uc0ac\uc790\ub294 \uc0c1\ub300\ubc29\uc758 \uae30\ubc00 \uc815\ubcf4\ub97c \ubb34\ub2e8 \uc0ac\uc6a9 \ubc0f \uacf5\uac1c\ub85c\ubd80\ud130 \ubcf4\ud638\ud558\ub294 \ub370 \uc0c1\ub2f9\ud55c \uc8fc\uc758\ub97c \uae30\uc6b8\uc774\uae30\ub85c \ub3d9\uc758\ud569\ub2c8\ub2e4.

6. \ubcf4\uc99d \uba74\ucc45; \ucc45\uc784 \uc81c\ud55c.

6.1 \ubcf4\uc99d \uba74\ucc45. \uc194\ub8e8\uc158\uc740 \uc5b4\ub5a0\ud55c \uc885\ub958\uc758 \ubcf4\uc99d\ub3c4 \uc5c6\uc774 \"\uc788\ub294 \uadf8\ub300\ub85c\" \uc81c\uacf5\ub429\ub2c8\ub2e4. DZF\ub294 \uc194\ub8e8\uc158 \ubc0f \ubb38\uc11c\uc5d0 \ub300\ud574 \uba85\uc2dc\uc801, \ubb35\uc2dc\uc801, \ubc95\uc801 \ub610\ub294 \uae30\ud0c0 \ubcf4\uc99d\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc73c\uba70 \uc0c1\ud488\uc131, \ud2b9\uc815 \ubaa9\uc801 \uc801\ud569\uc131, \uc18c\uc720\uad8c \ubc0f \ube44\uce68\ud574\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ubb35\uc2dc\uc801 \ubcf4\uc99d\uc744 \ud2b9\ubcc4\ud788 \ubd80\uc778\ud569\ub2c8\ub2e4.

6.2 \ucc45\uc784 \uc81c\ud55c. \uc139\uc158 2.1, 2.2, 5 \uc704\ubc18\uc758 \uacbd\uc6b0\ub97c \uc81c\uc678\ud558\uace0, \uc5b4\ub5a0\ud55c \uacbd\uc6b0\uc5d0\ub3c4 \uc5b4\ub290 \ub2f9\uc0ac\uc790\ub3c4 \uc774\uc775 \uc190\uc2e4 \ub610\ub294 \uc0ac\uc6a9 \uc190\uc2e4 \ub610\ub294 \ub370\uc774\ud130 \uc190\uc2e4\uc5d0 \ub300\ud55c \uc190\ud574\ubc30\uc0c1\uc744 \ud3ec\ud568\ud558\ub418 \uc774\uc5d0 \uad6d\ud55c\ub418\uc9c0 \uc54a\ub294 \uac04\uc811\uc801, \ubd80\uc218\uc801, \ud2b9\ubcc4 \ub610\ub294 \uae30\ud0c0 \uacb0\uacfc\uc801 \uc190\ud574\uc5d0 \ub300\ud574 \uacc4\uc57d \ud589\uc704, \ubd88\ubc95 \ud589\uc704 \ub610\ub294 \uae30\ud0c0\uc758 \uacbd\uc6b0\uc5d0 \uc0c1\ub300\ubc29\uc5d0 \ub300\ud574 \ucc45\uc784\uc744 \uc9c0\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc5b4\ub5a0\ud55c \uacbd\uc6b0\uc5d0\ub3c4 DZF\uc758 \ucd1d \ucc45\uc784\uc740 \uacc4\uc57d \ud589\uc704, \ubd88\ubc95 \ud589\uc704 \ub610\ub294 \uae30\ud0c0\uc758 \uacbd\uc6b0\uc5d0 $100\ub97c \ucd08\uacfc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

7. \uc900\uac70\ubc95. \ubcf8 \uacc4\uc57d \ubc0f \ubcf8 \uacc4\uc57d\uacfc \uad00\ub828\ud558\uc5ec \ubc1c\uc0dd\ud558\ub294 \ubaa8\ub4e0 \uc0ac\ud56d\uc740 \ucf00\uc774\ub9e8 \uc81c\ub3c4\uc758 \ubc95\ub960\uc5d0 \ub530\ub77c \uad00\ub9ac, \ud574\uc11d \ubc0f \uad6c\uc131\ub429\ub2c8\ub2e4. \ubcf8 \uacc4\uc57d\uacfc \uad00\ub828\ud558\uc5ec \ubd84\uc7c1\uc774 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0, \ud574\ub2f9 \ub2f9\uc0ac\uc790\ub294 \uc0c1\ub300\ubc29 \ub2f9\uc0ac\uc790\uc5d0\uac8c 30\uc77c\uc758 \ubd84\uc7c1 \ud1b5\uc9c0\ub97c \ud574\uc57c \ud569\ub2c8\ub2e4. \ubd84\uc7c1\uc774 \ud574\uacb0\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0, \ucf00\uc774\ub9e8 \uc81c\ub3c4 \uc870\uc815 \ubc0f \uc911\uc7ac \uc13c\ud130(CI-MAC)\uc5d0 \uc758\ud574 \uad00\ub9ac\ub418\ub294 \uc911\uc7ac\ub85c \ubd84\uc7c1\uc744 \ud574\uacb0\ud569\ub2c8\ub2e4. \uc911\uc7ac\ub294 \ucf00\uc774\ub9e8 \uc81c\ub3c4 \uc870\uc9c0 \ud0c0\uc6b4\uc5d0\uc11c \uc9c4\ud589\ub418\uba70 \ucf00\uc774\ub9e8 \uc81c\ub3c4 \ubc95\ub960\uc774 \uc801\uc6a9\ub429\ub2c8\ub2e4. \uc911\uc7ac \uc5b8\uc5b4\ub294 \uc601\uc5b4\uc785\ub2c8\ub2e4.

8. \uc77c\ubc18 \uc870\ud56d. \ubcf8 \uacc4\uc57d\uc740 DZF\uc758 \uc0ac\uc804 \uc11c\uba74 \ub3d9\uc758 \uc5c6\uc774 \uc0ac\uc6a9\uc790\uac00 \uc591\ub3c4\ud558\uac70\ub098 \uc774\uc804\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. DZF\ub294 \ubcf8 \uacc4\uc57d\uc744 \uc790\uc720\ub86d\uac8c \uc591\ub3c4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubcf8 \uacc4\uc57d\uc5d0 \ub530\ub77c \ubcf4\ub0b4\uc57c \ud558\ub294 \ubaa8\ub4e0 \ud1b5\uc9c0\ub294 \uc774\uba54\uc77c\ub85c \uc804\uc1a1\ub418\uc5b4\uc57c \ud558\uba70(DZF: legal@doublezero.xyz) \uc804\uc1a1 \ub2e4\uc74c \ub0a0\uc5d0 \uc218\uc2e0\ub41c \uac83\uc73c\ub85c \uac04\uc8fc\ub429\ub2c8\ub2e4. \ubcf8 \uacc4\uc57d\uc758 \uc5b4\ub290 \uc870\ud56d\uc774 \ubb34\ud6a8 \ub610\ub294 \uc9d1\ud589 \ubd88\uac00\ub2a5\ud55c \uac83\uc73c\ub85c \ud310\uba85\ub418\ub294 \uacbd\uc6b0 \ubcf8 \uacc4\uc57d\uc758 \ub098\uba38\uc9c0 \uc870\ud56d\uc740 \uc644\uc804\ud55c \ud6a8\ub825\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#ibrl_1","title":"IBRL \ubaa8\ub4dc\ub85c \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0","text":"

Note

IBRL \ubaa8\ub4dc\ub294 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

Solana \ud14c\uc2a4\ud2b8\ub137 \uac80\uc99d\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc790\uc138\ud788 \uc124\uba85\ub41c DoubleZero \ud14c\uc2a4\ud2b8\ub137 \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

\uac01 Solana \uac80\uc99d\uc790\uc5d0\ub294 \uace0\uc720\ud55c \uc2e0\uc6d0 \ud0a4\uc30d\uc774 \uc788\uc73c\uba70, \uc774\ub85c\ubd80\ud130 \ub178\ub4dc ID\ub85c \uc54c\ub824\uc9c4 \uacf5\uac1c \ud0a4\ub97c \ucd94\ucd9c\ud569\ub2c8\ub2e4. \uc774\uac83\uc774 Solana \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \uace0\uc720 \uc9c0\ubb38\uc785\ub2c8\ub2e4.

DoubleZeroID\uc640 \ub178\ub4dc ID\uac00 \ud655\uc778\ub418\uba74 \uae30\uacc4\uc758 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \uac80\uc99d\uc790\uc758 \uc2e0\uc6d0 \ud0a4\ub85c \uc11c\uba85\ub41c DoubleZeroID\ub97c \ud3ec\ud568\ud558\ub294 \uba54\uc2dc\uc9c0\ub97c \uc0dd\uc131\ud558\uc5ec \uc218\ud589\ub429\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc778 \uc554\ud638\ud654 \uc11c\uba85\uc740 \uac80\uc99d\uc790\ub97c \uc81c\uc5b4\ud55c\ub2e4\ub294 \uac80\uc99d \uac00\ub2a5\ud55c \uc99d\uac70\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\ub9c8\uc9c0\ub9c9\uc73c\ub85c DoubleZero\uc5d0 \uc5f0\uacb0 \uc694\uccad\uc744 \uc81c\ucd9c\ud569\ub2c8\ub2e4. \uc774 \uc694\uccad\uc740 \ub2e4\uc74c\uc744 \uc804\ub2ec\ud569\ub2c8\ub2e4: \"\uc81c \uc2e0\uc6d0\uc774 \uc5ec\uae30 \uc788\uace0, \uc18c\uc720\uad8c \uc99d\uac70\uac00 \uc5ec\uae30 \uc788\uc73c\uba70, \uc5f0\uacb0 \ubc29\ubc95\uc774 \uc5ec\uae30 \uc788\uc2b5\ub2c8\ub2e4.\" DoubleZero\ub294 \uc774 \uc815\ubcf4\ub97c \uac80\uc99d\ud558\uace0 \uc99d\uac70\ub97c \uc218\ub77d\ud558\uba70 DoubleZero\uc5d0\uc11c \uac80\uc99d\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c \uc561\uc138\uc2a4\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud569\ub2c8\ub2e4.

\uc774 \uac00\uc774\ub4dc\ub97c \ud1b5\ud574 1\uac1c\uc758 \uae30\ubcf8 \uac80\uc99d\uc790\uac00 \uc790\uc2e0\uc744 \ub4f1\ub85d\ud558\uace0 \ub3d9\uc2dc\uc5d0 \ucd5c\ub300 3\uac1c\uc758 \ubc31\uc5c5/\uc7a5\uc560 \uc870\uce58 \uae30\uacc4\ub97c \ub4f1\ub85d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#_1","title":"\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

Info

\uac80\uc99d\uc790 ID\ub294 Solana \uac00\uc2ed\uc5d0 \ub300\ud574 \ud655\uc778\ub418\uc5b4 \ub300\uc0c1 IP\ub97c \uacb0\uc815\ud569\ub2c8\ub2e4. \ub300\uc0c1 IP\uc640 DoubleZero ID\ub294 \uae30\uacc4\uc640 \ub300\uc0c1 DoubleZero \uc7a5\uce58 \uac04\uc5d0 GRE \ud130\ub110\uc744 \uc5f4 \ub54c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

\uace0\ub824\uc0ac\ud56d: \ub3d9\uc77c\ud55c IP\uc5d0 \uc815\ud06c ID\uc640 \uae30\ubcf8 ID\uac00 \uc788\ub294 \uacbd\uc6b0 \uae30\ubcf8 ID\ub9cc \uae30\uacc4 \ub4f1\ub85d\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc815\ud06c ID\ub294 \uac00\uc2ed\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc73c\ubbc0\ub85c \ub300\uc0c1 \uae30\uacc4\uc758 IP\ub97c \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uae30\uacc4\uc5d0 DoubleZero\uc5d0 \ub300\ud55c \ud130\ub110\uc774 \ud558\ub098\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:
\u2705 doublezerod configured for environment testnet\n

\uc57d 30\ucd08 \ud6c4 DoubleZero \uc7a5\uce58\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uba54\uc778\ub137 \ucd9c\ub825\uc740 \uad6c\uc870\uac00 \ub3d9\uc77c\ud558\uc9c0\ub9cc \ub354 \ub9ce\uc740 \uc7a5\uce58\uac00 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#2-44880","title":"2. \ud3ec\ud2b8 44880 \uc5f4\uae30","text":"

\uc0ac\uc6a9\uc790\ub294 \uc77c\ubd80 \ub77c\uc6b0\ud305 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\uae30 \uc704\ud574 \ud3ec\ud2b8 44880\uc744 \uc5f4\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\ud3ec\ud2b8 44880\uc744 \uc5f4\ub824\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 IP \ud14c\uc774\ube14\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 -i doublezero0, -o doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

\ub610\ub294 UFW\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

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

\uc774 \uaddc\uce59\uc744 DoubleZero \uc778\ud130\ud398\uc774\uc2a4\ub85c\ub9cc \uc81c\ud55c\ud558\ub294 in on doublezero0, out on doublezero0 \ud50c\ub798\uadf8\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.

"},{"location":"ko/DZ%20Testnet%20Connection/#3","title":"3. \uac80\uc99d\uc790 \uc18c\uc720\uad8c \uc99d\uba85","text":"

DoubleZero \ud658\uacbd\uc774 \uc124\uc815\ub418\uc5c8\uc73c\uba74 \uc774\uc81c \uac80\uc99d\uc790 \uc18c\uc720\uad8c\uc744 \uc99d\uba85\ud560 \ucc28\ub840\uc785\ub2c8\ub2e4.

\uae30\ubcf8 \uac80\uc99d\uc790\uc758 \uc124\uc815\uc5d0\uc11c \uc0dd\uc131\ud55c DoubleZero ID\ub294 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.

\uae30\ubcf8 \uae30\uacc4\uc758 ID\ub294 doublezero address\ub85c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub3d9\uc77c\ud55c ID\uac00 \ud074\ub7ec\uc2a4\ud130\uc758 \ubaa8\ub4e0 \uae30\uacc4\uc758 ~/.config/doublezero/id.json\uc5d0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uc774\ub97c \uc704\ud574 \uba3c\uc800 \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uac00 \uae30\ubcf8 \uac80\uc99d\uc790\uc778\uc9c0 \ub2e4\uc74c \uba85\ub839\uc73c\ub85c \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -ut\n

\uc774\ub294 \uac80\uc99d\uc790\uac00 \uac00\uc2ed\uc5d0 \ub4f1\ub85d\ub418\uc5b4 \uc788\uace0 \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \ub098\ud0c0\ub098\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

\ub3d9\uc77c\ud55c \uc6cc\ud06c\ud50c\ub85c\uc6b0\uac00 \ud558\ub098 \ub610\ub294 \uc5ec\ub7ec \uae30\uacc4\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud558\ub098\uc758 \uae30\uacc4\ub97c \ub4f1\ub85d\ud558\ub824\uba74 \ubaa8\ub4e0 \uba85\ub839\uc5d0\uc11c \"--backup-validator-ids\" \ub610\ub294 \"backup_ids=\" \uc778\uc218\ub97c \uc81c\uc678\ud558\uc138\uc694.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790\ub97c \uc2e4\ud589\ud560 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:

doublezero-solana passport find-validator -ut\n

\uc608\uc0c1 \ucd9c\ub825:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
\uc774 \ucd9c\ub825\uc740 \uc608\uc0c1\ub41c \uac83\uc785\ub2c8\ub2e4. \ubc31\uc5c5 \ub178\ub4dc\ub294 \ud328\uc2a4 \uc0dd\uc131 \uc2dc \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774\uc81c \uae30\ubcf8 \uac80\uc99d\uc790 \ud22c\ud45c \uacc4\uc815\uacfc \uc2e0\uc6d0\uc744 \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc778 \ubaa8\ub4e0 \ubc31\uc5c5 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#_2","title":"\uc5f0\uacb0 \uc900\ube44","text":"

\uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc774\ub294 \ud65c\uc131 \uc9c0\ubd84\uc774 \uc788\uace0, \ub9ac\ub354 \uc2a4\ucf00\uc904\uc5d0 \uc788\uc73c\uba70, \uba85\ub839\uc744 \uc2e4\ud589 \uc911\uc778 \uae30\uacc4\uc758 Solana \uac00\uc2ed\uc5d0 \uae30\ubcf8 \uac80\uc99d\uc790 ID\uac00 \uc788\ub294 \uae30\uacc4\uc785\ub2c8\ub2e4:

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

\uc608\uc2dc \ucd9c\ub825:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
\uc774 \uba85\ub839\uc758 \ub05d\uc5d0 \uc788\ub294 \ucd9c\ub825\uc5d0 \uc8fc\ubaa9\ud558\uc138\uc694. \uc774\uac83\uc774 \ub2e4\uc74c \ub2e8\uacc4\uc758 \uad6c\uc870\uc785\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#4","title":"4. \uc11c\uba85 \uc0dd\uc131","text":"

\ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\uc5d0\uc11c solana sign-offchain-message\uc5d0 \ub300\ud55c \ubbf8\ub9ac \ud615\uc2dd\ud654\ub41c \ucd9c\ub825\uc744 \ubc1b\uc558\uc2b5\ub2c8\ub2e4.

\uc704 \ucd9c\ub825\uc5d0\uc11c \uae30\ubcf8 \uac80\uc99d\uc790 \uae30\uacc4\uc5d0\uc11c \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.

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

\ucd9c\ub825:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"ko/DZ%20Testnet%20Connection/#5-doublezero","title":"5. DoubleZero\uc5d0\uc11c \uc5f0\uacb0 \uc694\uccad \uc2dc\uc791","text":"

request-validator-access \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc5f0\uacb0 \uc694\uccad\uc744 \uc704\ud55c Solana \uacc4\uc815\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. DoubleZero Sentinel \uc5d0\uc774\uc804\ud2b8\uac00 \uc0c8 \uacc4\uc815\uc744 \uac10\uc9c0\ud558\uace0 \uc2e0\uc6d0\uacfc \uc11c\uba85\uc744 \uac80\uc99d\ud55c \ud6c4 \uc11c\ubc84\uac00 \uc5f0\uacb0\uc744 \uc124\uc815\ud560 \uc218 \uc788\ub3c4\ub85d DoubleZero\uc5d0 \uc561\uc138\uc2a4 \ud328\uc2a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.

\ub178\ub4dc ID, DoubleZeroID, \uc11c\uba85\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

Note

\uc774 \uc608\uc2dc\uc5d0\uc11c\ub294 \uac80\uc99d\uc790 \uc2e0\uc6d0\uc744 \ucc3e\uae30 \uc704\ud574 -k /home/user/.config/solana/id.json\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub85c\uceec \ubc30\ud3ec\uc5d0 \uc801\ud569\ud55c \uc704\uce58\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.

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

\ucd9c\ub825:

\uc774 \ucd9c\ub825\uc740 Solana \ud0d0\uc0c9\uae30\uc5d0\uc11c \ud2b8\ub79c\uc7ad\uc158\uc744 \ud655\uc778\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud0d0\uc0c9\uae30\ub97c \ud14c\uc2a4\ud2b8\ub137\uc73c\ub85c \ubcc0\uacbd\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774 \ud655\uc778\uc740 \uc120\ud0dd \uc0ac\ud56d\uc785\ub2c8\ub2e4.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

\uc131\uacf5\ud558\uba74 DoubleZero\uac00 \uae30\ubcf8\uc744 \ubc31\uc5c5\uacfc \ud568\uaed8 \ub4f1\ub85d\ud569\ub2c8\ub2e4. \uc774\uc81c \uc561\uc138\uc2a4 \ud328\uc2a4\uc5d0 \ub4f1\ub85d\ub41c IP \uac04\uc5d0 \uc7a5\uc560 \uc870\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. DoubleZero\ub294 \uc774 \ubc29\uc2dd\uc73c\ub85c \ub4f1\ub85d\ub41c \ubc31\uc5c5 \ub178\ub4dc\ub85c \uc804\ud658\ud560 \ub54c \uc790\ub3d9\uc73c\ub85c \uc5f0\uacb0\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

"},{"location":"ko/DZ%20Testnet%20Connection/#6-ibrl","title":"6. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
GRE \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Note

\uc774 \ucd9c\ub825\uc744 \ud655\uc778\ud558\uc138\uc694. Tunnel src\uc640 DoubleZero IP\uac00 \uae30\uacc4\uc758 \uacf5\uac1c IPv4 \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\ub294\uc9c0 \uc8fc\ubaa9\ud558\uc138\uc694.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/DZ%20Testnet%20Connection/#shred","title":"\ub2e4\uc74c \ub2e8\uacc4: \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589","text":"

\uc774 \uc124\uc815\uc744 \uc644\ub8cc\ud558\uace0 \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \ud1b5\ud55c Shred \ubc1c\ud589\uc744 \uacc4\ud68d\ud558\uace0 \uc788\ub2e4\uba74 \ub2e4\uc74c \ud398\uc774\uc9c0\ub85c \uc9c4\ud589\ud558\uc138\uc694.

"},{"location":"ko/New%20Tenant/","title":"\uc0c8 \ud14c\ub10c\ud2b8","text":"

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.

\ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc5d0\uc11c DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub97c \ud65c\uc6a9\ud558\uace0 \uc2f6\uc73c\uc2dc\ub2e4\uba74 \uae30\uc220\uc801\uc778 \uc9c8\ubb38\uc774 \uc788\uc73c\uc2e4 \ub54c \uae30\uaebc\uc774 \ub3c4\uc640\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.

\ubb38\uc758 \uc591\uc2dd

"},{"location":"ko/Other%20Multicast%20Connection/","title":"\uae30\ud0c0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

\uc0ac\uc6a9 \uc0ac\ub840 \uccab \ubc88\uc9f8 \ub2e8\uacc4 \uc2b9\uc778 \ud6c4 \uc5f0\uacb0 \ubc29\ubc95: Jito Shredstream \uad6c\ub3c5 \uc2b9\uc778\uc744 \uc704\ud574 Jito\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694. doublezero connect multicast --subscribe jito-shredstream

\uc790\uc138\ud55c \uc5f0\uacb0 \uc815\ubcf4:

"},{"location":"ko/Other%20Multicast%20Connection/#1-doublezero","title":"1. DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 \uc124\uce58","text":"

\uc124\uc815 \uc9c0\uce68\uc5d0 \ub530\ub77c DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc124\uce58\ud558\uace0 \uad6c\uc131\ud558\uc138\uc694.

"},{"location":"ko/Other%20Multicast%20Connection/#2","title":"2. \uc5f0\uacb0 \uc9c0\uce68","text":"

\uba40\ud2f0\uce90\uc2a4\ud2b8 \ubaa8\ub4dc\ub85c DoubleZero\uc5d0 \uc5f0\uacb0

\ubc1c\ud589\uc790\ub85c:

doublezero connect multicast --publish <\ud53c\ub4dc \uc774\ub984>

\ub610\ub294 \uad6c\ub3c5\uc790\ub85c:

doublezero connect multicast --subscribe <\ud53c\ub4dc \uc774\ub984>

\ub610\ub294 \ubc1c\ud589 \ubc0f \uad6c\ub3c5 \ubaa8\ub450:

doublezero connect multicast --publish <\ud53c\ub4dc \uc774\ub984> --subscribe <\ud53c\ub4dc \uc774\ub984>

\uc5ec\ub7ec \ud53c\ub4dc\ub97c \uad6c\ub3c5\ud558\uac70\ub098 \ubc1c\ud589\ud558\ub824\uba74 \ud53c\ub4dc \uc774\ub984\uc744 \uacf5\ubc31\uc73c\ub85c \uad6c\ubd84\ud558\uc5ec \uc5ec\ub7ec \uac1c \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubc1c\ud589 \ud53c\ub4dc\ub97c \ubc1c\ud589\ud558\uace0 \uad6c\ub3c5\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\uc2dc: doublezero connect multicast --subscribe feed1 feed2 feed3

\ub2e4\uc74c\uacfc \uc720\uc0ac\ud55c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"ko/Other%20Multicast%20Connection/#3","title":"3. \ud65c\uc131 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0 \ud655\uc778","text":"

60\ucd08 \uae30\ub2e4\ub9b0 \ud6c4 \uc2e4\ud589\ud558\uc138\uc694:

doublezero status\n
\uc608\uc0c1 \uacb0\uacfc: - \uc62c\ubc14\ub978 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c BGP \uc138\uc158 \ud65c\uc131\ud654 - \ubc1c\ud589\uc790\uc778 \uacbd\uc6b0 DoubleZero IP\uac00 \ud130\ub110 \uc18c\uc2a4 IP\uc640 \ub2e4\ub985\ub2c8\ub2e4. \uc774\ub294 \uc608\uc0c1\ub41c \uacb0\uacfc\uc785\ub2c8\ub2e4. - \uad6c\ub3c5\uc790\ub9cc\uc778 \uacbd\uc6b0 DoubleZero IP\uac00 \ud130\ub110 \uc18c\uc2a4 IP\uc640 \ub3d9\uc77c\ud569\ub2c8\ub2e4.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

\uc5f0\uacb0\ub41c \uadf8\ub8f9 \ud655\uc778:

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"ko/Permissioned%20Connection/","title":"\ube44\uac80\uc99d\uc790\ub97c \uc704\ud55c IBRL \ubaa8\ub4dc \ud5c8\uac00\ub41c DoubleZero \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/Permissioned%20Connection/#_1","title":"\ud5c8\uac00\ub41c \uc0ac\uc6a9\uc790 \uc628\ubcf4\ub529 \uac1c\uc694","text":"

\ud604\uc7ac \ube44\uac80\uc99d\uc790 \ubc0f RPC\uc5d0 \ub300\ud55c \uc0ac\uc6a9\uc790 \uc628\ubcf4\ub529\uc740 \ud5c8\uac00\uc81c\uc785\ub2c8\ub2e4. \ud5c8\uac00\ub41c \ud750\ub984\uc744 \uc2dc\uc791\ud558\ub824\uba74 \uc774 \uc591\uc2dd\uc744 \uc791\uc131\ud558\uc138\uc694. \uc774 \uacfc\uc815\uc5d0\uc11c \uc608\uc0c1\ub418\ub294 \uc0ac\ud56d\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:

"},{"location":"ko/Permissioned%20Connection/#ibrl-mainnet-beta-testnet","title":"IBRL \ubaa8\ub4dc\ub85c Mainnet-Beta \ubc0f Testnet\uc5d0 \uc5f0\uacb0","text":"

Note

IBRL \ubaa8\ub4dc\ub294 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uac80\uc99d\uc790 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

\ud5c8\uac00\ub41c \uc0ac\uc6a9\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc124\uba85\ub41c DoubleZero Mainnet-beta \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

"},{"location":"ko/Permissioned%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 DoubleZero\uc5d0 \ud55c \uac1c\uc758 \ud130\ub110\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
DoubleZero mainnet-beta\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero) \ubc0f \ub370\ubaac(doublezerod)\uc744 \uad6c\uc131\ud558\ub824\uba74:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

\u2705 doublezerod configured for environment mainnet-beta\n
\ub2e4\uc74c \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4: \u2705 doublezerod configured for environment testnet

\uc57d 30\ucd08 \ud6c4 DoubleZero \uc7a5\uce58\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

doublezero latency\n
\uc608\uc2dc \ucd9c\ub825 (\ud14c\uc2a4\ud2b8\ub137)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
\ud14c\uc2a4\ud2b8\ub137 \ucd9c\ub825\uc740 \uad6c\uc870\uac00 \ub3d9\uc77c\ud558\uc9c0\ub9cc \ud6e8\uc52c \ub354 \ub9ce\uc740 \uc7a5\uce58\uac00 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\uc5d0 \uc5f0\ub77d","text":"

DoubleZero Foundation\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694. DoubleZeroID, \uac80\uc99d\uc790 ID(\ub178\ub4dc ID), \uadf8\ub9ac\uace0 \uc5f0\uacb0\ud560 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub97c \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Permissioned%20Connection/#3-ibrl","title":"3. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
\ucd9c\ub825:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/Permissioned%20Connection/#_2","title":"\ub2e4\uc74c \ub2e8\uacc4: \uba40\ud2f0\uce90\uc2a4\ud2b8","text":"

\uc774 \uc124\uc815\uc744 \uc644\ub8cc\ud558\uace0 \uba40\ud2f0\uce90\uc2a4\ud2b8\ub97c \uc0ac\uc6a9\ud560 \uacc4\ud68d\uc774\ub77c\uba74 \ub2e4\uc74c \ud398\uc774\uc9c0\ub85c \uc9c4\ud589\ud558\uc138\uc694.

"},{"location":"ko/Shelby%20Permissioned%20Connection/","title":"Shelby \ud14c\uc2a4\ud2b8\ub137 \uc0ac\uc6a9\uc790\ub97c \uc704\ud55c IBRL \ubaa8\ub4dc DoubleZero \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/Shelby%20Permissioned%20Connection/#doublezeroid","title":"DoubleZeroID \ubc1b\uae30","text":"

DoubleZeroID\uc640 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub97c \uc774 \uc591\uc2dd\uc5d0 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Shelby%20Permissioned%20Connection/#ibrl","title":"IBRL \ubaa8\ub4dc\ub85c \ud14c\uc2a4\ud2b8\ub137\uc5d0 \uc5f0\uacb0","text":"

Shelby \ud5c8\uac00\ub41c \uc0ac\uc6a9\uc790\ub294 \uc774 \ud398\uc774\uc9c0\uc5d0 \uc124\uba85\ub41c DoubleZero \ud14c\uc2a4\ud2b8\ub137 \uc5f0\uacb0\uc744 \uc644\ub8cc\ud569\ub2c8\ub2e4.

"},{"location":"ko/Shelby%20Permissioned%20Connection/#1","title":"1. \ud658\uacbd \uad6c\uc131","text":"

\uc9c4\ud589\ud558\uae30 \uc804\uc5d0 \uc124\uc815 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

\uc124\uc815\uc758 \ub9c8\uc9c0\ub9c9 \ub2e8\uacc4\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\ub294 \uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub294 DoubleZero\uc5d0 \ud55c \uac1c\uc758 \ud130\ub110\ub9cc \uc5f4\ub824 \uc788\uace0 \ud574\ub2f9 \ud130\ub110\uc774 \uc62c\ubc14\ub978 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\ub3c4\ub85d \ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

DoubleZero\uc5d0\uc11c Shelby \ud14c\ub10c\ud2b8\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 CLI(doublezero)\ub97c \uad6c\uc131\ud558\ub824\uba74:

doublezero config set --tenant shelby\n

Shelby\uc5d0 \ud2b9\uc815\ud55c \ucd94\uac00 \ubc29\ud654\ubcbd \uaddc\uce59 \uc801\uc6a9:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"ko/Shelby%20Permissioned%20Connection/#2-doublezero-foundation","title":"2. DoubleZero Foundation\uc5d0 \uc5f0\ub77d","text":"

DoubleZero Foundation\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694. DoubleZeroID\uc640 \uc5f0\uacb0\ud560 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub97c \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Shelby%20Permissioned%20Connection/#3-ibrl","title":"3. IBRL \ubaa8\ub4dc\ub85c \uc5f0\uacb0","text":"

\uc11c\ubc84\uc5d0\uc11c DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc0ac\uc6a9\uc790\ub85c connect \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc5d0 \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc138\uc694.

doublezero connect ibrl\n

\ub2e4\uc74c\uacfc \uac19\uc740 \ud504\ub85c\ube44\uc800\ub2dd\uc744 \ub098\ud0c0\ub0b4\ub294 \ucd9c\ub825\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
\ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 1\ubd84 \uae30\ub2e4\ub9ac\uc138\uc694. \ud130\ub110\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc0c1\ud0dc \ucd9c\ub825\uc774 \"down\" \ub610\ub294 \"Unknown\"\uc744 \ubc18\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc5f0\uacb0\uc744 \ud655\uc778\ud558\uc138\uc694:

doublezero status\n

\ucd9c\ub825:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
up \uc0c1\ud0dc\ub294 \uc131\uacf5\uc801\uc73c\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.

\ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc5ec DoubleZero\uc758 \ub2e4\ub978 \uc0ac\uc6a9\uc790\uac00 \uc804\ud30c\ud55c \uacbd\ub85c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4:

ip route\n
\ucd9c\ub825:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"ko/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

\ucf54\ub4dc \ub610\ub294 \uad00\ub828 \uc790\ub8cc\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \uba74\ucc45 \uc870\ud56d\uc744 \uac80\ud1a0\ud558\uc138\uc694.

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.

\uba74\ucc45 \uc870\ud56d

\uc774 \ubb38\uc11c\uc640 \uad00\ub828 \ucf54\ub4dc\ub294 \uc815\ubcf4 \ubc0f \uae30\uc220\uc801 \ubaa9\uc801\uc73c\ub85c\ub9cc \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc124\uba85\ub41c \ud1a0\ud070 \ubcc0\ud658 \uae30\ub2a5\uc740 \ube44\uc218\ud0c1\ud615\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uae30\ubcf8 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uacfc \uc9c1\uc811 \uc0c1\ud638 \uc791\uc6a9\ud558\uba70 \ud56d\uc0c1 \uc790\uc0b0\uc5d0 \ub300\ud55c \uc644\uc804\ud55c \ud1b5\uc81c\uad8c\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

\uc774 \uc2dc\uc2a4\ud15c\uc740 \uac1c\ubc1c\uc790 \ub610\ub294 \uac8c\uc2dc\uc790\uac00 \uac1c\ubc1c, \uc81c\uc5b4 \ub610\ub294 \uac80\ud1a0\ud558\uc9c0 \uc54a\uc740 \uc81c3\uc790 \ucf54\ub4dc, \ub370\uc774\ud130 \uc18c\uc2a4 \ub610\ub294 \uac00\uaca9 \ubc0f \uc218\uc218\ub8cc \uba54\ucee4\ub2c8\uc998(\uc608: \uc2a4\ub9c8\ud2b8 \uacc4\uc57d, API \ub610\ub294 \ud0c8\uc911\uc559\ud654 \uac70\ub798\uc18c)\uc5d0 \uc758\uc874\ud558\uac70\ub098 \uc0c1\ud638 \uc791\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc81c3\uc790 \uad6c\uc131 \uc694\uc18c\uc758 \uc815\ud655\uc131, \uae30\ub2a5 \ub610\ub294 \ubcf4\uc548\uc5d0 \ub300\ud55c \uc5b4\ub5a0\ud55c \ubcf4\uc99d\uc774\ub098 \ubcf4\uc7a5\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc815\ud655\uc131, \uc644\uc804\uc131 \ub610\ub294 \uc9c0\uc18d\uc801\uc778 \uac00\uc6a9\uc131\uc744 \ubcf4\uc7a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ubc0f \uad00\ub828 \uc790\ub8cc\ub294 \"\uc788\ub294 \uadf8\ub300\ub85c\" \uc81c\uacf5\ub418\uba70 \ubc84\uadf8, \uc624\ub958 \ub610\ub294 \ucde8\uc57d\uc810\uc774 \ud3ec\ud568\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc740 \uc804\uc801\uc73c\ub85c \uadc0\ud558\uc758 \ucc45\uc784\uc785\ub2c8\ub2e4. \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc774 \uacc4\uc57d\uc758 \uc0ac\uc6a9\uacfc \uad00\ub828\ud558\uc5ec \uc5b4\ub5a0\ud55c \uc218\uc218\ub8cc\ub3c4 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ub610\ub294 \uad00\ub828 \ubb38\uc11c\ub97c \uc720\uc9c0, \uc5c5\ub370\uc774\ud2b8 \ub610\ub294 \uc9c0\uc6d0\ud560 \uc758\ubb34\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774 \ubb38\uc11c\ub294 \ud1a0\ud070 \ubcc0\ud658, \uc2a4\uc651 \ub610\ub294 \uae30\ud0c0 \uac70\ub798\uc5d0 \ub9e4\ub3c4 \uc81c\uc548, \ub9e4\uc218 \uad8c\uc720 \ub610\ub294 \ucc38\uc5ec \uad8c\uc7a5\uc73c\ub85c \uad6c\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubc95\uc801, \uc7ac\uc815\uc801 \ub610\ub294 \ud22c\uc790 \uc870\uc5b8\uc740 \uc81c\uacf5\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ud65c\ub3d9\uc758 \ud569\ubc95\uc131\uc744 \uacb0\uc815\ud560 \uc804\uc801\uc778 \ucc45\uc784\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \uad00\ud560 \uc9c0\uc5ed\uc5d0\uc11c \uc801\uc6a9 \uac00\ub2a5\ud55c \ubc95\ub960\uacfc \uaddc\uc815\uc744 \uac80\ud1a0\ud558\uace0 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 \ubcc0\ud658\uc5d0 \ucc38\uc5ec\ud558\uae30 \uc804\uc5d0 \ub3c5\ub9bd\uc801\uc778 \uc5b4\ub4dc\ubc14\uc774\uc800\uc640 \uc0c1\ub2f4\ud574\uc57c \ud569\ub2c8\ub2e4. \uc81c\uc7ac \ub300\uc0c1 \ub610\ub294 \uc81c\ud55c\ub41c \uad00\ud560 \uc9c0\uc5ed\uc758 \uc0ac\ub78c \ub610\ub294 \uc8fc\uccb4\ub97c \ud3ec\ud568\ud558\uc5ec \ubd88\ubc95\uc774 \ub420 \uacbd\uc6b0 \uc0ac\uc6a9\uc774 \uae08\uc9c0\ub429\ub2c8\ub2e4.

\ubc95\ub960\uc774 \ud5c8\uc6a9\ud558\ub294 \ucd5c\ub300\ud55c\ub3c4 \ub0b4\uc5d0\uc11c \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \ucf54\ub4dc \uc0ac\uc6a9 \ub610\ub294 \ubcc0\ud658 \ucc38\uc5ec\uc640 \uad00\ub828\ud558\uc5ec \ubc1c\uc0dd\ud558\ub294 \uc190\uc2e4, \uc190\ud574 \ub610\ub294 \uccad\uad6c\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ucc45\uc784\uc744 \uba74\ucc45\ud569\ub2c8\ub2e4.

\uc774 \ubb38\uc11c \ubc0f \uad00\ub828 \ucf54\ub4dc\uc758 \uac80\ud1a0 \ubc0f \uc0ac\uc6a9\uc740 \uc6f9\uc0ac\uc774\ud2b8 \uc774\uc6a9\uc57d\uad00 \ubc0f \ud504\ub85c\ud1a0\ucf5c \uc774\uc6a9\uc57d\uad00\uc5d0 \ub530\ub985\ub2c8\ub2e4.

DoubleZero \ud504\ub85c\ud1a0\ucf5c\uc740 \uac80\uc99d\uc790 \uc0ac\uc6a9\uc790\ub85c\ubd80\ud130 SOL \ub2e8\uc704\uc758 \uc218\uc775\uc744 \uc218\uc9d1\ud558\uc9c0\ub9cc \uae30\uc5ec\uc790\uc5d0\uac8c 2Z \ub2e8\uc704\uc758 \ubcf4\uc0c1\uc744 \ubc30\ud3ec\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c SOL\uc744 2Z\ub85c \ubcc0\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.

\uc774\ub97c \uc704\ud574 \uc801\uaca9 \ucc38\uc5ec\uc790\ub294 DoubleZero \uc2a4\uc651 \uacc4\uc57d\uc5d0 \ub300\ud574 \uac70\ub798\ud558\uc5ec \uacc4\uc57d\uc5d0\uc11c SOL\uc744 \uad6c\ub9e4\ud558\uace0 2Z\ub97c \ud310\ub9e4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uac00\uaca9\uc740 Pyth \uac00\uaca9 \ud53c\ub4dc\uc640 \ud504\ub85c\uadf8\ub798\ub9e4\ud2f1 \ud560\uc778 \uba54\ucee4\ub2c8\uc998\uc744 \uae30\ubc18\uc73c\ub85c \ud569\ub2c8\ub2e4.

\uc774 \uc9e7\uc740 \uac00\uc774\ub4dc\ub294 \ud504\ub85c\uadf8\ub7a8 \uc0ac\uc6a9 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4.

\ucf54\ub4dc \ub610\ub294 \uad00\ub828 \uc790\ub8cc\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \uc774 \ubb38\uc11c \ub05d\uc5d0 \uc788\ub294 \uba74\ucc45 \uc870\ud56d\uc744 \uac80\ud1a0\ud558\uc138\uc694.

"},{"location":"ko/Swapping-sol-to-2z/#_1","title":"\ud504\ub85c\uadf8\ub7a8 \uc124\uacc4","text":"

\uc2a4\uc651 \ud504\ub85c\uadf8\ub7a8\uc740 \uac70\ub798\ub2f9 1 SOL\uc758 \uace0\uc815 \ubc30\uce58 \ud06c\uae30\ub85c SOL\uc744 \ud310\ub9e4\ud558\ub294 \ub2e8\ubc29\ud5a5 \uc720\ub3d9\uc131 \ud480\uc785\ub2c8\ub2e4. \uc801\uaca9 \ucc38\uc5ec\uc790\ub294 \uc624\ub77c\ud074 \uac00\uaca9\uacfc \ub3d9\uc801 \ud560\uc778\uc5d0 \uc758\ud574 \uacb0\uc815\ub418\ub294 \uac00\uaca9\uc73c\ub85c 2Z\ub97c \uc608\uce58\ud558\uc5ec \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c SOL\uc744 \uc778\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \uc774\ub294 \ub124\uc774\ud2f0\ube0c \ud1a0\ud070\uc744 2Z\ub85c \uc804\ud658\ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc758 \ubaa9\ud45c\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.

\uc0ac\uc6a9\ud558\ub824\uba74 \ud2b8\ub808\uc774\ub354\uac00 \ub450 \uac1c\uc758 \ucd5c\uadfc Pyth \uac00\uaca9(SOL/USD \ubc0f 2Z/USD)\uacfc 2Z \uc218\ub7c9\uc744 \uc81c\uacf5\ud574\uc57c \ud569\ub2c8\ub2e4. \uadf8\ub7ec\uba74 \ud504\ub85c\uadf8\ub7a8\uc740 \ub0b4\ud3ec\ub41c SOL/2Z \uac00\uaca9\uc744 \uae30\ubc18\uc73c\ub85c 1 SOL \uad6c\ub9e4\uc5d0 \ud544\uc694\ud55c 2Z\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \uba87 \uac00\uc9c0 \ucd94\uac00 \ub2e8\uacc4\ub97c \uc218\ud589\ud569\ub2c8\ub2e4:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\uc774 \uc2dc\uc810\uc5d0\uc11c \ud2b8\ub808\uc774\ub354\uac00 \uc774 \uacc4\uc0b0\ub41c \uac00\uaca9(\ud560\uc778 \ud3ec\ud568)\uc73c\ub85c \ud2b8\ub79c\uc7ad\uc158\uc744 \uc2e4\ud589\ud558\uae30\uc5d0 \ucda9\ubd84\ud55c 2Z\ub97c \uc81c\uacf5\ud588\ub2e4\uba74, \uc774 \uacc4\uc0b0\ub41c \uac00\uaca9\uc73c\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4. \ud2b8\ub808\uc774\ub354\uc5d0\uac8c \uad6c\ub9e4\ud55c SOL \uc218\ub7c9\uacfc \ucd08\uacfc 2Z\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.

\uadf8\ub7f0 \ub2e4\uc74c \uacc4\uc57d\uc740 \ud574\ub2f9 \uc2ac\ub86f\uc5d0 \ub300\ud574 \ub354 \uc774\uc0c1 \uac70\ub798\ub97c \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub294 Pyth \uac00\uaca9\uc774 \ud604\uc7ac \uae30\uc874 \ud544\ud130\uac00 \uc7a1\uc9c0 \ubabb\ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ud2b9\uc815 \uc2dc\uc810\uc758 \uc2e4\uc81c \uac00\uaca9\uacfc \uba40\ub9ac \ub5a8\uc5b4\uc838 \uc788\uc744 \uacbd\uc6b0 \uacc4\uc57d\uc774 \uacfc\ub3c4\ud558\uac8c \ub192\uc740 \uc2ac\ub9ac\ud53c\uc9c0\ub97c \uc9c0\ubd88\ud558\ub294 \uac83\uc744 \ubc29\uc9c0\ud558\uae30 \uc704\ud55c \uac83\uc785\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#_2","title":"\uac00\uc2a4 \uc5c6\ub294 \uc6d0\uc790\uc801 \uc2e4\ud589","text":"

\uc774 \uc139\uc158\uc5d0\uc11c\ub294 harvest-dz \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc790\uc138\ud788 \uc124\uba85\ud569\ub2c8\ub2e4. \uc774 \uba85\ub839\uc740 2\uac00\uc9c0 \uc791\uc5c5\uc744 \uc6d0\uc790\uc801\uc73c\ub85c \uc218\ud589\ud569\ub2c8\ub2e4. 1. \uba85\ub839\uc774 Jupiter\uc5d0\uc11c \ub124\uc774\ud2f0\ube0c SOL <> 2Z \ubcc0\ud658 \ud504\ub85c\uadf8\ub7a8 \ub300\ube44 \uacac\uc801\uc744 \uc694\uccad\ud569\ub2c8\ub2e4. 2. Jupiter \uacbd\ub85c\uac00 \ub124\uc774\ud2f0\ube0c \ubcc0\ud658 \ud504\ub85c\uadf8\ub7a8\uc774 \uc694\uad6c\ud558\ub294 \uac83\ubcf4\ub2e4 SOL\ub2f9 \ub354 \ub9ce\uc740 2Z\ub97c \uc0dd\uc131\ud560 \ub54c, harvest-2z\ub294 \uc2a4\uc651\uc744 \uc2e4\ud589\ud558\uc5ec \uc9c0\uac11\uc5d0 1 SOL\uacfc 2Z\uc758 \ucc28\uc774\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

\uc2e4\ud589\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc138\uc694:

doublezero-solana revenue-distribution harvest-2z\n
\ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud569\ub2c8\ub2e4:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
\uba85\ub839\uc740 --dry-run \uc778\uc218\ub85c \uc2dc\ubbac\ub808\uc774\uc158\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ub4dc\ub77c\uc774\ub7f0\uc740 \ud504\ub85c\uadf8\ub7a8 \ub85c\uadf8\uc640 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud55c \ucd9c\ub825\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"ko/Swapping-sol-to-2z/#_3","title":"\ud504\ub85c\ud1a0\ucf5c \ubcc0\ud658","text":"

\uc774 \uc139\uc158\uc5d0\uc11c\ub294 doublezero-solana CLI\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud658\uc728\uc744 \ud655\uc778\ud558\uace0 \ubcc0\ud658\uc744 \uc2e4\ud589\ud558\ub294 \ubc29\ubc95\uc744 \uc124\uba85\ud569\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc5d0\ub294 DoubleZero \uc2a4\uc651 \uacc4\uc57d\uacfc\uc758 \ub9de\ucda4\ud615 \ud1b5\ud569\uc744 \uc704\ud55c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc124\uba85\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#doublezero-solana-sol2z","title":"doublezero-solana\ub97c \ud1b5\ud574 SOL/2Z \ud658\uc728 \ud655\uc778 \ubc29\ubc95","text":"

\uba54\uc778\ub137-\ubca0\ud0c0\uc758 SOL/2Z \ud658\uc728\uc744 \ucc3e\uc73c\ub824\uba74 \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc138\uc694:

doublezero-solana revenue-distribution fetch sol-conversion\n

\ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud569\ub2c8\ub2e4:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

\uc800\ub110 \uc794\uc561\uc740 \uc218\uc775 \ubc30\ubd84 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc5d0 \uc5bc\ub9c8\ub098 \ub9ce\uc740 SOL \uc720\ub3d9\uc131\uc774 \uc788\ub294\uc9c0 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc54c\ub9bd\ub2c8\ub2e4. \uc800\ub110 \uc794\uc561\uc774 1 SOL\uc758 \uace0\uc815 \uac70\ub798 \ud06c\uae30\ub97c \ucd08\uacfc\ud558\ub294 \ud55c \uc0ac\uc6a9\uc790\ub294 \uac70\ub798\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uccab \ubc88\uc9f8 \ud589\uc740 \uc624\ud504\uccb4\uc778 \uc624\ub77c\ud074\uc744 \ud1b5\ud55c \"\uc2e4\uc81c\" SOL/2Z \ud658\uc728\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4. \ub450 \ubc88\uc9f8 \ud589\uc740 \uc2a4\uc651\uc5d0 \uc628\uccb4\uc778\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \ud658\uc728\ub85c, \ub2e8\uc21c\ud788 \uc54c\uace0\ub9ac\uc998 \ud560\uc778\uc5d0 \ub300\ud55c \uc2e4\uc81c \uac00\uaca9\uc744 \uc870\uc815\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#doublezero-solana-2z-sol","title":"doublezero-solana\ub97c \ud1b5\ud574 2Z\ub97c SOL\ub85c \ubcc0\ud658\ud558\ub294 \ubc29\ubc95","text":"

2Z \ud1a0\ud070\uc744 SOL\ub85c \ubcc0\ud658\ud558\ub824\uba74 \ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc138\uc694:

doublezero-solana revenue-distribution convert-2z\n

\uae30\ubcf8\uc801\uc73c\ub85c \ucda9\ubd84\ud55c SOL \uc720\ub3d9\uc131\uc774 \uc788\uace0 ATA\uc5d0 \uc2a4\uc651\uc744 \uc218\ud589\ud560 \ucda9\ubd84\ud55c 2Z\uac00 \uc788\uc73c\uba74 \uc774 \ud2b8\ub79c\uc7ad\uc158\uc774 \uc131\uacf5\ud569\ub2c8\ub2e4. \ub2e4\uc74c \uc778\uc218\ub97c \uc9c0\uc815\ud558\uc5ec \uc2a4\uc651\uc744 \ub354 \uc138\ubc00\ud558\uac8c \uc870\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

      --limit-price <DECIMAL>                    \ud604\uc7ac SOL/2Z \uc624\ub77c\ud074 \uac00\uaca9\uc744 \uae30\ubcf8\uac12\uc73c\ub85c \ud558\ub294 \uc9c0\uc815\uac00\n      --source-2z-account <PUBKEY>               \ud1a0\ud070 \uacc4\uc815\uc740 \uc11c\uba85\uc790\uac00 \uc18c\uc720\ud574\uc57c \ud569\ub2c8\ub2e4. \uc9c0\uc815\ud558\uc9c0 \uc54a\uc73c\uba74 \uc11c\uba85\uc790 ATA\ub85c \uae30\ubcf8 \uc124\uc815\ub429\ub2c8\ub2e4.\n      --checked-sol-amount <SOL>                 SOL \uae08\uc561\uc744 \uba85\uc2dc\uc801\uc73c\ub85c \ud655\uc778\ud569\ub2c8\ub2e4. \uc9c0\uc815\ub41c \uacbd\uc6b0 \uc774 \uae08\uc561\uc774 \uace0\uc815 \ucc44\uc6c0 \uc218\ub7c9\uacfc \ube44\uad50\ud558\uc5ec \ud655\uc778\ub429\ub2c8\ub2e4.\n

\uc9c0\uc815\ub41c \uc9c0\uc815\uac00\ub294 SOL/2Z \ubcc0\ud658\uc744 \uc218\ud589\ud560 \ub54c \uc218\ub77d\ud560 \ucd5c\uc545\uc758 \uacbd\uc6b0 \uac00\uaca9\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 SOL\uc5d0 \ub300\ud55c \ud560\uc778\ub41c 2Z \uac00\uaca9\uc774 800\uc774\ub77c\uace0 \uac00\uc815\ud569\uc2dc\ub2e4. \uc989, 1 SOL\uc5d0 2Z \ud1a0\ud070 800\uac1c\uc785\ub2c8\ub2e4. \uc9c0\uc815\uac00\ub97c 790\uc73c\ub85c \uc9c0\uc815\ud558\uba74 \ucd5c\ub300 790\uac1c\uc758 2Z \ud1a0\ud070\ub9cc \uc2a4\uc651\ud558\ub3c4\ub85d \uc694\uad6c\ud558\uae30 \ub54c\ubb38\uc5d0 \uc2a4\uc651\uc744 \uc218\ud589\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 810\uc744 \uc9c0\uc815\ud558\uba74 \ucd5c\ub300 810\uac1c\uc758 2Z \ud1a0\ud070\uc744 \uc2a4\uc651\ud560 \uc758\ud5a5\uc774 \uc788\uc5c8\uc73c\ubbc0\ub85c \uac70\ub798\uac00 \uc774\ub8e8\uc5b4\uc9d1\ub2c8\ub2e4(\uc774 \uacbd\uc6b0 \uc774 \ud2b8\ub79c\uc7ad\uc158\uc5d0\uc11c 2Z \ud1a0\ud070 800\uac1c\ub9cc \uc2a4\uc651\ub429\ub2c8\ub2e4).

\uc18c\uc2a4 2Z \ud1a0\ud070 \uacc4\uc815\uc740 \uc774 2Z ATA\uc758 \uc18c\uc720\uc790\ub85c \uc11c\uba85\uc790\ub97c \uc0ac\uc6a9\ud558\ub294 \uae30\ubcf8 ATA\ub97c \uc7ac\uc815\uc758\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc2a4\uc651\uc744 \uc218\ud589\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub824\ub294 \ub2e4\ub978 \ud1a0\ud070 \uacc4\uc815\uc774 \uc788\ub294 \uacbd\uc6b0 \uc774 \uc778\uc218\uc640 \ud568\uaed8 \ud574\ub2f9 \uacf5\uac1c \ud0a4\ub97c \uc81c\uacf5\ud558\uc138\uc694.

\uc120\ud0dd\uc801\uc73c\ub85c, \ud655\uc778\ub41c SOL \uae08\uc561\uc744 \ud45c\uc900 \ucc44\uc6c0 \ud06c\uae30(\ucd9c\uc2dc \uc2dc 1 SOL\ub85c \uc124\uc815\ub428)\uc5d0 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud504\ub85c\uadf8\ub7a8\uc758 \ucc44\uc6c0 \ud06c\uae30\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc73c\uba74 \uc2a4\uc651\uc774 \uc2e4\ud328\ud569\ub2c8\ub2e4. \uc774\ub294 \ud504\ub85c\uadf8\ub7a8\uc758 \ucc44\uc6c0 \ud06c\uae30\uac00 \ubcc0\uacbd\ub418\uace0 \uadc0\ud558\uac00 \uc54c\uc544\ucc28\ub9ac\uc9c0 \ubabb\ud558\ub294 \uc704\ud5d8\uc744 \uc644\ud654\ud569\ub2c8\ub2e4.

"},{"location":"ko/Swapping-sol-to-2z/#sol","title":"SOL \uad6c\ub9e4 \uc778\ud130\ud398\uc774\uc2a4","text":"

\uc778\ud130\ud398\uc774\uc2a4\uc640 doublezero-solana CLI\ub294 \uc774 \uc800\uc7a5\uc18c\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. DoubleZero \uc2a4\uc651 \uacc4\uc57d \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc18c\uc2a4 \ucf54\ub4dc\ub294 \uc5ec\uae30\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud504\ub85c\uadf8\ub7a8 ID\ub294 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs\uc785\ub2c8\ub2e4.

buy SOL \uba85\ub839\uc5d0 \ud544\uc694\ud55c \uacc4\uc815\uc744 \uc0dd\uc131\ud558\ub294 \ud3b8\ub9ac\ud55c \ubc29\ubc95\uc740 instruction/account.rs\uc5d0 \uc788\ub294 new \uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4.

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key\ub294 ProgramState\uc5d0\uc11c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // \uc774 \ud0a4\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

\ub300\uc548\uc73c\ub85c \ud310\ubcc4\uc790\ub97c \uc0ac\uc6a9\ud558\uc5ec Solana RPC\ub97c \ud1b5\ud574 getProgramAccounts\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc774 \uacf5\uac1c \ud0a4\ub294 \uc808\ub300 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uce90\uc2dc\ud558\ub294 \uac83\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4.

user_key\ub294 buy SOL \uba85\ub839\uc758 \uc11c\uba85\uc790\uc774\uba70 user_token_account_key\uc758 \uc18c\uc720\uc790\uc5ec\uc57c \ud569\ub2c8\ub2e4. \uc704\uc5d0\uc11c \uc124\uba85\ud55c \ubc14\uc640 \uac19\uc774 \uc774\uac83\uc740 ATA\uc77c \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. 2Z \ud1a0\ud070 \uacc4\uc815\uc774 user_key\uac00 \uc18c\uc720\ud558\ub294 \ud55c \uc774 \uba85\ub839\uc774 \uc131\uacf5\ud569\ub2c8\ub2e4.

BuySolAccounts \uad6c\uc870\uccb4\ub294 Into<Vec<AccountMeta>>\ub97c \uad6c\ud604\ud558\ubbc0\ub85c \uba85\ub839\uc744 \ube4c\ub4dc\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \uacc4\uc815 \uba54\ud0c0\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uba85\ub839 \ub370\uc774\ud130\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

\uc774 \uba85\ub839 \ub370\uc774\ud130\ub294 Borsh \uc9c1\ub82c\ud654\ub418\uace0 8\ubc14\uc774\ud2b8 Anchor \uc120\ud0dd\uc790\uac00 \uc788\uc73c\uba70, \uc774\ub294 BorshSerialize::serialize\ub97c \uc0ac\uc6a9\ud560 \ub54c \ubaa8\ub450 \uc9c1\ub82c\ud654\ub429\ub2c8\ub2e4.

\uc624\ub77c\ud074 \uac00\uaca9 \ub370\uc774\ud130\ub294 \uc774 \uacf5\uac1c \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc5d0\uc11c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. \ub370\uc774\ud130\ub294 oracle.rs\uc5d0 \uc788\ub294 OraclePriceData \uad6c\uc870\uccb4\ub97c \uc0ac\uc6a9\ud558\uc5ec serde \uc5ed\uc9c1\ub82c\ud654 \uac00\ub2a5\ud569\ub2c8\ub2e4.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

reqwest \ud06c\ub808\uc774\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac00\uc838\uc624\ub294 \ubc29\ubc95 \uc608\uc2dc:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

\ud504\ub85c\uadf8\ub7a8 ID, \uacc4\uc815 \ubc0f \uba85\ub839 \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec DoubleZero \uc2a4\uc651 \uacc4\uc57d\uc5d0\uc11c SOL\uc744 \uad6c\ub9e4\ud558\ub294 \uba85\ub839\uc744 \ube4c\ub4dc\ud560 \uc218 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/Validator%20Multicast%20Connection/","title":"\uac80\uc99d\uc790 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0","text":"

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\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

\uc544\uc9c1 DoubleZero\uc5d0 \uc5f0\uacb0\ub418\uc9c0 \uc54a\uc558\ub2e4\uba74 \uc124\uc815 \ubc0f Mainnet-Beta \uac80\uc99d\uc790 \uc5f0\uacb0 \ubb38\uc11c\ub97c \uc644\ub8cc\ud558\uc138\uc694.

\uc774\ubbf8 DoubleZero\uc5d0 \uc5f0\uacb0\ub41c \uac80\uc99d\uc790\ub77c\uba74 \uc774 \uac00\uc774\ub4dc\ub97c \uacc4\uc18d \uc9c4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/Validator%20Multicast%20Connection/#jito-agave-319","title":"Jito-Agave (\ubc84\uc804 3.1.9 \uc774\uc0c1)","text":"
  1. \uac80\uc99d\uc790 \uc2dc\uc791 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \ub2e4\uc74c\uc744 \ucd94\uac00\ud558\uc138\uc694: --shred-receiver-address 233.84.178.1:7733

    Jito\uc640 bebop \uadf8\ub8f9\uc5d0 \ub3d9\uc2dc\uc5d0 \ubcf4\ub0bc \uc218 \uc788\uc2b5\ub2c8\ub2e4.

    \uc608\uc2dc:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...\ub098\uba38\uc9c0 \uc124\uc815...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. \uac80\uc99d\uc790\ub97c \uc7ac\uc2dc\uc791\ud558\uc138\uc694.

  3. DoubleZero \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 bebop\uc5d0 \ubc1c\ud589\uc790\ub85c \uc5f0\uacb0\ud558\uc138\uc694: doublezero connect multicast --publish bebop

"},{"location":"ko/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. config.toml\uc5d0 \ub2e4\uc74c\uc744 \ucd94\uac00\ud558\uc138\uc694:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. \uac80\uc99d\uc790\ub97c \uc7ac\uc2dc\uc791\ud558\uc138\uc694.

  3. DoubleZero \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 bebop\uc5d0 \ubc1c\ud589\uc790\ub85c \uc5f0\uacb0\ud558\uc138\uc694: doublezero connect multicast --publish bebop

Note

XDP \ub4dc\ub77c\uc774\ubc84 \ubaa8\ub4dc\uc758 Frankendancer \uc0ac\uc6a9\uc790\ub294 tcpdump\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ud604\uc7ac \ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud560 \ubc29\ubc95\uc774 \uc5c6\uc9c0\ub9cc \uace7 \ud574\uacb0\ucc45\uc774 \uc81c\uacf5\ub420 \uc608\uc815\uc785\ub2c8\ub2e4.

"},{"location":"ko/Validator%20Multicast%20Connection/#_2","title":"\ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778","text":"

\ub2e4\uc74c \ub9ac\ub354 \uc2ac\ub86f\uc5d0\uc11c tcpdump\ub97c \uc0ac\uc6a9\ud558\uc5ec \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud558\uc138\uc694. \ubc1c\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574 10\ucd08\ub9c8\ub2e4 \ud558\ud2b8\ube44\ud2b8\uac00 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uc2e4\ud589: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

\ubc1c\ud589 \uc911\uc77c \ub54c\uc758 \uc608\uc2dc \ucd9c\ub825:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"ko/architecture/","title":"\uc544\ud0a4\ud14d\ucc98","text":"

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 \ub124\ud2b8\uc6cc\ud06c\uc758 \ub2e4\uc591\ud55c \ud589\uc704\uc790\uc640 \uad6c\uc131 \uc694\uc18c\ub294 \ubb34\uc5c7\uc778\uac00\uc694?

\uadf8\ub9bc 1: \ub124\ud2b8\uc6cc\ud06c \uc544\ud0a4\ud14d\ucc98 \uad6c\uc131 \uc694\uc18c"},{"location":"ko/architecture/#_2","title":"\uae30\uc5ec\uc790","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \uc804 \uc138\uacc4 \ub3c4\uc2dc\uc5d0 \uc788\ub294 \uc131\uc7a5\ud558\ub294 \ubd84\uc0b0 \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4 \ucee4\ubba4\ub2c8\ud2f0\uc758 \uc5f0\uacb0 \ubc0f \ud328\ud0b7 \ucc98\ub9ac \uae30\uc5ec\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub4e4\uc740 \ubd84\uc0b0 \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \uad11\uc12c\uc720 \ucf00\uc774\ube14 \ub9c1\ud06c\uc640 \uc815\ubcf4 \ucc98\ub9ac \ub9ac\uc18c\uc2a4\ub97c \ud504\ub85c\ud1a0\ucf5c\uc5d0 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_3","title":"\ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec\uc790","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub450 \uc9c0\uc810 \uac04\uc5d0 \uc804\uc6a9 \ub300\uc5ed\ud3ed\uc744 \uc81c\uacf5\ud558\uace0, \uac01 \ub05d\uc5d0\uc11c DoubleZero \ud638\ud658 \uc7a5\uce58(DZD)\ub97c \uc6b4\uc601\ud558\uba70, \uac01 \ub05d\uc5d0\uc11c \uc778\ud130\ub137\uc5d0 \uc5f0\uacb0\ud574\uc57c \ud569\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub610\ud55c \uba40\ud2f0\uce90\uc2a4\ud2b8, \uc0ac\uc6a9\uc790 \uc870\ud68c, \uc5e3\uc9c0 \ud544\ud130\ub9c1 \uc11c\ube44\uc2a4\uc640 \uac19\uc740 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \uac01 DZD\uc5d0\uc11c DoubleZero \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud574\uc57c \ud569\ub2c8\ub2e4.

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \ubb3c\ub9ac\uc801 \ub9c1\ud06c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud30c\uc7a5 \uc11c\ube44\uc2a4\ub77c\uace0 \ud558\ub294 \uad11\uc12c\uc720 \ucf00\uc774\ube14 \ud615\ud0dc\ub85c \uc81c\uacf5\ub429\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4\ub85c\ubd80\ud130 \uc18c\uc720\ud558\uac70\ub098 \uc784\ub300\ud55c \ubbf8\ud65c\uc6a9 \ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\ub97c \ub450 \uac1c \uc774\uc0c1\uc758 \ub370\uc774\ud130 \uc13c\ud130 \uc0ac\uc774\uc5d0 \uae30\uc5ec\ud569\ub2c8\ub2e4. \uc774 \ub9c1\ud06c\ub294 DoubleZero \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc778\uc2a4\ud134\uc2a4\ub97c \uc2e4\ud589\ud558\ub294 \ubb3c\ub9ac\uc801 \ub124\ud2b8\uc6cc\ud06c \uc2a4\uc704\uce6d \uc778\ud074\ub85c\uc800\uc778 DoubleZero \uc7a5\uce58\uc5d0 \uc758\ud574 \uc591\ucabd \ub05d\uc5d0\uc11c \uc885\ub2e8\ub429\ub2c8\ub2e4.

"},{"location":"ko/architecture/#doublezero-exchange-dzx","title":"DoubleZero Exchange (DZX / \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8 \uc0ac\uc774\ud2b8)","text":"

DoubleZero Exchange(DZX)\ub294 \uc11c\ub85c \ub2e4\ub978 \uae30\uc5ec\uc790 \ub9c1\ud06c\uac00 \uc5f0\uacb0\ub418\ub294 \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\uc758 \uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810\uc785\ub2c8\ub2e4. DZX\ub294 \ub124\ud2b8\uc6cc\ud06c \uad50\ucc28\uc810\uc774 \ubc1c\uc0dd\ud558\ub294 \uc804 \uc138\uacc4 \uc8fc\uc694 \ub3c4\uc2dc \uc9c0\uc5ed\uc5d0 \uc704\uce58\ud569\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub9c1\ud06c \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc5d0 \uc9c0\ub9ac\uc801\uc73c\ub85c \uac00\uc7a5 \uac00\uae4c\uc6b4 DZX\uc5d0\uc11c \ub9c1\ud06c\ub97c \ub354 \uad11\ubc94\uc704\ud55c DoubleZero \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_4","title":"\ucef4\ud4e8\ud305 \ub9ac\uc18c\uc2a4 \uae30\uc5ec\uc790","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc640 \ubcc4\ub3c4\ub85c \ub9ac\uc18c\uc2a4 \uae30\uc5ec\uc790\ub294 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \uae30\uc220\uc801 \ubb34\uacb0\uc131\uacfc \uc9c0\uc18d\uc801\uc778 \uae30\ub2a5\uc131\uc744 \uc720\uc9c0\ud558\ub294 \ub370 \ud544\uc694\ud55c \ub2e4\uc591\ud55c \uc720\uc9c0\ubcf4\uc218 \ubc0f \ubaa8\ub2c8\ud130\ub9c1 \uc758\ubb34\ub97c \uc218\ud589\ud558\ub294 \ubd84\uc0b0\ub41c \ub124\ud2b8\uc6cc\ud06c \ucc38\uc5ec\uc790 \uadf8\ub8f9\uc785\ub2c8\ub2e4. \uad6c\uccb4\uc801\uc73c\ub85c \uc774\ub4e4\uc740 (i) \uc0ac\uc6a9\uc790 \ud2b8\ub79c\uc7ad\uc158 \ubc0f \uacb0\uc81c\ub97c \ucd94\uc801\ud558\uace0, (ii) \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc758 \uc218\uc218\ub8cc\ub97c \uacc4\uc0b0\ud558\uba70, (iii) (i)\uc640 (ii)\uc758 \uacb0\uacfc\ub97c \uae30\ub85d\ud558\uace0, (iv) \ud504\ub85c\ud1a0\ucf5c \ud1a0\ud070\uacbd\uc81c\ub97c \uc81c\uc5b4\ud558\ub294 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc744 \uc5c4\uaca9\ud558\uac8c \ube44\uc7ac\ub7c9\uc801 \uae30\ubc18\uc73c\ub85c \uad00\ub9ac\ud558\uba70, (v) \ud574\ub2f9 \ube14\ub85d\uccb4\uc778\uc5d0 \uc99d\uba85\uc744 \ub9b4\ub808\uc774\ud558\uace0, (vi) \ubaa8\ub4e0 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc5d0\uac8c \ud22c\uba85\ud558\uace0 \uc2e4\uc2dc\uac04 \uc131\ub2a5 \uc9c0\ud45c\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \ub9c1\ud06c \ud488\uc9c8 \ubc0f \ud65c\uc6a9\ub3c4\uc5d0 \uad00\ud55c \ud154\ub808\uba54\ud2b8\ub9ac \ub370\uc774\ud130\ub97c \uac8c\uc2dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_5","title":"\uad6c\uc131 \uc694\uc18c","text":""},{"location":"ko/architecture/#doublezero","title":"DoubleZero \ub370\ubaac","text":"

DoubleZero \ub370\ubaac \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud574 \ud1b5\uc2e0\ud574\uc57c \ud558\ub294 \uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4. \ub370\ubaac\uc740 \ud130\ub110 \uc778\ud130\ud398\uc774\uc2a4, \ub77c\uc6b0\ud305 \ud14c\uc774\ube14 \ubc0f \uacbd\ub85c\ub97c \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud558\uae30 \uc704\ud574 \ud638\uc2a4\ud2b8\uc758 \ucee4\ub110 \ub124\ud2b8\uc6cc\ud0b9 \uc2a4\ud0dd\uacfc \uc778\ud130\ud398\uc774\uc2a4\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#activator","title":"\ud65c\uc131\ud654\uae30 (Activator)","text":"

DoubleZero \ucee4\ubba4\ub2c8\ud2f0\uc758 \ud558\ub098 \uc774\uc0c1\uc758 \ucef4\ud4e8\ud305 \ub9ac\uc18c\uc2a4 \uae30\uc5ec \uba64\ubc84\uac00 \ud638\uc2a4\ud305\ud558\ub294 \ud65c\uc131\ud654\uae30 \uc11c\ube44\uc2a4\ub294 IP \uc8fc\uc18c \ud560\ub2f9 \ubc0f \uc0c1\ud0dc \ubcc0\uacbd\uc774 \ud544\uc694\ud55c \uacc4\uc57d \uc774\ubca4\ud2b8\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \ub124\ud2b8\uc6cc\ud06c\ub97c \ub300\uc2e0\ud558\uc5ec \ud574\ub2f9 \ubcc0\uacbd\uc744 \uad00\ub9ac\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_6","title":"\ucee8\ud2b8\ub864\ub7ec","text":"

DoubleZero \ucee4\ubba4\ub2c8\ud2f0\uc758 \ud558\ub098 \uc774\uc0c1\uc758 \ucef4\ud4e8\ud305 \ub9ac\uc18c\uc2a4 \uae30\uc5ec\uc790\uac00 \ud638\uc2a4\ud305\ud558\ub294 \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\ub294 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d \uc774\ubca4\ud2b8\ub97c \uae30\ubc18\uc73c\ub85c \ud604\uc7ac \uad6c\uc131\uc744 \ub80c\ub354\ub9c1\ud558\uae30 \uc704\ud55c DoubleZero \uc7a5\uce58 \uc5d0\uc774\uc804\ud2b8\uc758 \uad6c\uc131 \uc778\ud130\ud398\uc774\uc2a4 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_7","title":"\uc5d0\uc774\uc804\ud2b8","text":"

\uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 DoubleZero \uc7a5\uce58\uc5d0\uc11c \uc9c1\uc811 \uc2e4\ud589\ub418\uba70 \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\uc5d0\uc11c \ud574\uc11d\ud55c \ub300\ub85c \uc7a5\uce58\uc5d0 \uad6c\uc131 \ubcc0\uacbd\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 \uad6c\uc131 \ubcc0\uacbd\uc744 \uc704\ud574 \ucee8\ud2b8\ub864\ub7ec\ub97c \ud3f4\ub9c1\ud558\uace0, \uc7a5\uce58 \uc0c1\ud0dc\uc758 \uc815\uaddc \uc628\uccb4\uc778 \ubc84\uc804\uacfc \uc7a5\uce58\uc758 \ud65c\uc131 \uad6c\uc131 \uac04\uc758 \ucc28\uc774\ub97c \uacc4\uc0b0\ud558\uba70, \ud65c\uc131 \uad6c\uc131\uc744 \uc870\uc815\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubcc0\uacbd\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/architecture/#_8","title":"\uc7a5\uce58","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \ub77c\uc6b0\ud305 \ubc0f \ub9c1\ud06c \uc885\ub2e8\uc744 \uc81c\uacf5\ud558\ub294 \ubb3c\ub9ac\uc801 \uc7a5\uce58 \uc778\ud074\ub85c\uc800\uc785\ub2c8\ub2e4. DZD\ub294 DoubleZero \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud558\uba70 \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\uc5d0\uc11c \uc77d\uc740 \ub370\uc774\ud130\ub97c \uae30\ubc18\uc73c\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4.

"},{"location":"ko/connect/","title":"Connect","text":"

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.

\ub9ac\ub514\ub809\uc158\ub418\uc9c0 \uc54a\uc73c\uba74 \uc5ec\uae30\ub97c \ud074\ub9ad\ud558\uc138\uc694.

"},{"location":"ko/contribute-operations/","title":"\uae30\uc5ec\uc790\ub97c \uc704\ud55c \uc6b4\uc601 \uac00\uc774\ub4dc","text":"

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.

\uc774 \uac00\uc774\ub4dc\ub294 \uc5d0\uc774\uc804\ud2b8 \uc5c5\uadf8\ub808\uc774\ub4dc, \uc7a5\uce58/\uc778\ud130\ud398\uc774\uc2a4 \uc5c5\ub370\uc774\ud2b8 \ubc0f \ub9c1\ud06c \uad00\ub9ac\ub97c \ud3ec\ud568\ud558\uc5ec DoubleZero \uc7a5\uce58(DZD)\ub97c \uc720\uc9c0\ud558\uae30 \uc704\ud55c \uc9c0\uc18d\uc801\uc778 \uc6b4\uc601 \uc791\uc5c5\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.

\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d: \uc774 \uac00\uc774\ub4dc\ub97c \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \ub2e4\uc74c\uc744 \uc644\ub8cc\ud574\uc57c \ud569\ub2c8\ub2e4:

"},{"location":"ko/contribute-operations/#_2","title":"\uc7a5\uce58 \uc5c5\ub370\uc774\ud2b8","text":"

\ucd08\uae30 \ud504\ub85c\ube44\uc800\ub2dd \ud6c4 \uc7a5\uce58 \uc124\uc815\uc744 \uc218\uc815\ud558\ub824\uba74 doublezero device update\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

\uc77c\ubc18\uc801\uc778 \uc5c5\ub370\uc774\ud2b8 \uc635\uc158:

\uc635\uc158 \uc124\uba85 --device-type <TYPE> \uc6b4\uc601 \ubaa8\ub4dc \ubcc0\uacbd: hybrid, transit, edge (\uc7a5\uce58 \uc720\ud615 \ucc38\uc870) --location <LOCATION> \uc7a5\uce58\ub97c \ub2e4\ub978 \uc704\uce58\ub85c \uc774\ub3d9 --metrics-publisher <PUBKEY> \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4 \ubcc0\uacbd"},{"location":"ko/contribute-operations/#_3","title":"\uc778\ud130\ud398\uc774\uc2a4 \uc5c5\ub370\uc774\ud2b8","text":"

\uae30\uc874 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc218\uc815\ud558\ub824\uba74 doublezero device interface update\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774 \uba85\ub839\uc740 interface create\uc640 \ub3d9\uc77c\ud55c \uc635\uc158\uc744 \ud5c8\uc6a9\ud569\ub2c8\ub2e4.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

CYOA/DIA \uc124\uc815\uc744 \ud3ec\ud568\ud55c \uc804\uccb4 \uc778\ud130\ud398\uc774\uc2a4 \uc635\uc158 \ubaa9\ub85d\uc740 \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131\uc744 \ucc38\uc870\ud558\uc138\uc694.

\uc608\uc2dc - \uae30\uc874 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 CYOA \uc124\uc815 \ucd94\uac00:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"ko/contribute-operations/#_4","title":"\uc778\ud130\ud398\uc774\uc2a4 \ubaa9\ub85d","text":"
doublezero device interface list              # \ubaa8\ub4e0 \uc7a5\uce58\uc758 \ubaa8\ub4e0 \uc778\ud130\ud398\uc774\uc2a4\ndoublezero device interface list <DEVICE>     # \ud2b9\uc815 \uc7a5\uce58\uc758 \uc778\ud130\ud398\uc774\uc2a4\n
"},{"location":"ko/contribute-operations/#config-agent","title":"Config Agent \uc5c5\uadf8\ub808\uc774\ub4dc","text":"

\uc0c8 \ubc84\uc804\uc758 Config Agent\uac00 \ucd9c\uc2dc\ub418\uba74 \ub2e4\uc74c \ub2e8\uacc4\uc5d0 \ub530\ub77c \uc5c5\uadf8\ub808\uc774\ub4dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#1","title":"1. \ucd5c\uc2e0 \ubc84\uc804 \ub2e4\uc6b4\ub85c\ub4dc","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ko/contribute-operations/#2","title":"2. \uc5d0\uc774\uc804\ud2b8 \uc885\ub8cc","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#3","title":"3. \uc774\uc804 \ubc84\uc804 \uc81c\uac70","text":"

\uba3c\uc800 \uc774\uc804 \ubc84\uc804\uc758 \ud30c\uc77c\uba85\uc744 \ucc3e\uc2b5\ub2c8\ub2e4:

switch# show extensions\n

\ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \uc774\uc804 \ubc84\uc804\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4. <OLD_VERSION>\uc744 \uc704 \ucd9c\ub825\uc758 \uc774\uc804 \ubc84\uc804\uc73c\ub85c \uad50\uccb4\ud569\ub2c8\ub2e4:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ko/contribute-operations/#4","title":"4. \uc0c8 \ubc84\uc804 \uc124\uce58","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-operations/#5","title":"5. \uc5d0\uc774\uc804\ud2b8 \uc5b8\uc167","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#6","title":"6. \uc5c5\uadf8\ub808\uc774\ub4dc \ud655\uc778","text":"

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4.

switch# show extensions\n

"},{"location":"ko/contribute-operations/#7-config-agent","title":"7. Config Agent \ub85c\uadf8 \ucd9c\ub825 \ud655\uc778","text":"
show agent doublezero-agent log\n
"},{"location":"ko/contribute-operations/#telemetry-agent","title":"Telemetry Agent \uc5c5\uadf8\ub808\uc774\ub4dc","text":"

\uc0c8 \ubc84\uc804\uc758 Telemetry Agent\uac00 \ucd9c\uc2dc\ub418\uba74 \ub2e4\uc74c \ub2e8\uacc4\uc5d0 \ub530\ub77c \uc5c5\uadf8\ub808\uc774\ub4dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#1_1","title":"1. \ucd5c\uc2e0 \ubc84\uc804 \ub2e4\uc6b4\ub85c\ub4dc","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"ko/contribute-operations/#2_1","title":"2. \uc5d0\uc774\uc804\ud2b8 \uc885\ub8cc","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#3_1","title":"3. \uc774\uc804 \ubc84\uc804 \uc81c\uac70","text":"

\uba3c\uc800 \uc774\uc804 \ubc84\uc804\uc758 \ud30c\uc77c\uba85\uc744 \ucc3e\uc2b5\ub2c8\ub2e4:

switch# show extensions\n

\ub2e4\uc74c \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc5ec \uc774\uc804 \ubc84\uc804\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4. <OLD_VERSION>\uc744 \uc704 \ucd9c\ub825\uc758 \uc774\uc804 \ubc84\uc804\uc73c\ub85c \uad50\uccb4\ud569\ub2c8\ub2e4:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"ko/contribute-operations/#4_1","title":"4. \uc0c8 \ubc84\uc804 \uc124\uce58","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-operations/#5_1","title":"5. \uc5d0\uc774\uc804\ud2b8 \uc5b8\uc167","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"ko/contribute-operations/#6_1","title":"6. \uc5c5\uadf8\ub808\uc774\ub4dc \ud655\uc778","text":"

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4.

switch# show extensions\n

"},{"location":"ko/contribute-operations/#7-telemetry-agent","title":"7. Telemetry Agent \ub85c\uadf8 \ucd9c\ub825 \ud655\uc778","text":"
show agent doublezero-telemetry log\n
"},{"location":"ko/contribute-operations/#_5","title":"\ubaa8\ub2c8\ud130\ub9c1","text":"

\u26a0\ufe0f \uc911\uc694:

  1. \uc544\ub798 \uad6c\uc131 \uc608\uc2dc\uc758 \uacbd\uc6b0 \uc5d0\uc774\uc804\ud2b8\uac00 \uad00\ub9ac VRF\ub97c \uc0ac\uc6a9\ud558\ub294\uc9c0 \uc5ec\ubd80\uc5d0 \uc8fc\uc758\ud558\uc138\uc694.
  2. \uad6c\uc131 \uc5d0\uc774\uc804\ud2b8\uc640 \ud154\ub808\uba54\ud2b8\ub9ac \uc5d0\uc774\uc804\ud2b8\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \uba54\ud2b8\ub9ad \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uc5d0 \ub3d9\uc77c\ud55c \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8(:8080)\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ub458 \ub2e4\uc5d0\uc11c \uba54\ud2b8\ub9ad\uc744 \ud65c\uc131\ud654\ud558\ub294 \uacbd\uc6b0 -metrics-addr \ud50c\ub798\uadf8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac01 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uace0\uc720\ud55c \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8\ub97c \uc124\uc815\ud558\uc138\uc694.
"},{"location":"ko/contribute-operations/#config-agent_1","title":"Config Agent \uba54\ud2b8\ub9ad","text":"

DoubleZero \uc7a5\uce58\uc758 \uad6c\uc131 \uc5d0\uc774\uc804\ud2b8\ub294 doublezero-agent \ub370\ubaac \uad6c\uc131\uc5d0\uc11c -metrics-enable \ud50c\ub798\uadf8\ub97c \uc124\uc815\ud558\uc5ec Prometheus \ud638\ud658 \uba54\ud2b8\ub9ad\uc744 \ub178\ucd9c\ud558\ub294 \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uae30\ubcf8 \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8\ub294 tcp/8080\uc774\uc9c0\ub9cc -metrics-addr\ub97c \ud1b5\ud574 \ud658\uacbd\uc5d0 \ub9de\uac8c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

go \ud2b9\uc815 \ub7f0\ud0c0\uc784 \uba54\ud2b8\ub9ad\uacfc \ud568\uaed8 \ub2e4\uc74c DoubleZero \ud2b9\uc815 \uba54\ud2b8\ub9ad\uc774 \ub178\ucd9c\ub429\ub2c8\ub2e4:

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"ko/contribute-operations/#_6","title":"\uace0\uc2e0\ud638 \uc624\ub958","text":""},{"location":"ko/contribute-operations/#telemetry-agent_1","title":"Telemetry Agent \uba54\ud2b8\ub9ad","text":"

DoubleZero \uc7a5\uce58\uc758 \ud154\ub808\uba54\ud2b8\ub9ac \uc5d0\uc774\uc804\ud2b8\ub294 doublezero-telemetry \ub370\ubaac \uad6c\uc131\uc5d0\uc11c -metrics-enable \ud50c\ub798\uadf8\ub97c \uc124\uc815\ud558\uc5ec Prometheus \ud638\ud658 \uba54\ud2b8\ub9ad\uc744 \ub178\ucd9c\ud558\ub294 \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uae30\ubcf8 \ub9ac\uc2a4\ub2dd \ud3ec\ud2b8\ub294 tcp/8080\uc774\uc9c0\ub9cc -metrics-addr\ub97c \ud1b5\ud574 \ud658\uacbd\uc5d0 \ub9de\uac8c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

go \ud2b9\uc815 \ub7f0\ud0c0\uc784 \uba54\ud2b8\ub9ad\uacfc \ud568\uaed8 \ub2e4\uc74c DoubleZero \ud2b9\uc815 \uba54\ud2b8\ub9ad\uc774 \ub178\ucd9c\ub429\ub2c8\ub2e4:

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"ko/contribute-operations/#_7","title":"\uace0\uc2e0\ud638 \uc624\ub958","text":""},{"location":"ko/contribute-operations/#_8","title":"\ub9c1\ud06c \uad00\ub9ac","text":""},{"location":"ko/contribute-operations/#_9","title":"\ub9c1\ud06c \ub4dc\ub808\uc774\ub2dd","text":"

\ub9c1\ud06c \ub4dc\ub808\uc774\ub2dd\uc744 \ud1b5\ud574 \uae30\uc5ec\uc790\ub294 \uc720\uc9c0\ubcf4\uc218 \ub610\ub294 \ubb38\uc81c \ud574\uacb0\uc744 \uc704\ud574 \ub9c1\ud06c\ub97c \ud65c\uc131 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc815\uc0c1\uc801\uc73c\ub85c \uc81c\uac70\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub450 \uac00\uc9c0 \ub4dc\ub808\uc778 \uc0c1\ud0dc\uac00 \uc788\uc2b5\ub2c8\ub2e4:

\uc0c1\ud0dc IS-IS \ub3d9\uc791 \uc124\uba85 soft-drained \uba54\ud2b8\ub9ad\uc744 1,000,000\uc73c\ub85c \uc124\uc815 \ub9c1\ud06c\uac00 \uc6b0\uc120\uc21c\uc704\uc5d0\uc11c \uc81c\uc678\ub429\ub2c8\ub2e4. \ub300\uccb4 \uacbd\ub85c\uac00 \uc788\uc73c\uba74 \ud2b8\ub798\ud53d\uc774 \ub2e4\ub978 \uacbd\ub85c\ub97c \uc0ac\uc6a9\ud558\uc9c0\ub9cc \uc774 \ub9c1\ud06c\uac00 \uc720\uc77c\ud55c \uc635\uc158\uc778 \uacbd\uc6b0 \uc5ec\uc804\ud788 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. hard-drained \ud328\uc2dc\ube0c\ub85c \uc124\uc815 \ub9c1\ud06c\uac00 \ub77c\uc6b0\ud305\uc5d0\uc11c \uc644\uc804\ud788 \uc81c\uac70\ub429\ub2c8\ub2e4. \uc774 \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc774 \ud1b5\uacfc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},{"location":"ko/contribute-operations/#_10","title":"\uc0c1\ud0dc \uc804\ud658","text":"

\ub2e4\uc74c \uc0c1\ud0dc \uc804\ud658\uc774 \ud5c8\uc6a9\ub429\ub2c8\ub2e4:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (\uba3c\uc800 soft-drained\ub97c \ud1b5\ud574\uc57c \ud568)\n

\u26a0\ufe0f \ucc38\uace0: hard-drained\uc5d0\uc11c activated\ub85c \uc9c1\uc811 \uc774\ub3d9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uba3c\uc800 soft-drained\ub85c \uc804\ud658\ud55c \ub2e4\uc74c activated\ub85c \uc804\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#_11","title":"\ub9c1\ud06c \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778","text":"

\ub9c1\ud06c\ub97c \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778\ud558\uba74 IS-IS \uba54\ud2b8\ub9ad\uc744 1,000,000\uc73c\ub85c \uc124\uc815\ud558\uc5ec \ub9c1\ud06c\uc758 \uc6b0\uc120\uc21c\uc704\ub97c \ub0ae\ucda5\ub2c8\ub2e4. \ud2b8\ub798\ud53d\uc740 \ub300\uccb4 \uacbd\ub85c\ub97c \uc120\ud638\ud558\uc9c0\ub9cc \ud544\uc694\ud55c \uacbd\uc6b0 \uc774 \ub9c1\ud06c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"ko/contribute-operations/#_12","title":"\ub9c1\ud06c \ud558\ub4dc \ub4dc\ub808\uc778","text":"

\ub9c1\ud06c\ub97c \ud558\ub4dc \ub4dc\ub808\uc778\ud558\uba74 IS-IS\ub97c \ud328\uc2dc\ube0c \ubaa8\ub4dc\ub85c \uc124\uc815\ud558\uc5ec \ub77c\uc6b0\ud305\uc5d0\uc11c \ub9c1\ud06c\ub97c \uc644\uc804\ud788 \uc81c\uac70\ud569\ub2c8\ub2e4. \uc774 \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc774 \ud1b5\uacfc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"ko/contribute-operations/#_13","title":"\ub9c1\ud06c\ub97c \ud65c\uc131 \uc0c1\ud0dc\ub85c \ubcf5\uc6d0","text":"

\ub4dc\ub808\uc778\ub41c \ub9c1\ud06c\ub97c \uc815\uc0c1 \uc6b4\uc601\uc73c\ub85c \ub418\ub3cc\ub9ac\ub824\uba74:

# soft-drained\uc5d0\uc11c\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# hard-drained\uc5d0\uc11c (\uba3c\uc800 soft-drained\ub97c \ud1b5\ud574\uc57c \ud568)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"ko/contribute-operations/#_14","title":"\uc9c0\uc5f0 \uc7ac\uc815\uc758","text":"

\uc9c0\uc5f0 \uc7ac\uc815\uc758 \uae30\ub2a5\uc744 \ud1b5\ud574 \uae30\uc5ec\uc790\ub294 \uc2e4\uc81c \uce21\uc815 \uc9c0\uc5f0 \uac12\uc744 \uc218\uc815\ud558\uc9c0 \uc54a\uace0 \ub9c1\ud06c\uc758 \uc720\ud6a8 \uc9c0\uc5f0\uc744 \uc77c\uc2dc\uc801\uc73c\ub85c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ub9c1\ud06c\ub97c \uae30\ubcf8 \uacbd\ub85c\uc5d0\uc11c \ubcf4\uc870 \uacbd\ub85c\ub85c \uc77c\uc2dc\uc801\uc73c\ub85c \uac15\ub4f1\ud558\ub294 \ub370 \uc720\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#_15","title":"\uc9c0\uc5f0 \uc7ac\uc815\uc758 \uc124\uc815","text":"

\ub9c1\ud06c\uc758 \uc9c0\uc5f0\uc744 \uc7ac\uc815\uc758\ud558\ub824\uba74(\ub77c\uc6b0\ud305\uc5d0\uc11c \ub35c \uc120\ud638\ub418\ub3c4\ub85d):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

\uc720\ud6a8\ud55c \uac12\uc740 0.01\uc5d0\uc11c 1000 \ubc00\ub9ac\ucd08\uc785\ub2c8\ub2e4.

"},{"location":"ko/contribute-operations/#_16","title":"\uc9c0\uc5f0 \uc7ac\uc815\uc758 \ud574\uc81c","text":"

\uc7ac\uc815\uc758\ub97c \uc81c\uac70\ud558\uace0 \uc2e4\uc81c \uce21\uc815 \uc9c0\uc5f0\uc73c\ub85c \ub3cc\uc544\uac00\ub824\uba74:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f \ucc38\uace0: \ub9c1\ud06c\uac00 \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778\ub420 \ub54c delay_ms\uc640 delay_override_ms \ubaa8\ub450 \uc6b0\uc120\uc21c\uc704 \ud574\uc81c\ub97c \ubcf4\uc7a5\ud558\uae30 \uc704\ud574 1000ms(1\ucd08)\ub85c \uc7ac\uc815\uc758\ub429\ub2c8\ub2e4.

"},{"location":"ko/contribute-overview/","title":"\uae30\uc5ec\uc790 \ubb38\uc11c","text":"

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.

\uc6a9\uc5b4

DoubleZero\uac00 \ucc98\uc74c\uc774\uc2e0\uac00\uc694? DZD, DZX, CYOA\uc640 \uac19\uc740 \ud575\uc2ec \uc6a9\uc5b4\uc758 \uc815\uc758\ub294 \uc6a9\uc5b4\uc9d1\uc744 \ucc38\uc870\ud558\uc138\uc694.

DoubleZero \uae30\uc5ec\uc790 \ubb38\uc11c\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4. \uc774 \uc139\uc158\uc5d0\uc11c\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \ub418\uae30 \uc704\ud574 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac83\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \ub418\uace0 \uc2f6\uc73c\uc2e0\uac00\uc694?

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uae30\uc5ec\ud558\ub294 \ub370 \ud544\uc694\ud55c \ud558\ub4dc\uc6e8\uc5b4, \ub300\uc5ed\ud3ed \ubc0f \uc5f0\uacb0\uc131\uc744 \uc774\ud574\ud558\ub824\uba74 \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98 \ud398\uc774\uc9c0\ub97c \uac80\ud1a0\ud558\uc138\uc694.

"},{"location":"ko/contribute-overview/#_2","title":"\uc628\ubcf4\ub529 \uccb4\ud06c\ub9ac\uc2a4\ud2b8","text":"

\uc774 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc9c4\ud589 \uc0c1\ud669\uc744 \ucd94\uc801\ud558\uc138\uc694. \uae30\uc5ec\uac00 \uae30\uc220\uc801\uc73c\ub85c \uc6b4\uc601\ub418\uae30 \uc804\uc5d0 \ubaa8\ub4e0 \ud56d\ubaa9\uc744 \uc644\ub8cc\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-overview/#1","title":"\ub2e8\uacc4 1: \uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute-overview/#2","title":"\ub2e8\uacc4 2: \uacc4\uc815 \uc124\uc815","text":""},{"location":"ko/contribute-overview/#3","title":"\ub2e8\uacc4 3: \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd","text":""},{"location":"ko/contribute-overview/#4","title":"\ub2e8\uacc4 4: \ub9c1\ud06c \uc124\uc815 \ubc0f \uc5d0\uc774\uc804\ud2b8 \uc124\uce58","text":""},{"location":"ko/contribute-overview/#5","title":"\ub2e8\uacc4 5: \ub9c1\ud06c \ubc88\uc778","text":""},{"location":"ko/contribute-overview/#6","title":"\ub2e8\uacc4 6: \uac80\uc99d \ubc0f \ud65c\uc131\ud654","text":""},{"location":"ko/contribute-overview/#_3","title":"\ub3c4\uc6c0 \ubc1b\uae30","text":"

\uc628\ubcf4\ub529\uc758 \uc77c\ud658\uc73c\ub85c DZF\uac00 \uae30\uc5ec\uc790 Slack \ucc44\ub110\uc5d0 \ucd94\uac00\ud574 \ub4dc\ub9bd\ub2c8\ub2e4:

\ucc44\ub110 \ubaa9\uc801 #dz-contributor-announcements DZF \ubc0f Malbec Labs\uc758 \uacf5\uc2dd \ucee4\ubba4\ub2c8\ucf00\uc774\uc158 \u2014 CLI/\uc5d0\uc774\uc804\ud2b8 \uc5c5\ub370\uc774\ud2b8, \uc8fc\uc694 \ubcc0\uacbd \uc0ac\ud56d, \ubcf4\uc548 \uacf5\uc9c0. \uc911\uc694 \uc5c5\ub370\uc774\ud2b8 \ubaa8\ub2c8\ud130\ub9c1. \uc2a4\ub808\ub4dc\uc5d0\uc11c \uc9c8\ubb38 \uac00\ub2a5. #dz-contributor-incidents \uc11c\ube44\uc2a4\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce58\ub294 \uacc4\ud68d\ub418\uc9c0 \uc54a\uc740 \uc774\ubca4\ud2b8. \uc778\uc2dc\ub358\ud2b8\ub294 \uc2ec\uac01\ub3c4 \ubc0f \uc601\ud5a5\ubc1b\ub294 \uc7a5\uce58/\ub9c1\ud06c\uc640 \ud568\uaed8 API/\uc6f9 \uc591\uc2dd\uc744 \ud1b5\ud574 \uc790\ub3d9\uc73c\ub85c \uac8c\uc2dc\ub429\ub2c8\ub2e4. \uc2a4\ub808\ub4dc\uc5d0\uc11c \ud1a0\ub860 \ubc0f \ubb38\uc81c \ud574\uacb0. #dz-contributor-maintenance \uacc4\ud68d\ub41c \uc720\uc9c0\ubcf4\uc218 \ud65c\ub3d9 (\uc5c5\uadf8\ub808\uc774\ub4dc, \uc218\ub9ac). API/\uc6f9 \uc591\uc2dd\uc744 \ud1b5\ud574 \uc608\uc0c1 \uc2dc\uc791/\uc885\ub8cc \uc2dc\uac04\uacfc \ud568\uaed8 \uc608\uc57d\ub429\ub2c8\ub2e4. \uc2a4\ub808\ub4dc\uc5d0\uc11c \ud1a0\ub860. #dz-contributor-ops \ubaa8\ub4e0 \uae30\uc5ec\uc790\ub97c \uc704\ud55c \uacf5\uac1c \ud1a0\ub860 \u2014 \uc6b4\uc601 \uc9c8\ubb38, CLI \ub3c4\uc6c0, \ub7f0\ubd81 \ubc0f \ud50c\ub808\uc774\ubd81 \uacf5\uc720.

\uadc0\ud558\uc758 \uc870\uc9c1\uc744 \uc704\ud55c \uc9c1\uc811 \uc9c0\uc6d0\uc744 \uc704\ud55c DZ/Malbec Labs \uc804\uc6a9 \ucc44\ub110\ub3c4 \ubc1b\uac8c \ub429\ub2c8\ub2e4.

"},{"location":"ko/contribute-overview/#dz","title":"DZ \ud504\ub9ac\ud53d\uc2a4 \uaddc\uce59","text":"

\uc911\uc694: DZ \ud504\ub9ac\ud53d\uc2a4 \ud480 \uc0ac\uc6a9

\uc81c\uacf5\ud558\ub294 DZ \ud504\ub9ac\ud53d\uc2a4 \ud480\uc740 IP \ud560\ub2f9\uc744 \uc704\ud574 DoubleZero \ud504\ub85c\ud1a0\ucf5c\uc774 \uad00\ub9ac\ud569\ub2c8\ub2e4.

DZ \ud504\ub9ac\ud53d\uc2a4\uac00 \uc0ac\uc6a9\ub418\ub294 \ubc29\uc2dd:

\ub2e4\uc74c \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4:

\uc694\uad6c\uc0ac\ud56d:

\uc790\uc2e0\uc758 \uc7a5\ube44(DIA \uc778\ud130\ud398\uc774\uc2a4 IP, \uad00\ub9ac \ub4f1)\ub97c \uc704\ud55c \uc8fc\uc18c\uac00 \ud544\uc694\ud55c \uacbd\uc6b0 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.

"},{"location":"ko/contribute-overview/#_4","title":"\ube60\ub978 \ucc38\uc870: \ud575\uc2ec \uc6a9\uc5b4","text":"

DoubleZero\uac00 \ucc98\uc74c\uc774\uc2e0\uac00\uc694? \ud544\uc218 \uc6a9\uc5b4\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4(\uc804\uccb4 \uc6a9\uc5b4\uc9d1 \ucc38\uc870):

\uc6a9\uc5b4 \uc815\uc758 DZD DoubleZero Device \u2014 DZ \uc5d0\uc774\uc804\ud2b8\ub97c \uc2e4\ud589\ud558\ub294 \ubb3c\ub9ac\uc801 Arista \uc2a4\uc704\uce58 DZX DoubleZero Exchange \u2014 \uae30\uc5ec\uc790\ub4e4\uc774 \uc11c\ub85c \uc5f0\uacb0\ud558\ub294 \ub3c4\uc2dc \uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810 CYOA Choose Your Own Adventure \u2014 \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \ubc29\ubc95 (GREOverDIA, GREOverFabric \ub4f1) DIA Direct Internet Access \u2014 \ubaa8\ub4e0 DZD\uac00 \ucee8\ud2b8\ub864\ub7ec \ubc0f \ud154\ub808\uba54\ud2b8\ub9ac\ub97c \uc704\ud574 \ud544\uc694\ud55c \uc778\ud130\ub137 \uc5f0\uacb0, \uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58\uc758 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \uc704\ud55c CYOA \uc720\ud615\uc73c\ub85c\ub3c4 \uc77c\ubc18\uc801\uc73c\ub85c \uc0ac\uc6a9 WAN \ub9c1\ud06c \uc790\uc2e0\uc758 DZD \uac04 \ub9c1\ud06c (\ub3d9\uc77c \uae30\uc5ec\uc790) DZX \ub9c1\ud06c \ub2e4\ub978 \uae30\uc5ec\uc790\uc758 DZD\uc5d0 \ub300\ud55c \ub9c1\ud06c (\uc0c1\ud638 \uc218\ub77d \ud544\uc694) Config Agent \ucee8\ud2b8\ub864\ub7ec\uc5d0 \ucffc\ub9ac\ud558\uace0 DZD\uc5d0 \uad6c\uc131 \uc801\uc6a9 Telemetry Agent TWAMP \ub300\uae30 \uc2dc\uac04/\uc190\uc2e4 \uba54\ud2b8\ub9ad\uc2a4 \uc218\uc9d1, \uc628\uccb4\uc778 \ub808\uc800\uc5d0 \uc81c\ucd9c \uc11c\ube44\uc2a4 \ud0a4 CLI \uc791\uc5c5\uc744 \uc704\ud55c \uae30\uc5ec\uc790 ID \ud0a4 \uba54\ud2b8\ub9ad\uc2a4 \ubc1c\ud589\uc790 \ud0a4 \uc628\uccb4\uc778 \ud154\ub808\uba54\ud2b8\ub9ac \uc81c\ucd9c \uc11c\uba85\uc744 \uc704\ud55c \ud0a4"},{"location":"ko/contribute-overview/#_5","title":"\ubb38\uc11c \uad6c\uc870","text":"\uac00\uc774\ub4dc \uc124\uba85 \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98 \ud558\ub4dc\uc6e8\uc5b4 \uc0ac\uc591, \ub124\ud2b8\uc6cc\ud06c \uc544\ud0a4\ud14d\ucc98, \ub300\uc5ed\ud3ed \uc635\uc158 \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd \ub2e8\uacc4\ubcc4: \ud0a4 \u2192 \uc800\uc7a5\uc18c \uc811\uadfc \u2192 \uc7a5\uce58 \u2192 \ub9c1\ud06c \u2192 \uc5d0\uc774\uc804\ud2b8 \uc6b4\uc601 \uc5d0\uc774\uc804\ud2b8 \uc5c5\ub370\uc774\ud2b8, \ub9c1\ud06c \uad00\ub9ac, \ubaa8\ub2c8\ud130\ub9c1 \uc6a9\uc5b4\uc9d1 \ubaa8\ub4e0 DoubleZero \uc6a9\uc5b4 \uc815\uc758"},{"location":"ko/contribute-overview/#_6","title":"\ube44\ub124\ud2b8\uc6cc\ud06c \uc5d4\uc9c0\ub2c8\uc5b4\ub97c \uc704\ud55c \ub124\ud2b8\uc6cc\ud0b9 \uac1c\ub150","text":"

\ub124\ud2b8\uc6cc\ud06c \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \uacbd\ud5d8\uc774 \uc5c6\uc73c\uc2dc\ub2e4\uba74 \uc774 \ubb38\uc11c\uc5d0 \uc0ac\uc6a9\ub41c \uac1c\ub150\uc5d0 \ub300\ud55c \uc18c\uac1c\uac00 \uc788\uc2b5\ub2c8\ub2e4:

"},{"location":"ko/contribute-overview/#ip","title":"IP \uc8fc\uc18c \uc9c0\uc815","text":""},{"location":"ko/contribute-overview/#_7","title":"\ub124\ud2b8\uc6cc\ud06c \uacc4\uce35","text":""},{"location":"ko/contribute-overview/#_8","title":"\uc77c\ubc18 \uc6a9\uc5b4","text":""},{"location":"ko/contribute-overview/#doublezero","title":"DoubleZero \uc804\uc6a9","text":"

\uc900\ube44\uac00 \ub418\uc168\ub098\uc694? \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98\ubd80\ud130 \uc2dc\uc791\ud558\uc138\uc694.

"},{"location":"ko/contribute-provisioning/","title":"\uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd \uac00\uc774\ub4dc","text":"

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.

\uc774 \uac00\uc774\ub4dc\ub294 \ucc98\uc74c\ubd80\ud130 \ub05d\uae4c\uc9c0 DoubleZero \uc7a5\uce58(DZD) \ud504\ub85c\ube44\uc800\ub2dd\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4. \uac01 \ub2e8\uacc4\ub294 \uc628\ubcf4\ub529 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_2","title":"\uc804\uccb4 \uad6c\uc131 \uc774\ud574","text":"

\ub2e8\uacc4\ub97c \uc2dc\uc791\ud558\uae30 \uc804\uc5d0 \uad6c\ucd95\ud558\ub294 \uac83\uc758 \ud070 \uadf8\ub9bc\uc744 \uc0b4\ud3b4\ubd05\ub2c8\ub2e4:

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero \ub808\uc800]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[\uad00\ub9ac \uc11c\ubc84<br/>DoubleZero CLI]\n        DZD[\uadc0\ud558\uc758 DZD<br/>Arista \uc2a4\uc704\uce58]\n        DZD ---|WAN \ub9c1\ud06c| DZD2[\uadc0\ud558\uc758 \ub2e4\ub978 DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[\uc0c1\ub300\ubc29 DZD]\n    end\n\n    subgraph Users\n        VAL[\uac80\uc99d\uc790]\n        RPC[RPC \ub178\ub4dc]\n    end\n\n    MGMT -.->|\uc7a5\uce58,<br/>\ub9c1\ud06c, \uc778\ud130\ud398\uc774\uc2a4 \ub4f1\ub85d| SC\n    DZD ---|DZX \ub9c1\ud06c| OtherDZD\n    VAL ---|\uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc5f0\uacb0| DZD\n    RPC ---|\uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc5f0\uacb0| DZD
"},{"location":"ko/contribute-provisioning/#1","title":"1\ub2e8\uacc4: \uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

\uc7a5\uce58\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud558\uae30 \uc804\uc5d0 \ubb3c\ub9ac\uc801 \ud558\ub4dc\uc6e8\uc5b4 \uc124\uc815\uacfc \uc77c\ubd80 IP \uc8fc\uc18c \ud560\ub2f9\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_3","title":"\ud544\uc694\ud55c \uc0ac\ud56d","text":"\uc694\uad6c\uc0ac\ud56d \ud544\uc694\ud55c \uc774\uc720 DZD \ud558\ub4dc\uc6e8\uc5b4 Arista 7280CR3A \uc2a4\uc704\uce58 (\ud558\ub4dc\uc6e8\uc5b4 \uc0ac\uc591 \ucc38\uc870) \ub799 \uacf5\uac04 \uc801\uc808\ud55c \uacf5\uae30 \ud750\ub984\uc744 \uac16\ucd98 4U \uc804\uc6d0 \uc774\uc911 \ud53c\ub4dc, ~4KW \uad8c\uc7a5 \uad00\ub9ac \uc561\uc138\uc2a4 \uc2a4\uc704\uce58 \uad6c\uc131\uc744 \uc704\ud55c SSH/\ucf58\uc194 \uc561\uc138\uc2a4 \uc778\ud130\ub137 \uc5f0\uacb0 \uba54\ud2b8\ub9ad \ubc1c\ud589 \ubc0f \ucee8\ud2b8\ub864\ub7ec\uc5d0\uc11c \uad6c\uc131 \uac00\uc838\uc624\uae30 \uacf5\uac1c IPv4 \ube14\ub85d DZ \ud504\ub9ac\ud53d\uc2a4 \ud480\uc744 \uc704\ud55c \ucd5c\uc18c /29 (\uc544\ub798 \ucc38\uc870)"},{"location":"ko/contribute-provisioning/#doublezero-cli","title":"DoubleZero CLI \uc124\uce58","text":"

DoubleZero CLI(doublezero)\ub294 \ud504\ub85c\ube44\uc800\ub2dd \uc804\ubc18\uc5d0 \uac78\uccd0 \uc7a5\uce58 \ub4f1\ub85d, \ub9c1\ud06c \uc0dd\uc131 \ubc0f \uae30\uc5ec \uad00\ub9ac\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. DZD \uc2a4\uc704\uce58\uac00 \uc544\ub2cc \uad00\ub9ac \uc11c\ubc84 \ub610\ub294 VM\uc5d0 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2a4\uc704\uce58\ub294 Config Agent\uc640 Telemetry Agent(4\ub2e8\uacc4\uc5d0\uc11c \uc124\uce58\ub428)\ub9cc \uc2e4\ud589\ud569\ub2c8\ub2e4.

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\ub370\ubaac\uc774 \uc2e4\ud589 \uc911\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

sudo systemctl status doublezerod\n

"},{"location":"ko/contribute-provisioning/#dz","title":"DZ \ud504\ub9ac\ud53d\uc2a4 \uc774\ud574","text":"

DZ \ud504\ub9ac\ud53d\uc2a4\ub294 DoubleZero \ud504\ub85c\ud1a0\ucf5c\uc774 IP \ud560\ub2f9\uc744 \uc704\ud574 \uad00\ub9ac\ud558\ub294 \uacf5\uac1c IP \uc8fc\uc18c \ube14\ub85d\uc785\ub2c8\ub2e4.

flowchart LR\n    subgraph \"\uadc0\ud558\uc758 /29 \ube14\ub85d (8\uac1c IP)\"\n        IP1[\"\uccab \ubc88\uc9f8 IP<br/>\uc7a5\uce58\uc6a9<br/>\uc608\uc57d\ub428\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|\ud560\ub2f9\ub428| LO[\uadc0\ud558\uc758 DZD\uc758<br/>Loopback100]\n    IP2 -->|\ud560\ub2f9\ub428| U1[\uc0ac\uc6a9\uc790 1]\n    IP3 -->|\ud560\ub2f9\ub428| U2[\uc0ac\uc6a9\uc790 2]

DZ \ud504\ub9ac\ud53d\uc2a4 \uc0ac\uc6a9 \ubc29\ubc95:

DZ \ud504\ub9ac\ud53d\uc2a4 \uaddc\uce59

\ub2e4\uc74c \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4:

\uc694\uad6c\uc0ac\ud56d:

\uc790\uc2e0\uc758 \uc7a5\ube44(DIA \uc778\ud130\ud398\uc774\uc2a4 IP, \uad00\ub9ac \ub4f1)\ub97c \uc704\ud55c \uc8fc\uc18c\uac00 \ud544\uc694\ud55c \uacbd\uc6b0 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.

"},{"location":"ko/contribute-provisioning/#2","title":"2\ub2e8\uacc4: \uacc4\uc815 \uc124\uc815","text":"

\uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uadc0\ud558\uc640 \uc7a5\uce58\ub97c \uc2dd\ubcc4\ud558\ub294 \uc554\ud638\ud654 \ud0a4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#cli","title":"CLI \uc2e4\ud589 \uc704\uce58","text":"

\uc2a4\uc704\uce58\uc5d0 CLI\ub97c \uc124\uce58\ud558\uc9c0 \ub9c8\uc138\uc694

DoubleZero CLI(doublezero)\ub294 Arista \uc2a4\uc704\uce58\uac00 \uc544\ub2cc \uad00\ub9ac \uc11c\ubc84 \ub610\ub294 VM\uc5d0 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4.

flowchart LR\n    subgraph \"\uad00\ub9ac \uc11c\ubc84/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[\uadc0\ud558\uc758 \ud0a4\uc30d]\n    end\n\n    subgraph \"\uadc0\ud558\uc758 DZD \uc2a4\uc704\uce58\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|\uc7a5\uce58, \ub9c1\ud06c \uc0dd\uc131| BC[\ube14\ub85d\uccb4\uc778]\n    CA -->|\uad6c\uc131 \uac00\uc838\uc624\uae30| CTRL[\ucee8\ud2b8\ub864\ub7ec]\n    TA -->|\uba54\ud2b8\ub9ad \uc81c\ucd9c| BC
\uad00\ub9ac \uc11c\ubc84\uc5d0 \uc124\uce58 \uc2a4\uc704\uce58\uc5d0 \uc124\uce58 doublezero CLI Config Agent \uc11c\ube44\uc2a4 \ud0a4\uc30d Telemetry Agent \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4\uc30d \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4\uc30d (\ubcf5\uc0ac)"},{"location":"ko/contribute-provisioning/#_4","title":"\ud0a4\ub780 \ubb34\uc5c7\uc778\uac00?","text":"

\ud0a4\ub97c \uc548\uc804\ud55c \ub85c\uadf8\uc778 \uc790\uaca9 \uc99d\uba85\uc73c\ub85c \uc0dd\uac01\ud558\uc138\uc694:

\ub458 \ub2e4 \uc554\ud638\ud654 \ud0a4\uc30d\uc785\ub2c8\ub2e4(\uacf5\uc720\ud558\ub294 \uacf5\uac1c \ud0a4\uc640 \ube44\ubc00\ub85c \uc720\uc9c0\ud558\ub294 \uac1c\uc778 \ud0a4).

flowchart LR\n    subgraph \"\uadc0\ud558\uc758 \ud0a4\"\n        SK[\uc11c\ube44\uc2a4 \ud0a4<br/>~/.config/solana/id.json]\n        MK[\uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|\uc0ac\uc6a9\ub428| CLI[CLI \uba85\ub839<br/>doublezero device create<br/>doublezero link create]\n    MK -->|\uc0ac\uc6a9\ub428| TEL[Telemetry Agent<br/>\uc628\uccb4\uc778 \uba54\ud2b8\ub9ad \uc81c\ucd9c]
"},{"location":"ko/contribute-provisioning/#21","title":"2.1\ub2e8\uacc4: \uc11c\ube44\uc2a4 \ud0a4 \uc0dd\uc131","text":"

\uc774\uac83\uc774 DoubleZero\uc640 \uc0c1\ud638 \uc791\uc6a9\ud558\uae30 \uc704\ud55c \uc8fc\uc694 \uc2e0\uc6d0\uc785\ub2c8\ub2e4.

doublezero keygen\n

\uc774\ub294 \uae30\ubcf8 \uc704\uce58\uc5d0 \ud0a4\uc30d\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \ucd9c\ub825\uc740 \uacf5\uac1c \ud0a4\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4 \u2014 \uc774\uac83\uc774 DZF\uc640 \uacf5\uc720\ud560 \uac83\uc785\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#22","title":"2.2\ub2e8\uacc4: \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4 \uc0dd\uc131","text":"

\uc774 \ud0a4\ub294 Telemetry Agent\uac00 \uba54\ud2b8\ub9ad \uc81c\ucd9c\uc5d0 \uc11c\uba85\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"ko/contribute-provisioning/#23-dzf","title":"2.3\ub2e8\uacc4: DZF\uc5d0 \ud0a4 \uc81c\ucd9c","text":"

DoubleZero Foundation \ub610\ub294 Malbec Labs\uc5d0 \uc5f0\ub77d\ud558\uc5ec \ub2e4\uc74c\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4:

  1. \uc11c\ube44\uc2a4 \ud0a4 \uacf5\uac1c \ud0a4
  2. GitHub \uc0ac\uc6a9\uc790 \uc774\ub984 (\uc800\uc7a5\uc18c \uc561\uc138\uc2a4\uc6a9)

\uadf8\ub4e4\uc740:

"},{"location":"ko/contribute-provisioning/#24","title":"2.4\ub2e8\uacc4: \uacc4\uc815 \ud655\uc778","text":"

\ud655\uc778\uc774 \uc644\ub8cc\ub418\uba74 \uae30\uc5ec\uc790 \uacc4\uc815\uc774 \uc874\uc7ac\ud558\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero contributor list\n

\ubaa9\ub85d\uc5d0 \uae30\uc5ec\uc790 \ucf54\ub4dc\uac00 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#25","title":"2.5\ub2e8\uacc4: \uae30\uc5ec\uc790 \uc800\uc7a5\uc18c \uc561\uc138\uc2a4","text":"

malbeclabs/contributors \uc800\uc7a5\uc18c\uc5d0\ub294 \ub2e4\uc74c\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4:

\uc7a5\uce58\ubcc4 \uad6c\uc131\uc744 \uc704\ud574 \ud574\ub2f9 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694.

"},{"location":"ko/contribute-provisioning/#3","title":"3\ub2e8\uacc4: \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd","text":"

\uc774\uc81c \ube14\ub85d\uccb4\uc778\uc5d0 \ubb3c\ub9ac\uc801 \uc7a5\uce58\ub97c \ub4f1\ub85d\ud558\uace0 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_5","title":"\uc7a5\uce58 \uc720\ud615 \uc774\ud574","text":"
flowchart TB\n    subgraph \"\uc5e3\uc9c0 \uc7a5\uce58\"\n        E[\uc5e3\uc9c0 DZD]\n        EU[\uc0ac\uc6a9\uc790\uac00 \uc5ec\uae30\uc5d0 \uc5f0\uacb0]\n        EU --> E\n        E <-->|DZX \ub9c1\ud06c| ED[\ub2e4\ub978 DZD]\n    end\n\n    subgraph \"\ud2b8\ub79c\uc9d3 \uc7a5\uce58\"\n        T[\ud2b8\ub79c\uc9d3 DZD]\n        T <-->|WAN \ub9c1\ud06c| T2[\ub2e4\ub978 DZD]\n        T <-->|DZX \ub9c1\ud06c| TD[\ub2e4\ub978 DZD]\n    end\n\n    subgraph \"\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58\"\n        H[\ud558\uc774\ube0c\ub9ac\ub4dc DZD]\n        HU[\uc0ac\uc6a9\uc790\uac00 \uc5ec\uae30\uc5d0 \uc5f0\uacb0]\n        HU --> H\n        H <-->|WAN \ub9c1\ud06c| H2[\ub2e4\ub978 DZD]\n        H <-->|DZX \ub9c1\ud06c| HD[\ub2e4\ub978 DZD]\n    end
\uc720\ud615 \uae30\ub2a5 \uc0ac\uc6a9 \uc2dc\uae30 \uc5e3\uc9c0 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\ub9cc \ud5c8\uc6a9 \ub2e8\uc77c \uc704\uce58, \uc0ac\uc6a9\uc790 \ub300\uba74\ub9cc \ud2b8\ub79c\uc9d3 \uc7a5\uce58 \uac04 \ud2b8\ub798\ud53d \uc774\ub3d9 \ubc31\ubcf8 \uc5f0\uacb0, \uc0ac\uc6a9\uc790 \uc5c6\uc74c \ud558\uc774\ube0c\ub9ac\ub4dc \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \ubc0f \ubc31\ubcf8 \ubaa8\ub450 \uac00\uc7a5 \uc77c\ubc18\uc801 - \ubaa8\ub4e0 \uac83 \uc218\ud589"},{"location":"ko/contribute-provisioning/#31-exchange","title":"3.1\ub2e8\uacc4: \uc704\uce58 \ubc0f Exchange \ucc3e\uae30","text":"

\uc7a5\uce58\ub97c \uc0dd\uc131\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130 \uc13c\ud130 \uc704\uce58\uc640 \uac00\uc7a5 \uac00\uae4c\uc6b4 exchange\uc758 \ucf54\ub4dc\ub97c \uc870\ud68c\ud569\ub2c8\ub2e4:

# \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc704\uce58(\ub370\uc774\ud130 \uc13c\ud130) \ubaa9\ub85d\ndoublezero location list\n\n# \uc0ac\uc6a9 \uac00\ub2a5\ud55c exchange(\uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810) \ubaa9\ub85d\ndoublezero exchange list\n
"},{"location":"ko/contribute-provisioning/#32","title":"3.2\ub2e8\uacc4: \uc628\uccb4\uc778\uc5d0\uc11c \uc7a5\uce58 \uc0dd\uc131","text":"

\ube14\ub85d\uccb4\uc778\uc5d0 \uc7a5\uce58\ub97c \ub4f1\ub85d\ud569\ub2c8\ub2e4:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

\uc608\uc2dc:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 4vKz8H...truncated...7xPq2\n

\uc7a5\uce58\uac00 \uc0dd\uc131\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero device list | grep nyc-dz001\n

\ud30c\ub77c\ubbf8\ud130 \uc124\uba85:

\ud30c\ub77c\ubbf8\ud130 \uc758\ubbf8 --code \uc7a5\uce58\uc758 \uace0\uc720 \uc774\ub984 (\uc608: nyc-dz001) --contributor \uae30\uc5ec\uc790 \ucf54\ub4dc (DZF\uac00 \uc81c\uacf5) --device-type hybrid, transit \ub610\ub294 edge --location location list\uc758 \ub370\uc774\ud130 \uc13c\ud130 \ucf54\ub4dc --exchange exchange list\uc758 \uac00\uc7a5 \uac00\uae4c\uc6b4 exchange \ucf54\ub4dc --public-ip \uc0ac\uc6a9\uc790\uac00 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ud558\ub294 \uacf5\uac1c IP --dz-prefixes \uc0ac\uc6a9\uc790\ub97c \uc704\ud574 \ud560\ub2f9\ub41c IP \ube14\ub85d"},{"location":"ko/contribute-provisioning/#33","title":"3.3\ub2e8\uacc4: \ud544\uc694\ud55c \ub8e8\ud504\ubc31 \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131","text":"

\ubaa8\ub4e0 \uc7a5\uce58\uc5d0\ub294 \ub0b4\ubd80 \ub77c\uc6b0\ud305\uc744 \uc704\ud574 \ub450 \uac1c\uc758 \ub8e8\ud504\ubc31 \uc778\ud130\ud398\uc774\uc2a4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4:

# VPNv4 \ub8e8\ud504\ubc31\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4 \ub8e8\ud504\ubc31\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

\uc608\uc0c1 \ucd9c\ub825 (\uac01 \uba85\ub839):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"ko/contribute-provisioning/#34","title":"3.4\ub2e8\uacc4: \ubb3c\ub9ac\uc801 \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131","text":"

\uc0ac\uc6a9\ud560 \ubb3c\ub9ac\uc801 \ud3ec\ud2b8\ub97c \ub4f1\ub85d\ud569\ub2c8\ub2e4:

# \uae30\ubcf8 \uc778\ud130\ud398\uc774\uc2a4\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"ko/contribute-provisioning/#35-cyoa","title":"3.5\ub2e8\uacc4: CYOA \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131 (\uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58\uc758 \uacbd\uc6b0)","text":"

\uc7a5\uce58\uac00 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \ud5c8\uc6a9\ud558\ub294 \uacbd\uc6b0 CYOA(Choose Your Own Adventure) \uc778\ud130\ud398\uc774\uc2a4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc774\ub294 \uc0ac\uc6a9\uc790\uac00 \uadc0\ud558\uc5d0\uac8c \uc5f0\uacb0\ud558\ub294 \ubc29\ubc95\uc744 \uc2dc\uc2a4\ud15c\uc5d0 \uc54c\ub9bd\ub2c8\ub2e4.

CYOA \uc720\ud615 \uc124\uba85:

\uc720\ud615 \uc26c\uc6b4 \uc124\uba85 \uc0ac\uc6a9 \uc2dc\uae30 gre-over-dia \uc0ac\uc6a9\uc790\uac00 \uc77c\ubc18 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc5f0\uacb0 \uac00\uc7a5 \uc77c\ubc18\uc801 - \uc0ac\uc6a9\uc790\uac00 DIA\ub97c \ud1b5\ud574 DZD\uc5d0 \uc5f0\uacb0 gre-over-private-peering \uc0ac\uc6a9\uc790\uac00 \uc804\uc6a9 \ub9c1\ud06c\ub97c \ud1b5\ud574 \uc5f0\uacb0 \uc0ac\uc6a9\uc790\uac00 \uadc0\ud558\uc758 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc9c1\uc811 \uc5f0\uacb0 gre-over-public-peering \uc0ac\uc6a9\uc790\uac00 IX\ub97c \ud1b5\ud574 \uc5f0\uacb0 \uc0ac\uc6a9\uc790\uac00 \uc778\ud130\ub137 exchange\uc5d0\uc11c \uadc0\ud558\uc640 \ud53c\uc5b4\ub9c1 gre-over-fabric \uc0ac\uc6a9\uc790\uac00 \ub3d9\uc77c\ud55c \ub85c\uceec \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc788\uc74c \uc0ac\uc6a9\uc790\uac00 \ub3d9\uc77c\ud55c \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \uc788\uc74c gre-over-cable \uc0ac\uc6a9\uc790\uc5d0 \ub300\ud55c \uc9c1\uc811 \ucf00\uc774\ube14 \ub2e8\uc77c \uc804\uc6a9 \uc0ac\uc6a9\uc790

\uc608\uc2dc - \ud45c\uc900 \uc778\ud130\ub137 \uc0ac\uc6a9\uc790:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 2wLp8N...truncated...5vHt3\n

\ud30c\ub77c\ubbf8\ud130 \uc124\uba85:

\ud30c\ub77c\ubbf8\ud130 \uc758\ubbf8 --interface-cyoa \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \ubc29\ubc95 (\uc704 \ud45c \ucc38\uc870) --interface-dia \uc774\uac83\uc774 \uc778\ud130\ub137 \ub300\uba74 \ud3ec\ud2b8\uc778 \uacbd\uc6b0 dia --bandwidth Mbps \ub2e8\uc704 \ud3ec\ud2b8 \uc18d\ub3c4 (10000 = 10Gbps) --cir Mbps \ub2e8\uc704 \ud655\uc57d \uc694\uae08 (\ubcf4\uc7a5\ub41c \ub300\uc5ed\ud3ed) --user-tunnel-endpoint \uc774 \ud3ec\ud2b8\uac00 \uc0ac\uc6a9\uc790 \ud130\ub110\uc744 \ud5c8\uc6a9\ud568"},{"location":"ko/contribute-provisioning/#36","title":"3.6\ub2e8\uacc4: \uc7a5\uce58 \ud655\uc778","text":"
doublezero device list\n

\uc608\uc2dc \ucd9c\ub825:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

\uc7a5\uce58\uac00 activated \uc0c1\ud0dc\ub85c \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#4","title":"4\ub2e8\uacc4: \ub9c1\ud06c \uc124\uc815 \ubc0f \uc5d0\uc774\uc804\ud2b8 \uc124\uce58","text":"

\ub9c1\ud06c\ub294 \uc7a5\uce58\ub97c \ub098\uba38\uc9c0 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_6","title":"\ub9c1\ud06c \uc774\ud574","text":"
flowchart LR\n    subgraph \"\uadc0\ud558\uc758 \ub124\ud2b8\uc6cc\ud06c\"\n        D1[\uadc0\ud558\uc758 DZD 1<br/>NYC]\n        D2[\uadc0\ud558\uc758 DZD 2<br/>LAX]\n    end\n\n    subgraph \"\ub2e4\ub978 \uae30\uc5ec\uc790\"\n        O1[\uc0c1\ub300\ubc29 DZD<br/>NYC]\n    end\n\n    D1 ---|WAN \ub9c1\ud06c<br/>\ub3d9\uc77c \uae30\uc5ec\uc790| D2\n    D1 ---|DZX \ub9c1\ud06c<br/>\ub2e4\ub978 \uae30\uc5ec\uc790| O1
\ub9c1\ud06c \uc720\ud615 \uc5f0\uacb0 \uc218\ub77d WAN \ub9c1\ud06c \uadc0\ud558\uc758 \ub450 \uc7a5\uce58 \uc790\ub3d9 (\ub458 \ub2e4 \uc18c\uc720) DZX \ub9c1\ud06c \uadc0\ud558\uc758 \uc7a5\uce58 \ub300 \ub2e4\ub978 \uae30\uc5ec\uc790 \uc0c1\ub300\ubc29 \uc218\ub77d \ud544\uc694"},{"location":"ko/contribute-provisioning/#41-wan","title":"4.1\ub2e8\uacc4: WAN \ub9c1\ud06c \uc0dd\uc131 (\uc5ec\ub7ec \uc7a5\uce58\uac00 \uc788\ub294 \uacbd\uc6b0)","text":"

WAN \ub9c1\ud06c\ub294 \uadc0\ud558\uc758 \uc790\uccb4 \uc7a5\uce58\ub97c \uc5f0\uacb0\ud569\ub2c8\ub2e4:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

\uc608\uc2dc:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"ko/contribute-provisioning/#42-dzx","title":"4.2\ub2e8\uacc4: DZX \ub9c1\ud06c \uc0dd\uc131","text":"

DZX \ub9c1\ud06c\ub294 \uc7a5\uce58\ub97c \ub2e4\ub978 \uae30\uc5ec\uc790\uc758 DZD\uc5d0 \uc9c1\uc811 \uc5f0\uacb0\ud569\ub2c8\ub2e4:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

\uc608\uc0c1 \ucd9c\ub825:

Signature: 8mKp3W...truncated...2nRx7\n

DZX \ub9c1\ud06c\ub97c \uc0dd\uc131\ud55c \ud6c4 \ub2e4\ub978 \uae30\uc5ec\uc790\uac00 \uc774\ub97c \uc218\ub77d\ud574\uc57c \ud569\ub2c8\ub2e4:

# \ub2e4\ub978 \uae30\uc5ec\uc790\uac00 \uc774\uac83\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

\uc608\uc0c1 \ucd9c\ub825 (\uc218\ub77d\ud558\ub294 \uae30\uc5ec\uc790):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"ko/contribute-provisioning/#43","title":"4.3\ub2e8\uacc4: \ub9c1\ud06c \ud655\uc778","text":"
doublezero link list\n

\uc608\uc2dc \ucd9c\ub825:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

\uc591\ucabd\uc774 \uad6c\uc131\ub418\uba74 \ub9c1\ud06c\ub294 activated \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_7","title":"\uc5d0\uc774\uc804\ud2b8 \uc124\uce58","text":"

\ub450 \uac1c\uc758 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d0\uc774\uc804\ud2b8\uac00 DZD\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4:

flowchart TB\n    subgraph \"\uadc0\ud558\uc758 DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[\uc2a4\uc704\uce58 \ud558\ub4dc\uc6e8\uc5b4/\uc18c\ud504\ud2b8\uc6e8\uc5b4]\n    end\n\n    CA -->|\uad6c\uc131 \ud3f4\ub9c1| CTRL[\ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4]\n    CA -->|\uad6c\uc131 \uc801\uc6a9| HW\n\n    HW -->|\uba54\ud2b8\ub9ad| TA\n    TA -->|\uc628\uccb4\uc778 \uc81c\ucd9c| BC[DoubleZero \ub808\uc800]
\uc5d0\uc774\uc804\ud2b8 \uae30\ub2a5 Config Agent \ucee8\ud2b8\ub864\ub7ec\uc5d0\uc11c \uad6c\uc131\uc744 \uac00\uc838\uc640 \uc2a4\uc704\uce58\uc5d0 \uc801\uc6a9 Telemetry Agent \ub2e4\ub978 \uc7a5\uce58\uc5d0 \ub300\ud55c \ub300\uae30 \uc2dc\uac04/\uc190\uc2e4 \uce21\uc815, \uc628\uccb4\uc778\uc73c\ub85c \uba54\ud2b8\ub9ad \ubcf4\uace0"},{"location":"ko/contribute-provisioning/#44-config-agent","title":"4.4\ub2e8\uacc4: Config Agent \uc124\uce58","text":""},{"location":"ko/contribute-provisioning/#api","title":"\uc2a4\uc704\uce58\uc5d0\uc11c API \ud65c\uc131\ud654","text":"

EOS \uad6c\uc131\uc5d0 \ucd94\uac00:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

VRF \ucc38\uace0

\uad00\ub9ac VRF \uc774\ub984\uc774 \ub2e4\ub978 \uacbd\uc6b0(\uc608: management) default\ub97c \ud574\ub2f9 \uc774\ub984\uc73c\ub85c \uad50\uccb4\ud558\uc138\uc694.

"},{"location":"ko/contribute-provisioning/#_8","title":"\uc5d0\uc774\uc804\ud2b8 \ub2e4\uc6b4\ub85c\ub4dc \ubc0f \uc124\uce58","text":"
# \uc2a4\uc704\uce58\uc5d0\uc11c bash \uc785\ub825\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS \ud655\uc7a5\uc73c\ub85c \uc124\uce58\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-provisioning/#_9","title":"\ud655\uc7a5 \ud655\uc778","text":"
switch# show extensions\n

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4:

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ko/contribute-provisioning/#_10","title":"\uc5d0\uc774\uc804\ud2b8 \uad6c\uc131 \ubc0f \uc2dc\uc791","text":"

EOS \uad6c\uc131\uc5d0 \ucd94\uac00:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

VRF \ucc38\uace0

\uad00\ub9ac VRF\uac00 default\uac00 \uc544\ub2cc \uacbd\uc6b0(\uc989, \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uac00 ns-default\uac00 \uc544\ub2cc \uacbd\uc6b0) exec \uba85\ub839 \uc55e\uc5d0 exec /sbin/ip netns exec ns-<VRF>\ub97c \ubd99\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 VRF\uac00 management\uc778 \uacbd\uc6b0:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

\uc7a5\uce58 \uacf5\uac1c \ud0a4\ub97c doublezero device list\uc758 account \uc5f4\uc5d0\uc11c \uac00\uc838\uc635\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_11","title":"\uc2e4\ud589 \ud655\uc778","text":"
switch# show agent doublezero-agent logs\n

\"Starting doublezero-agent\" \ubc0f \uc131\uacf5\uc801\uc778 \ucee8\ud2b8\ub864\ub7ec \uc5f0\uacb0\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#45-telemetry-agent","title":"4.5\ub2e8\uacc4: Telemetry Agent \uc124\uce58","text":""},{"location":"ko/contribute-provisioning/#_12","title":"\uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ud0a4\ub97c \uc7a5\uce58\uc5d0 \ubcf5\uc0ac","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"ko/contribute-provisioning/#_13","title":"\uc628\uccb4\uc778\uc5d0 \uba54\ud2b8\ub9ad \ubc1c\ud589\uc790 \ub4f1\ub85d","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

metrics-publisher.json \ud30c\uc77c\uc5d0\uc11c \uacf5\uac1c \ud0a4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#_14","title":"\uc5d0\uc774\uc804\ud2b8 \ub2e4\uc6b4\ub85c\ub4dc \ubc0f \uc124\uce58","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# EOS \ud655\uc7a5\uc73c\ub85c \uc124\uce58\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"ko/contribute-provisioning/#_15","title":"\ud655\uc7a5 \ud655\uc778","text":"
switch# show extensions\n

\uc0c1\ud0dc\ub294 \"A, I, B\"\uc5ec\uc57c \ud569\ub2c8\ub2e4:

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"ko/contribute-provisioning/#_16","title":"\uc5d0\uc774\uc804\ud2b8 \uad6c\uc131 \ubc0f \uc2dc\uc791","text":"

EOS \uad6c\uc131\uc5d0 \ucd94\uac00:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

VRF \ucc38\uace0

\uad00\ub9ac VRF\uac00 default\uac00 \uc544\ub2cc \uacbd\uc6b0(\uc989, \ub124\uc784\uc2a4\ud398\uc774\uc2a4\uac00 ns-default\uac00 \uc544\ub2cc \uacbd\uc6b0) exec \uba85\ub839\uc5d0 --management-namespace ns-<VRF>\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 VRF\uac00 management\uc778 \uacbd\uc6b0:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"ko/contribute-provisioning/#_17","title":"\uc2e4\ud589 \ud655\uc778","text":"
switch# show agent doublezero-telemetry logs\n

\"Starting telemetry collector\" \ubc0f \"Starting submission loop\"\uac00 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#5","title":"5\ub2e8\uacc4: \ub9c1\ud06c \ubc88\uc778","text":"

\ubaa8\ub4e0 \uc0c8 \ub9c1\ud06c\ub294 \ud2b8\ub798\ud53d\uc744 \uc804\ub2ec\ud558\uae30 \uc804\uc5d0 \ubc88\uc778\ud574\uc57c \ud569\ub2c8\ub2e4

\uc0c8 \ub9c1\ud06c\ub294 \ud504\ub85c\ub355\uc158 \ud2b8\ub798\ud53d\uc744 \ud65c\uc131\ud654\ud558\uae30 \uc804\uc5d0 \ucd5c\uc18c 24\uc2dc\uac04 \ub3d9\uc548 \ub4dc\ub808\uc778\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc774 \ubc88\uc778 \uc694\uad6c\uc0ac\ud56d\uc740 \ub9c1\ud06c\uac00 \uc11c\ube44\uc2a4 \uc900\ube44\uac00 \ub418\uae30 \uc804\uc5d0 \uc57d 20\ub9cc DZ \ub808\uc800 \uc2ac\ub86f(~20\uc2dc\uac04)\uc758 \ud074\ub9b0 \uba54\ud2b8\ub9ad\uc744 \uc9c0\uc815\ud558\ub294 RFC12: \ub124\ud2b8\uc6cc\ud06c \ud504\ub85c\ube44\uc800\ub2dd\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.

\uc5d0\uc774\uc804\ud2b8\uac00 \uc124\uce58 \ubc0f \uc2e4\ud589\ub418\uba74 \ucd5c\uc18c 24\uc2dc\uac04 \uc5f0\uc18d\uc73c\ub85c metrics.doublezero.xyz\uc5d0\uc11c \ub9c1\ud06c\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud569\ub2c8\ub2e4:

\ubc88\uc778 \uae30\uac04\uc774 \uc81c\ub85c \uc190\uc2e4 \ubc0f \uc81c\ub85c \uc624\ub958\uc758 \ud074\ub9b0 \ub9c1\ud06c\ub97c \ubcf4\uc5ec\uc900 \ud6c4\uc5d0\ub9cc \ub9c1\ud06c\uc758 \ub4dc\ub808\uc778\uc744 \ud574\uc81c\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute-provisioning/#6","title":"6\ub2e8\uacc4: \uac80\uc99d \ubc0f \ud65c\uc131\ud654","text":"

\ubaa8\ub4e0 \uac83\uc774 \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574 \uc774 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.

\uc7a5\uce58\ub294 \uc7a0\uae08 \uc0c1\ud0dc\ub85c \uc2dc\uc791\ub429\ub2c8\ub2e4 (max_users = 0)

\uc7a5\uce58\uac00 \uc0dd\uc131\ub418\uba74 max_users\uac00 \uae30\ubcf8\uc801\uc73c\ub85c 0\uc73c\ub85c \uc124\uc815\ub429\ub2c8\ub2e4. \uc989, \uc544\uc9c1 \uc0ac\uc6a9\uc790\uac00 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uc758\ub3c4\uc801\uc778 \uac83\uc785\ub2c8\ub2e4 \u2014 \uc0ac\uc6a9\uc790 \ud2b8\ub798\ud53d\uc744 \ud5c8\uc6a9\ud558\uae30 \uc804\uc5d0 \ubaa8\ub4e0 \uac83\uc774 \uc791\ub3d9\ud558\ub294\uc9c0 \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4.

max_users\ub97c 0 \uc774\uc0c1\uc73c\ub85c \uc124\uc815\ud558\uae30 \uc804\uc5d0 \ub2e4\uc74c\uc744 \uc644\ub8cc\ud574\uc57c \ud569\ub2c8\ub2e4:

  1. \ubaa8\ub4e0 \ub9c1\ud06c\uac00 metrics.doublezero.xyz\uc5d0\uc11c \uc81c\ub85c \uc190\uc2e4/\uc624\ub958\ub85c 24\uc2dc\uac04 \ubc88\uc778\uc744 \uc644\ub8cc\ud588\ub294\uc9c0 \ud655\uc778
  2. DZ/Malbec Labs\uc640 \uc870\uc728\ud558\uc5ec \uc5f0\uacb0 \ud14c\uc2a4\ud2b8 \uc2e4\ud589:
    • \ud14c\uc2a4\ud2b8 \uc0ac\uc6a9\uc790\uac00 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294\uac00?
    • \uc0ac\uc6a9\uc790\uac00 DZ \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud574 \uacbd\ub85c\ub97c \uc218\uc2e0\ud558\ub294\uac00?
    • \uc0ac\uc6a9\uc790\uac00 DZ \ub124\ud2b8\uc6cc\ud06c\ub97c \ud1b5\ud574 \uc5d4\ub4dc-\ud22c-\uc5d4\ub4dc\ub85c \ud2b8\ub798\ud53d\uc744 \ub77c\uc6b0\ud305\ud560 \uc218 \uc788\ub294\uac00?
  3. DZ/ML\uc774 \ud14c\uc2a4\ud2b8 \ud1b5\uacfc\ub97c \ud655\uc778\ud55c \ud6c4\uc5d0\ub9cc max_users\ub97c 96\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"ko/contribute-provisioning/#_18","title":"\uc7a5\uce58 \ud655\uc778","text":"
# \uc7a5\uce58\uac00 \"activated\" \uc0c1\ud0dc\ub85c \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

\uc608\uc0c1 \ucd9c\ub825:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub098\uc5f4\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

\uc608\uc0c1 \ucd9c\ub825:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"ko/contribute-provisioning/#_19","title":"\ub9c1\ud06c \ud655\uc778","text":"
# \ub9c1\ud06c\uac00 \"activated\" \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

\uc608\uc0c1 \ucd9c\ub825:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"ko/contribute-provisioning/#_20","title":"\uc5d0\uc774\uc804\ud2b8 \ud655\uc778","text":"

\uc2a4\uc704\uce58\uc5d0\uc11c:

# Config Agent\uac00 \uc131\uacf5\uc801\uc778 \uad6c\uc131 \uac00\uc838\uc624\uae30\ub97c \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry Agent\uac00 \uc131\uacf5\uc801\uc778 \uc81c\ucd9c\uc744 \ud45c\uc2dc\ud574\uc57c \ud569\ub2c8\ub2e4\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"ko/contribute-provisioning/#_21","title":"\ucd5c\uc885 \uac80\uc99d \ub2e4\uc774\uc5b4\uadf8\ub7a8","text":"
flowchart TB\n    subgraph \"\uac80\uc99d \uccb4\ud06c\ub9ac\uc2a4\ud2b8\"\n        D[\uc7a5\uce58 \uc0c1\ud0dc: activated?]\n        I[\uc778\ud130\ud398\uc774\uc2a4: \ub4f1\ub85d\ub428?]\n        L[\ub9c1\ud06c: activated?]\n        CA[Config Agent: \uad6c\uc131 \uac00\uc838\uc624\ub294 \uc911?]\n        TA[Telemetry Agent: \uba54\ud2b8\ub9ad \uc81c\ucd9c \uc911?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[\ubaa8\ub4e0 \ud655\uc778 \ud1b5\uacfc] --> NOTIFY[DZF/Malbec Labs\uc5d0 \ud1b5\uc9c0<br/>\uae30\uc220\uc801\uc73c\ub85c \uc900\ube44\ub428!]
"},{"location":"ko/contribute-provisioning/#_22","title":"\ubb38\uc81c \ud574\uacb0","text":""},{"location":"ko/contribute-provisioning/#_23","title":"\uc7a5\uce58 \uc0dd\uc131 \uc2e4\ud328","text":""},{"location":"ko/contribute-provisioning/#requested","title":"\"requested\" \uc0c1\ud0dc\uc5d0\uc11c \uba48\ucd98 \ub9c1\ud06c","text":""},{"location":"ko/contribute-provisioning/#config-agent","title":"Config Agent\uac00 \uc5f0\uacb0\ub418\uc9c0 \uc54a\uc74c","text":""},{"location":"ko/contribute-provisioning/#telemetry-agent","title":"Telemetry Agent\uac00 \uc81c\ucd9c\ud558\uc9c0 \uc54a\uc74c","text":""},{"location":"ko/contribute-provisioning/#_24","title":"\ub2e4\uc74c \ub2e8\uacc4","text":""},{"location":"ko/contribute/","title":"\uae30\uc5ec\uc790 \uc694\uad6c\uc0ac\ud56d \ubc0f \uc544\ud0a4\ud14d\ucc98","text":"

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.

"},{"location":"ko/contribute/#_2","title":"\uc694\uc57d","text":"

\ubbf8\ud65c\uc6a9 \uad11\uc12c\uc720 \ucf00\uc774\ube14\uacfc \ub124\ud2b8\uc6cc\ud06c \ud558\ub4dc\uc6e8\uc5b4\ub97c \uc218\uc775\ud654\ud558\uace0\uc790 \ud558\ub294 \ub204\uad6c\ub4e0\uc9c0 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uae30\uc5ec\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \ub450 \uc9c0\uc810 \uac04\uc5d0 \uc804\uc6a9 \ub300\uc5ed\ud3ed\uc744 \uc81c\uacf5\ud558\uace0, \uac01 \ub05d\uc5d0 DoubleZero \ud638\ud658 \uc7a5\uce58(DZD)\ub97c \uc6b4\uc601\ud558\uba70, \uac01 \ub05d\uc5d0 \uacf5\uac1c \uc778\ud130\ub137\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \ub610\ud55c \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \uac01 DZD\uc5d0\uc11c \uba40\ud2f0\uce90\uc2a4\ud2b8, \uc0ac\uc6a9\uc790 \uc870\ud68c, \uc5e3\uc9c0 \ud544\ud130\ub9c1\uacfc \uac19\uc740 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud558\ub294 DoubleZero \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud574\uc57c \ud569\ub2c8\ub2e4.

DoubleZero \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc740 \ub124\ud2b8\uc6cc\ud06c\uac00 \uce21\uc815 \uac00\ub2a5\ud558\uace0 \ud1a0\ud3f4\ub85c\uc9c0\uc5d0 \ud1b5\ud569\ub420 \uc218 \uc788\ub294 \uace0\ud488\uc9c8 \ub9c1\ud06c\ub97c \uc720\uc9c0\ud558\ub3c4\ub85d \ubcf4\uc7a5\ud558\ub294 \ud575\uc2ec\uc785\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \ub124\ud2b8\uc6cc\ud06c \ucee8\ud2b8\ub864\ub7ec\uac00 \ub2e4\uc591\ud55c \uc0ac\uc6a9\uc790\uc640 \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \uac04\uc758 \uac00\uc7a5 \ud6a8\uc728\uc801\uc778 \uc5d4\ub4dc-\ud22c-\uc5d4\ub4dc \uacbd\ub85c\ub97c \uac1c\ubc1c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2a4\ub9c8\ud2b8 \uacc4\uc57d \uc2e4\ud589 \ubc0f \ub124\ud2b8\uc6cc\ud06c \uc7a5\ube44\uc640 \ub300\uc5ed\ud3ed \ubc30\ud3ec \ud6c4\uc5d0 \ud574\ub2f9 \uc8fc\uccb4\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub85c \ubd84\ub958\ub429\ub2c8\ub2e4. DoubleZero \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub85c\uc11c \ucc38\uc5ec\ud558\ub294 \uacbd\uc81c\ud559\uc744 \ub354 \uc798 \uc774\ud574\ud558\ub824\uba74 DoubleZero \uacbd\uc81c\ud559\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/contribute/#doublezero","title":"DoubleZero \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \ub418\uae30 \uc704\ud55c \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute/#_3","title":"\ube60\ub978 \uc2dc\uc791 \uac00\uc774\ub4dc","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub85c\uc11c DoubleZero\ub97c \uc2dc\uc791\ud558\ub294 \uac00\uc7a5 \uac04\ub2e8\ud55c \ubc29\ubc95\uc740 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c DoubleZero\uc5d0 \uc804\uc6a9\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc6a9\ub7c9\uc744 \ud30c\uc545\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \ud30c\uc545\ub418\uba74 DZD\ub97c \ubc30\ud3ec\ud574\uc57c \ud558\uba70, DZD\ub294 \uae30\uc5ec\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc758\uc874\uc131\uc73c\ub85c IPv4 \ub3c4\ub2ec \uac00\ub2a5\uc131\uacfc \ucd5c\uc18c 2048\ubc14\uc774\ud2b8 MTU\ub9cc \ud544\uc694\ud55c DoubleZero \uc624\ubc84\ub808\uc774 \ub124\ud2b8\uc6cc\ud06c\ub97c \uc6a9\uc774\ud558\uac8c \ud569\ub2c8\ub2e4.

\uadf8\ub9bc 1\uc740 \ub300\uc5ed\ud3ed \ubc0f \ud328\ud0b7 \uc804\uc1a1\uacfc \ucc98\ub9ac \uc11c\ube44\uc2a4\ub97c \uae30\uc5ec\ud558\ub294 \uac00\uc7a5 \uac04\ub2e8\ud55c \ubaa8\ub378\uc744 \uac15\uc870\ud569\ub2c8\ub2e4. DZD\ub294 \uac01 \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \ubc30\ud3ec\ub418\uc5b4 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \ub124\ud2b8\uc6cc\ud06c\uc640 \uc778\ud130\ud398\uc774\uc2a4\ud558\uc5ec DoubleZero WAN \uc5f0\uacb0\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774\ub294 DoubleZero \uc0ac\uc6a9\uc790\ub97c \uc704\ud55c \uc628-\ub7a8\ud504\ub85c \uc0ac\uc6a9\ub418\ub294 \ub85c\uceec \uc778\ud130\ub137(\uc77c\ubc18\uc801\uc73c\ub85c DIA(Direct Internet Access) \uc194\ub8e8\uc158)\uc73c\ub85c \ubcf4\uc644\ub429\ub2c8\ub2e4. DIA\uac00 DoubleZero \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc561\uc138\uc2a4\ub97c \uc6a9\uc774\ud558\uac8c \ud558\ub294 \uc120\ud638 \uc635\uc158\uc774 \ub420 \uac83\uc73c\ub85c \uc608\uc0c1\ub418\uc9c0\ub9cc, \ub2e4\uc591\ud55c \uc5f0\uacb0 \ubaa8\ub378\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4(\uc608: \uc11c\ubc84\uc5d0 \ub300\ud55c \ubb3c\ub9ac\uc801 \ucf00\uc774\ube14\ub9c1, \ub124\ud2b8\uc6cc\ud06c \ud328\ube0c\ub9ad \ud655\uc7a5 \ub4f1). \uc774 \uc635\uc158\uc744 CYOA(Choose Your Own Adventure)\ub77c\uace0 \ud558\uba70, \uae30\uc5ec\uc790\uac00 \ub0b4\ubd80 \ub124\ud2b8\uc6cc\ud06c \uc815\ucc45\uc5d0 \uac00\uc7a5 \uc798 \ub9de\ub294 \ubc29\uc2dd\uc73c\ub85c \ub85c\uceec \ub610\ub294 \uc6d0\uaca9 \uc0ac\uc6a9\uc790\ub97c \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \uc720\uc5f0\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

\ubaa8\ub4e0 \ub124\ud2b8\uc6cc\ud06c\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c \ub3c4\ub2ec \uac00\ub2a5\uc131\uc740 \uc544\ud0a4\ud14d\ucc98\uc758 \uadfc\ubcf8\uc801\uc778 \ubd80\ubd84\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub4e4\uc740 \uace0\ub9bd\ub418\uc5b4 \uc788\uc744 \uc218 \uc5c6\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c DZD\ub294 \ucc38\uc5ec\uc790 \uac04\uc5d0 \uc5f0\uc18d\uc801\uc778 \ub124\ud2b8\uc6cc\ud06c\ub97c \ub9cc\ub4e4\uae30 \uc704\ud574 DoubleZero Exchange(DZX)\uc5d0 \ub9c1\ud06c\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.

\uadf8\ub9bc 1: 2\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uac04 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec - \ub2e8\uc77c \uae30\uc5ec\uc790"},{"location":"ko/contribute/#_4","title":"\uae30\uc5ec \uc608\uc2dc","text":"

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 DoubleZero \uae30\uc5ec\ub97c \ud655\uc7a5\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uc744 \ud3ec\ud568\ud558\uc5ec \ub2e4\uc591\ud569\ub2c8\ub2e4:

"},{"location":"ko/contribute/#1-3-2","title":"\uc608\uc2dc 1: \ub2e8\uc77c \uae30\uc5ec\uc790, 3\uac1c \ub370\uc774\ud130 \uc13c\ud130, 2\uac1c \ub9c1\ud06c","text":"\uadf8\ub9bc 2: 3\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uac04 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec - \ub2e8\uc77c \uae30\uc5ec\uc790

\ub2e8\uc77c DZD\ub294 DoubleZero\uc5d0 \uae30\uc5ec\ud558\ub294 \uc5ec\ub7ec \ub9c1\ud06c\ub97c \uc9c0\uc6d0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9bc 2\ub294 1\ub85c \ud45c\uc2dc\ub41c \ub2e8\uc77c \ub370\uc774\ud130 \uc13c\ud130\uac00 \ub450 \uac1c\uc758 \ub2e4\ub978 \uc6d0\uaca9 \ub370\uc774\ud130 \uc13c\ud130 2\uc640 3\uc5d0 \ub300\uc5ed\ud3ed\uc744 \uc885\ub2e8\ud558\ub294 \uacbd\uc6b0\uc758 \uc7a0\uc7ac\uc801 \ud1a0\ud3f4\ub85c\uc9c0\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc774 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \uac01 \ub370\uc774\ud130 \uc13c\ud130\uc5d0\ub294 DZD\uac00 \ud558\ub098\ub9cc \uc788\uc2b5\ub2c8\ub2e4. \ubaa8\ub4e0 DZD\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4\ub85c DIA\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#2-3-3","title":"\uc608\uc2dc 2: \ub2e8\uc77c \uae30\uc5ec\uc790, 3\uac1c \ub370\uc774\ud130 \uc13c\ud130, 3\uac1c \ub9c1\ud06c","text":"

\uadf8\ub9bc 3\uc740 \ub2e8\uc77c \uae30\uc5ec\uc790\uac00 3\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uc0ac\uc774\uc5d0 \uc0bc\uac01\ud615 \ud1a0\ud3f4\ub85c\uc9c0\ub85c 3\uac1c \ub9c1\ud06c\ub97c \ubc30\ud3ec\ud560 \ub54c\uc758 DoubleZero \ud1a0\ud3f4\ub85c\uc9c0\ub97c \uc124\uba85\ud569\ub2c8\ub2e4. \uc608\uc2dc 1\uacfc \uc720\uc0ac\ud55c \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c, \ub2e8\uc77c DZD\uac00 \ub370\uc774\ud130 \uc13c\ud130 1, 2, 3\uc5d0 \uac01\uac01 \ubc30\ud3ec\ub418\uba70 \uac01\uac01 2\uac1c\uc758 \ub3c5\ub9bd \ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uacb0\uacfc \ud1a0\ud3f4\ub85c\uc9c0\ub294 \ub370\uc774\ud130 \uc13c\ud130 \uac04\uc758 \uc0bc\uac01\ud615 \ub610\ub294 \ub9c1\uc785\ub2c8\ub2e4.

\uadf8\ub9bc 3: 3\uac1c \ub370\uc774\ud130 \uc13c\ud130 \uac04 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec - \ub2e8\uc77c \uae30\uc5ec\uc790"},{"location":"ko/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

\uc5f0\uc18d\uc801\uc778 \ub124\ud2b8\uc6cc\ud06c \uc0dd\uc131\uc740 DoubleZero \uc544\ud0a4\ud14d\ucc98\uc758 \uadfc\ubcf8\uc801\uc778 \uad6c\uc131 \uc694\uc18c\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub4e4\uc740 \ub274\uc695(NYC), \ub7f0\ub358(LON) \ub610\ub294 \ub3c4\ucfc4(TYO)\uc640 \uac19\uc740 \ub3c4\uc2dc\uc778 \ub300\ub3c4\uc2dc\uad8c \ub0b4\uc758 DoubleZero Exchange(DZX)\ub97c \ud1b5\ud574 \uc778\ud130\ud398\uc774\uc2a4\ud558\uba70, \uc774\ub294 \uc778\ud130\ub137 \uc775\uc2a4\uccb4\uc778\uc9c0\uc640 \uc720\uc0ac\ud55c \ub124\ud2b8\uc6cc\ud06c \ud328\ube0c\ub9ad\uc73c\ub85c \ud53c\uc5b4\ub9c1 \ubc0f \uacbd\ub85c \uad50\ud658\uc744 \ud5c8\uc6a9\ud569\ub2c8\ub2e4.

\uadf8\ub9bc 4\uc5d0\uc11c \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790 1\uc740 \ub370\uc774\ud130 \uc13c\ud130 1, 2, 3\uc5d0\uc11c \uc6b4\uc601\ud558\uace0, \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790 2\ub294 \ub370\uc774\ud130 \uc13c\ud130 2, 4, 5\uc5d0\uc11c \uc6b4\uc601\ud569\ub2c8\ub2e4. \ub370\uc774\ud130 \uc13c\ud130 2\uc5d0\uc11c \uc0c1\ud638 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub3c4\ub2ec \ubc94\uc704\uac00 5\uac1c\uc758 \uc5f0\uc18d \ub370\uc774\ud130 \uc13c\ud130\ub85c \uc99d\uac00\ud569\ub2c8\ub2e4.

\uadf8\ub9bc 4: 2\uac1c \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec\uc790 \uac04\uc758 DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub300\uc5ed\ud3ed \uae30\uc5ec"},{"location":"ko/contribute/#_5","title":"\ub300\uc5ed\ud3ed \uae30\uc5ec \uc635\uc158","text":"

DoubleZero\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uc744 \ud1b5\ud574 \ub450 \uc885\ub2e8 \ub370\uc774\ud130 \uc13c\ud130\uc758 DZD \uac04\uc5d0 \ubcf4\uc7a5\ub41c \ub300\uc5ed\ud3ed, \ub300\uae30 \uc2dc\uac04 \ubc0f \uc9c0\ud130 \ud504\ub85c\ud544\uc744 \ud1b5\ud574 \ud1b5\ud569 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud558\ub3c4\ub85d \uc694\uad6c\ud569\ub2c8\ub2e4. DoubleZero\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \uae30\uc5ec\ub97c \uad6c\ud604\ud558\ub294 \ubc29\ubc95\uc744 \uc758\ubb34\ud654\ud558\uc9c0 \uc54a\uc9c0\ub9cc, \ub2e4\uc74c \uc139\uc158\uc5d0\uc11c\ub294 \ub2e8\ub3c5 \uc7ac\ub7c9\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc9c0\uc2dc\uc801 \uc635\uc158\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

\ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uac00 \uace0\ub824\ud574\uc57c \ud560 \uc911\uc694\ud55c \uc601\uc5ed\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:

"},{"location":"ko/contribute/#1","title":"\uacc4\uce35 1 \ub300\uc5ed\ud3ed","text":"\uadf8\ub9bc 5: \uacc4\uce35 1 \uad11\ud559 \uc11c\ube44\uc2a4

\ubcf4\ub2e4 \uacf5\uc2dd\uc801\uc73c\ub85c \ud30c\uc7a5 \uc11c\ube44\uc2a4\ub85c \uc124\uba85\ub418\ub294 \uacc4\uce35 1 \ub300\uc5ed\ud3ed\uc740 DWDM, CWDM \ub610\ub294 \uad11\ud559 \uba40\ud2f0\ud50c\ub809\uc11c(MUX)\ub97c \ud1b5\ud574 \uae30\uc874 \uad11\ud559 \uc778\ud504\ub77c\uc5d0 \uc804\uc6a9 \uc6a9\ub7c9\uc744 \ud504\ub85c\ube44\uc800\ub2dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9bc 5\uc5d0\uc11c DZD\ub294 L1 MUX\uc5d0 \ucf00\uc774\ube14\ub85c \uc5f0\uacb0\ub41c \uceec\ub7ec \uc635\ud2f1\uc744 \uc0ac\uc6a9\ud558\uba70, \uc774\ub294 DZD \ud30c\uc7a5\uc744 \uae30\uc874 \ub2e4\ud06c \ud30c\uc774\ubc84\uc5d0 \uc778\ud130\ub9ac\ube59\ud569\ub2c8\ub2e4.

\uc774 \uc194\ub8e8\uc158\uc740 \uae30\uc874 \ud575\uc2ec \ub124\ud2b8\uc6cc\ud06c\ub97c \uc774\ubbf8 \uc6b4\uc601\ud558\ub294 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc5d0\uac8c \ub9ce\uc740 \uc774\uc810\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc810\uc9c4\uc801\uc778 \uc6b4\uc601 \ubcc0\uacbd\uacfc \ucd94\uac00 CAPEX \ubc0f OPEX \uc694\uad6c \uc0ac\ud56d\uc740 \uc801\uc2b5\ub2c8\ub2e4. \uc774 \uc635\uc158\uc740 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c \uc11c\ube44\uc2a4\ub85c\ubd80\ud130 \uaca9\ub9ac\ub97c \uc81c\uacf5\ud558\ub294 \ub370 \ud2b9\ud788 \uac15\ub825\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_6","title":"\ud328\ud0b7 \uad50\ud658 \ub300\uc5ed\ud3ed","text":"

\ud328\ud0b7 \uad50\ud658 \ub124\ud2b8\uc6cc\ud06c\ub294 \ube44\uc988\ub2c8\uc2a4 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc9c0\uc6d0\ud558\ub294 \ud45c\uc900 \ub77c\uc6b0\ud305 \ubc0f \uc2a4\uc704\uce6d \ud504\ub85c\ud1a0\ucf5c\uc744 \uc2e4\ud589\ud558\ub294 \uc77c\ubc18\uc801\uc778 \uc5d4\ud130\ud504\ub77c\uc774\uc988 \ub124\ud2b8\uc6cc\ud06c\ub85c \uac04\uc8fc\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. VLAN \ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud55c \uacc4\uce35 2(L2) \ud655\uc7a5 \ub4f1 \ub2e4\uc591\ud55c \ub124\ud2b8\uc6cc\ud0b9 \uae30\uc220\uc744 \ud1b5\ud574 \uc5f0\uacb0\uc131\uc744 \ub2ec\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/contribute/#l2","title":"L2 \ud655\uc7a5","text":"\uadf8\ub9bc 6: \ud328\ud0b7 \uad50\ud658 \ub124\ud2b8\uc6cc\ud06c - L2 \ud655\uc7a5

\uadf8\ub9bc 6\uc5d0 \ud45c\uc2dc\ub41c L2 \ud655\uc7a5\uc740 VLAN \ud0dc\uae45\uc744 \ud1b5\ud574 \uc6a9\uc774\ud558\uac8c \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. DZD\uc758 \ud3ec\ud2b8\ub294 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \ub124\ud2b8\uc6cc\ud06c \uc2a4\uc704\uce58\uc5d0 \ucf00\uc774\ube14\ub85c \uc5f0\uacb0\ub420 \uc218 \uc788\uc73c\uba70, \uc2a4\uc704\uce58 \ud3ec\ud2b8\ub294 \uc608\ub97c \ub4e4\uc5b4 VLAN 10\uc758 \uc561\uc138\uc2a4 \ud3ec\ud2b8\ub85c \uc124\uc815\ub429\ub2c8\ub2e4. 802.1q \ud0dc\uae45\uc744 \ud1b5\ud574 \uc774 VLAN\uc740 \uae30\uc5ec\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \uc5ec\ub7ec \uc2a4\uc704\uce58 \ud649\uc744 \ud1b5\ud574 \uc804\ub2ec\ub418\uc5b4 \uc6d0\uaca9 DZD\uc640 \uc778\ud130\ud398\uc774\uc2a4\ud558\ub294 \uc2a4\uc704\uce58\uc5d0\uc11c \uc885\ub2e8\ub429\ub2c8\ub2e4.

\uc774 \uc194\ub8e8\uc158\uc740 \ub110\ub9ac \uc9c0\uc6d0\ub418\uace0 \uad6c\ud604\ud558\uae30 \ube44\uad50\uc801 \uc26c\uc6b0\uba74\uc11c DoubleZero\uc640 \ub0b4\ubd80 \uacc4\uce35 3 \uc11c\ube44\uc2a4 \uac04\uc758 \ubd84\ub9ac\ub97c \ub9cc\ub4dc\ub294 \uc774\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub300\uc5ed\ud3ed\uc740 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uc2a4\uc704\uce58 \ub610\ub294 \ub77c\uc6b0\ud130\uc758 \uc778\ud130\ud398\uc774\uc2a4 \uc18d\ub3c4\ub97c \uae30\ubc18\uc73c\ub85c \uc81c\uc5b4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. QoS(\uc11c\ube44\uc2a4 \ud488\uc9c8) \ub610\ub294 \uae30\ud0c0 \ud2b8\ub798\ud53d \uad00\ub9ac \uc815\ucc45\uacfc \uac19\uc740 \uae30\uc220\uc744 \ud1b5\ud574 \uacf5\uc720 \ub0b4\ubd80 L2 \ub124\ud2b8\uc6cc\ud06c\uc758 \uc131\ub2a5\uc5d0 \uc2e0\uc911\ud55c \uace0\ub824\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uae30\uc5ec\uc790\uc758 \ud575\uc2ec \ub124\ud2b8\uc6cc\ud06c \ub0b4\uc5d0 \uae30\uc874 \uc6a9\ub7c9\uc774 \uc788\ub294 \uacbd\uc6b0 \ucd94\uac00 CAPEX \ubc0f OPEX \ud22c\uc790\ub294 \ucd5c\uc18c\ud654\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#3rd-party","title":"\uc804\uc6a9 3rd Party \ub300\uc5ed\ud3ed","text":"\uadf8\ub9bc 7: \uc804\uc6a9 3rd Party \ub300\uc5ed\ud3ed

\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc6a9\ub7c9\uc744 \uc7ac\uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ub9ce\uc740 \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\uc5d0\uac8c \ub9e4\ub825\uc801\uc774\uc9c0\ub9cc, \uc0c8\ub85c \ud68d\ub4dd\ud55c \ub300\uc5ed\ud3ed\uc744 DoubleZero\uc5d0 \uc804\uc6a9\uc73c\ub85c \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c DZD\ub294 \uc778\ub77c\uc778\uc5d0 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uc7a5\uce58 \uc5c6\uc774 3rd party \ud1b5\uc2e0\uc0ac\uc5d0 \uc9c1\uc811 \uc5f0\uacb0\ub429\ub2c8\ub2e4(\uadf8\ub9bc 7).

\uc774 \uc635\uc158\uc740 DoubleZero\ub97c \uc704\ud55c \uc804\uc6a9 \ub300\uc5ed\ud3ed\uc744 \ubcf4\uc7a5\ud558\uace0 \uc6b4\uc601\uc0c1 \uac04\ub2e8\ud558\uba70 \ub2e4\ub978 \ub124\ud2b8\uc6cc\ud06c \uc11c\ube44\uc2a4\ub85c\ubd80\ud130 \uc644\uc804\ud55c \ubd84\ub9ac\ub97c \ubcf4\uc7a5\ud558\uae30 \ub54c\ubb38\uc5d0 \ub9e4\ub825\uc801\uc785\ub2c8\ub2e4. \uc774 \uc635\uc158\uc740 OPEX \uc99d\uac00\uac00 \uac00\uc7a5 \ub192\uace0 3rd party \ud1b5\uc2e0\uc0ac\uc640\uc758 \uc0c8\ub85c\uc6b4 \uc11c\ube44\uc2a4 \uacc4\uc57d\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_7","title":"\ud558\ub4dc\uc6e8\uc5b4 \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute/#100gbps","title":"100Gbps \ub300\uc5ed\ud3ed \uae30\uc5ec","text":"

\uc544\ub798 \uc218\ub7c9\uc740 \ub450 \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \ud544\uc694\ud55c \uc7a5\ube44\ub97c \ubc18\uc601\ud569\ub2c8\ub2e4. \uc989, 1\uac1c\uc758 \uad11\uc12c\uc720 \ucf00\uc774\ube14 \ub300\uc5ed\ud3ed \uae30\uc5ec\ub97c \ubc30\ud3ec\ud558\ub294 \ub370 \ud544\uc694\ud55c \ucd1d \ud558\ub4dc\uc6e8\uc5b4\uc785\ub2c8\ub2e4.

*\ubaa8\ub4e0 FPGA\ub294 \ucd5c\uc885 \ud14c\uc2a4\ud2b8\ub97c \uac70\uce69\ub2c8\ub2e4. 10G \uae30\uc5ec\ub294 \ub0b4\uc7a5 \uc774\uc911 Virtex\u00ae UltraScale+\u2122 FPGA\uac00 \uc788\ub294 Arista 7130LBR \uc2a4\uc704\uce58\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc9c0\uc6d0\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4(\uc9c8\ubb38\uc774 \uc788\uc73c\uba74 DoubleZero Foundation / Malbec Labs\uac00 \uae30\uaebc\uc774 \ub354 \ub9ce\uc740 \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4)."},{"location":"ko/contribute/#_8","title":"\uae30\ub2a5 \ubc0f \ud3ec\ud2b8 \uc694\uad6c\uc0ac\ud56d","text":"\uae30\ub2a5 \ud3ec\ud2b8 \uc18d\ub3c4 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 \uc804\uc6a9 \ub300\uc5ed\ud3ed 100G \uc608 1 DIA (Direct Internet Access) 10G \uc608 2 DoubleZero eXchange (DZX) 100G \uc608* 1 \ub3d9\uc77c\ud55c \ub300\ub3c4\uc2dc\uad8c\uc5d0 3\uac1c \uc774\uc0c1\uc758 \uacf5\uae09\uc790\uac00 \uc6b4\uc601\ud558\uba74 \ubc18\ub4dc\uc2dc \uc9c0\uc6d0\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\uc804\uc5d0\ub294 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8 \ub610\ub294 \uae30\ud0c0 \ud53c\uc5b4\ub9c1 \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uad00\ub9ac \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4. \ucf58\uc194 \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4."},{"location":"ko/contribute/#dzd","title":"DZD \ub124\ud2b8\uc6cc\ud06c \ud558\ub4dc\uc6e8\uc5b4","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 AMD* V80* 24540474 \uc608 4 Arista 7280CR3A DCS-7280CR3A-32S \uc608 2 \ub9ac\ub4dc \ud0c0\uc784\uc774 \uc5b4\ub824\uc6b4 \uacbd\uc6b0 \ub300\uc548\uc774 \uac00\ub2a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},{"location":"ko/contribute/#-100g","title":"\uad11\ud559 - 100G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 100GBASE-LR QSFP-100G-LR \uc544\ub2c8\uc624 16 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. FPGA\ub97c \uc5f0\uacb0\ud558\ub294 \ub370 100G\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},{"location":"ko/contribute/#-10g","title":"\uad11\ud559 - 10G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 10GBASE-LR SFP-10G-LR \uc544\ub2c8\uc624 2 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \uc544\ub2c8\uc624 2 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4."},{"location":"ko/contribute/#ip","title":"IP \uc8fc\uc18c \uc9c0\uc815","text":"IP \uc8fc\uc18c \uc9c0\uc815 \ucd5c\uc18c \uc11c\ube0c\ub137 \ud06c\uae30 DZ \uc694\uad6c\uc0ac\ud56d \ucc38\uace0 \uacf5\uac1c IPv4 /29 \uc608 (\uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc DZD\uc758 \uacbd\uc6b0) DIA\ub97c \ud1b5\ud574 \ub77c\uc6b0\ud305 \uac00\ub2a5\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \uc774 \uc694\uad6c\uc0ac\ud56d\uc744 \uc5c6\uc568 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

DZ \ud504\ub85c\ud1a0\ucf5c\uc744 \uc704\ud574 \uc804\uccb4 /29 \ud480\uc774 \uc0ac\uc6a9 \uac00\ub2a5\ud55c\uc9c0 \ud655\uc778\ud558\uc138\uc694. DIA \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc810\ub300\uc810 \uc8fc\uc18c \uc9c0\uc815 \ub4f1\uc758 \uc694\uad6c \uc0ac\ud56d\uc740 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \ud1b5\ud574 \uad00\ub9ac\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#10gbps","title":"10Gbps \ub300\uc5ed\ud3ed \uae30\uc5ec","text":"

\uc544\ub798 \uc218\ub7c9\uc740 \ub450 \ub370\uc774\ud130 \uc13c\ud130\uc758 \uc7a5\ube44\ub97c \ubc18\uc601\ud569\ub2c8\ub2e4. \uc989, 1\uac1c\uc758 \ub300\uc5ed\ud3ed \uae30\uc5ec\ub97c \ubc30\ud3ec\ud558\ub294 \ub370 \ud544\uc694\ud55c \ucd1d \ud558\ub4dc\uc6e8\uc5b4\uc785\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_9","title":"\uae30\ub2a5 \ubc0f \ud3ec\ud2b8 \uc694\uad6c\uc0ac\ud56d","text":"\uae30\ub2a5 \ud3ec\ud2b8 \uc18d\ub3c4 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 \uc804\uc6a9 \ub300\uc5ed\ud3ed 10G \uc608 1 DIA (Direct Internet Access) 10G \uc608 2 DoubleZero eXchange (DZX) 100G \uc608* 1 \ub3d9\uc77c\ud55c \ub300\ub3c4\uc2dc\uad8c\uc5d0 3\uac1c \uc774\uc0c1\uc758 \uacf5\uae09\uc790\uac00 \uc6b4\uc601\ud558\uba74 \ubc18\ub4dc\uc2dc \uc9c0\uc6d0\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\uc804\uc5d0\ub294 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8 \ub610\ub294 \uae30\ud0c0 \ud53c\uc5b4\ub9c1 \ubc29\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uad00\ub9ac \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4. \ucf58\uc194 \uc544\ub2c8\uc624 1 \uae30\uc5ec\uc790\uc758 \ub0b4\ubd80 \uad00\ub9ac \uc815\ucc45\uc5d0 \ub530\ub77c \uacb0\uc815\ub429\ub2c8\ub2e4."},{"location":"ko/contribute/#_10","title":"\ud558\ub4dc\uc6e8\uc5b4","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 AMD* V80* 24540474* \uc608 4 Arista 7280CR3A DCS-7280CR3A-32S \uc608 2 \ub9ac\ub4dc \ud0c0\uc784\uc774 \uc5b4\ub824\uc6b4 \uacbd\uc6b0 \ub300\uc548\uc774 \uac00\ub2a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},{"location":"ko/contribute/#-100g_1","title":"\uad11\ud559 - 100G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 100GBASE-LR QSFP-100G-LR \uc544\ub2c8\uc624 14 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. FPGA\ub97c \uc5f0\uacb0\ud558\ub294 \ub370 100G\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},{"location":"ko/contribute/#-10g_1","title":"\uad11\ud559 - 10G","text":"\uc81c\uc870\uc0ac \ubaa8\ub378 \ubd80\ud488 \ubc88\ud638 DZ \uc694\uad6c\uc0ac\ud56d \uc218\ub7c9 \ucc38\uace0 Arista 10GBASE-LR SFP-10G-LR \uc544\ub2c8\uc624 4 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA \uc544\ub2c8\uc624 4 \ucf00\uc774\ube14\ub9c1 \ubc0f \uad11\ud559 \uc120\ud0dd\uc740 \uae30\uc5ec\uc790\uc758 \uc7ac\ub7c9\uc5d0 \ub530\ub985\ub2c8\ub2e4. ---"},{"location":"ko/contribute/#ip_1","title":"IP \uc8fc\uc18c \uc9c0\uc815","text":"IP \uc8fc\uc18c \uc9c0\uc815 \ucd5c\uc18c \uc11c\ube0c\ub137 \ud06c\uae30 DZ \uc694\uad6c\uc0ac\ud56d \ucc38\uace0 \uacf5\uac1c IPv4 /29 \uc608 (\uc5e3\uc9c0/\ud558\uc774\ube0c\ub9ac\ub4dc DZD\uc758 \uacbd\uc6b0) DIA\ub97c \ud1b5\ud574 \ub77c\uc6b0\ud305 \uac00\ub2a5\ud574\uc57c \ud569\ub2c8\ub2e4. \uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \uc774 \uc694\uad6c\uc0ac\ud56d\uc744 \uc5c6\uc568 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

DZ \ud504\ub85c\ud1a0\ucf5c\uc744 \uc704\ud574 \uc804\uccb4 /29 \ud480\uc774 \uc0ac\uc6a9 \uac00\ub2a5\ud55c\uc9c0 \ud655\uc778\ud558\uc138\uc694. DIA \uc778\ud130\ud398\uc774\uc2a4\uc758 \uc810\ub300\uc810 \uc8fc\uc18c \uc9c0\uc815 \ub4f1\uc758 \uc694\uad6c \uc0ac\ud56d\uc740 \ubcc4\ub3c4\uc758 \uc8fc\uc18c \ud480\uc744 \ud1b5\ud574 \uad00\ub9ac\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/contribute/#_11","title":"\ub370\uc774\ud130 \uc13c\ud130 \uc694\uad6c\uc0ac\ud56d","text":""},{"location":"ko/contribute/#_12","title":"\ub799 \ubc0f \uc804\uc6d0 \uc694\uad6c\uc0ac\ud56d","text":"\uc694\uad6c\uc0ac\ud56d \uc0ac\uc591 \ub799 \uacf5\uac04 4U \uc804\uc6d0 4KW (\uad8c\uc7a5)"},{"location":"ko/contribute/#_13","title":"\ub2e4\uc74c \ub2e8\uacc4","text":"

\uccab \ubc88\uc9f8 DZD\ub97c \ud504\ub85c\ube44\uc800\ub2dd\ud560 \uc900\ube44\uac00 \ub418\uc168\ub098\uc694? \uc7a5\uce58 \ud504\ub85c\ube44\uc800\ub2dd \uac00\uc774\ub4dc\ub97c \uacc4\uc18d\ud558\uc138\uc694.

"},{"location":"ko/glossary/","title":"\uc6a9\uc5b4\uc9d1","text":"

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.

\uc774 \ud398\uc774\uc9c0\ub294 \ubb38\uc11c \uc804\ubc18\uc5d0 \uc0ac\uc6a9\ub418\ub294 DoubleZero \uc804\uc6a9 \uc6a9\uc5b4\ub97c \uc815\uc758\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_2","title":"\ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c","text":""},{"location":"ko/glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

DoubleZero \ub9c1\ud06c\ub97c \uc885\ub2e8\ud558\uace0 DoubleZero \uc5d0\uc774\uc804\ud2b8 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud558\ub294 \ubb3c\ub9ac\uc801 \ub124\ud2b8\uc6cc\ud06c \uc2a4\uc704\uce6d \ud558\ub4dc\uc6e8\uc5b4\uc785\ub2c8\ub2e4. DZD\ub294 \ub370\uc774\ud130 \uc13c\ud130\uc5d0 \ubc30\ud3ec\ub418\uba70 \ub77c\uc6b0\ud305, \ud328\ud0b7 \ucc98\ub9ac \ubc0f \uc0ac\uc6a9\uc790 \uc5f0\uacb0 \uc11c\ube44\uc2a4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uac01 DZD\ub294 \ud2b9\uc815 \ud558\ub4dc\uc6e8\uc5b4 \uc0ac\uc591\uc744 \ud544\uc694\ub85c \ud558\uba70 Config Agent \uc640 Telemetry Agent \ub97c \ubaa8\ub450 \uc2e4\ud589\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

\uc11c\ub85c \ub2e4\ub978 \uae30\uc5ec\uc790 \ub9c1\ud06c\uac00 \uc5f0\uacb0\ub418\ub294 \uba54\uc2dc \ub124\ud2b8\uc6cc\ud06c\uc758 \uc0c1\ud638 \uc5f0\uacb0 \uc9c0\uc810\uc785\ub2c8\ub2e4. DZX\ub294 \ub124\ud2b8\uc6cc\ud06c \uad50\ucc28\uc810\uc774 \ubc1c\uc0dd\ud558\ub294 \uc8fc\uc694 \ub3c4\uc2dc \uc9c0\uc5ed(\uc608: NYC, LON, TYO)\uc5d0 \uc704\uce58\ud569\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud06c \uae30\uc5ec\uc790\ub294 \uac00\uc7a5 \uac00\uae4c\uc6b4 DZX\uc5d0\uc11c \ub9c1\ud06c\ub97c \ub354 \uad11\ubc94\uc704\ud55c DoubleZero \uba54\uc2dc\uc5d0 \ud06c\ub85c\uc2a4 \ucee4\ub125\ud2b8\ud574\uc57c \ud569\ub2c8\ub2e4. \uc778\ud130\ub137 \uad50\ud658(IX)\uacfc \uac1c\ub150\uc801\uc73c\ub85c \uc720\uc0ac\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#wan","title":"WAN \ub9c1\ud06c","text":"

\ub3d9\uc77c\ud55c \uae30\uc5ec\uc790\uac00 \uc6b4\uc601\ud558\ub294 \ub450 DZD \uac04\uc758 \uad11\uc5ed \ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\uc785\ub2c8\ub2e4. WAN \ub9c1\ud06c\ub294 \ub2e8\uc77c \uae30\uc5ec\uc790\uc758 \uc778\ud504\ub77c \ub0b4\uc5d0\uc11c \ubc31\ubcf8 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#dzx","title":"DZX \ub9c1\ud06c","text":"

DZX\uc5d0\uc11c \uc124\uc815\ub41c, \uc11c\ub85c \ub2e4\ub978 \uae30\uc5ec\uc790\uac00 \uc6b4\uc601\ud558\ub294 DZD \uac04\uc758 \ub9c1\ud06c\uc785\ub2c8\ub2e4. DZX \ub9c1\ud06c\ub294 \uc591\ucabd \ub2f9\uc0ac\uc790\uc758 \uba85\uc2dc\uc801\uc778 \uc218\ub77d\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#dz","title":"DZ \ud504\ub9ac\ud53d\uc2a4","text":"

\uc624\ubc84\ub808\uc774 \ub124\ud2b8\uc6cc\ud06c \uc8fc\uc18c \uc9c0\uc815\uc744 \uc704\ud574 DZD\uc5d0 \ud560\ub2f9\ub41c CIDR \ud615\uc2dd\uc758 IP \uc8fc\uc18c \ud560\ub2f9\uc785\ub2c8\ub2e4. --dz-prefixes \ud30c\ub77c\ubbf8\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc7a5\uce58 \uc0dd\uc131 \uc911\uc5d0 \uc9c0\uc815\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_3","title":"\uc7a5\uce58 \uc720\ud615","text":""},{"location":"ko/glossary/#_4","title":"\uc5e3\uc9c0 \uc7a5\uce58","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud558\ub294 DZD\uc785\ub2c8\ub2e4. \uc5e3\uc9c0 \uc7a5\uce58\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud65c\uc6a9\ud558\uc5ec \uc0ac\uc6a9\uc790(\uac80\uc99d\uc790, RPC \uc6b4\uc601\uc790)\ub97c \uc885\ub2e8\ud558\uace0 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_5","title":"\ud2b8\ub79c\uc9d3 \uc7a5\uce58","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c \ub0b4\uc5d0\uc11c \ubc31\ubcf8 \uc5f0\uacb0\uc744 \uc81c\uacf5\ud558\ub294 DZD\uc785\ub2c8\ub2e4. \ud2b8\ub79c\uc9d3 \uc7a5\uce58\ub294 DZD \uac04\uc5d0 \ud2b8\ub798\ud53d\uc744 \uc774\ub3d9\ud558\uc9c0\ub9cc \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uc744 \uc9c1\uc811 \uc885\ub2e8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_6","title":"\ud558\uc774\ube0c\ub9ac\ub4dc \uc7a5\uce58","text":"

\uc5e3\uc9c0\uc640 \ud2b8\ub79c\uc9d3 \uae30\ub2a5\uc744 \ubaa8\ub450 \uacb0\ud569\ud55c DZD\ub85c, \uc0ac\uc6a9\uc790 \uc5f0\uacb0\uacfc \ubc31\ubcf8 \ub77c\uc6b0\ud305\uc744 \ubaa8\ub450 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_7","title":"\uc5f0\uacb0","text":""},{"location":"ko/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

\uae30\uc5ec\uc790\uac00 \uc0ac\uc6a9\uc790\uac00 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud558\uae30 \uc704\ud55c \uc5f0\uacb0 \uc635\uc158\uc744 \ub4f1\ub85d\ud560 \uc218 \uc788\ub294 \uc778\ud130\ud398\uc774\uc2a4 \uc720\ud615\uc785\ub2c8\ub2e4. CYOA \uc778\ud130\ud398\uc774\uc2a4\uc5d0\ub294 DIA, GRE \ud130\ub110, \ud504\ub77c\uc774\ube57 \ud53c\uc5b4\ub9c1 \ub4f1 \ub2e4\uc591\ud55c \ubc29\ubc95\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uad6c\uc131 \uc138\ubd80 \uc815\ubcf4\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4 \uc0dd\uc131\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

\uacf5\uc6a9 \uc778\ud130\ub137\uc744 \ud1b5\ud574 \uc81c\uacf5\ub418\ub294 \uc5f0\uacb0\uc5d0 \ub300\ud55c \ud45c\uc900 \ub124\ud2b8\uc6cc\ud0b9 \uc6a9\uc5b4\uc785\ub2c8\ub2e4. DoubleZero\uc5d0\uc11c DIA\ub294 \uc0ac\uc6a9\uc790(\uac80\uc99d\uc790, RPC \uc6b4\uc601\uc790)\uac00 \uae30\uc874 \uc778\ud130\ub137 \uc5f0\uacb0\uc744 \ud1b5\ud574 DZD\uc5d0 \uc5f0\uacb0\ud558\ub294 CYOA \uc778\ud130\ud398\uc774\uc2a4 \uc720\ud615\uc785\ub2c8\ub2e4.

"},{"location":"ko/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

\uac80\uc99d\uc790\uc640 RPC \ub178\ub4dc\uac00 \ube14\ub85d\uccb4\uc778 \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \uc7ac\uc2dc\uc791\ud558\uc9c0 \uc54a\uace0 DoubleZero\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \uc5f0\uacb0 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. IBRL\uc740 \uae30\uc874 \uacf5\uac1c IP \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud558\uace0 \uac00\uc7a5 \uac00\uae4c\uc6b4 DZD\uc5d0 \uc624\ubc84\ub808\uc774 \ud130\ub110\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc124\uc815 \uc9c0\uce68\uc740 Mainnet-Beta \uc5f0\uacb0\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_8","title":"\uba40\ud2f0\uce90\uc2a4\ud2b8","text":"

DoubleZero\uc5d0\uc11c \uc9c0\uc6d0\ud558\ub294 \uc77c\ub300\ub2e4 \ud328\ud0b7 \uc804\ub2ec \ubc29\ubc95\uc785\ub2c8\ub2e4. \uba40\ud2f0\uce90\uc2a4\ud2b8 \ubaa8\ub4dc\uc5d0\ub294 \ubc1c\ud589\uc790(\ub124\ud2b8\uc6cc\ud06c \uc804\uccb4\uc5d0 \ud328\ud0b7 \uc804\uc1a1)\uc640 \uad6c\ub3c5\uc790(\ubc1c\ud589\uc790\ub85c\ubd80\ud130 \ud328\ud0b7 \uc218\uc2e0)\uc758 \ub450 \uac00\uc9c0 \uc5ed\ud560\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uac1c\ubc1c \ud300\uc774 \ud6a8\uc728\uc801\uc778 \ub370\uc774\ud130 \ubc30\ud3ec\ub97c \uc704\ud574 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc5f0\uacb0 \uc138\ubd80 \uc815\ubcf4\ub294 \uae30\ud0c0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_9","title":"\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uad6c\uc131 \uc694\uc18c","text":""},{"location":"ko/glossary/#doublezerod","title":"doublezerod","text":"

\uc0ac\uc6a9\uc790 \uc11c\ubc84(\uac80\uc99d\uc790, RPC \ub178\ub4dc)\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 DoubleZero \ub370\ubaac \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc744 \uad00\ub9ac\ud558\uace0, \ud130\ub110 \uc124\uc815\uc744 \ucc98\ub9ac\ud558\uba70, DZD\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4. systemd\ub97c \ud1b5\ud574 \uad6c\uc131\ub418\uace0 doublezero CLI\ub97c \ud1b5\ud574 \uc81c\uc5b4\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc640 \uc0c1\ud638\uc791\uc6a9\ud558\uae30 \uc704\ud55c \uba85\ub839\uc904 \uc778\ud130\ud398\uc774\uc2a4\uc785\ub2c8\ub2e4. \uc5f0\uacb0, \uc544\uc774\ub374\ud2f0\ud2f0 \uad00\ub9ac, \uc0c1\ud0dc \ud655\uc778 \ubc0f \uad00\ub9ac \uc791\uc5c5\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. doublezerod \ub370\ubaac\uacfc \ud1b5\uc2e0\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#config-agent","title":"Config Agent","text":"

DZD\uc5d0\uc11c \uc2e4\ud589\ub418\uc5b4 \uc7a5\uce58 \uad6c\uc131\uc744 \uad00\ub9ac\ud558\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4. \ucee8\ud2b8\ub864\ub7ec \uc11c\ube44\uc2a4\uc5d0\uc11c \uad6c\uc131\uc744 \uc77d\uace0 \uc7a5\uce58\uc5d0 \ubcc0\uacbd\uc0ac\ud56d\uc744 \uc801\uc6a9\ud569\ub2c8\ub2e4. \uc124\uc815\uc740 Config Agent \uc124\uce58\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

DZD\uc5d0\uc11c \uc2e4\ud589\ub418\uc5b4 \uc131\ub2a5 \uc9c0\ud45c(\ub300\uae30 \uc2dc\uac04, \uc9c0\ud130, \ud328\ud0b7 \uc190\uc2e4)\ub97c \uc218\uc9d1\ud558\uace0 DoubleZero \ub808\uc800\uc5d0 \uc81c\ucd9c\ud558\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4. \uc124\uc815\uc740 Telemetry Agent \uc124\uce58\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_10","title":"\ucee8\ud2b8\ub864\ub7ec","text":"

DZD \uc5d0\uc774\uc804\ud2b8\uc5d0 \uad6c\uc131\uc744 \uc81c\uacf5\ud558\ub294 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. \ucee8\ud2b8\ub864\ub7ec\ub294 DoubleZero \ub808\uc800\uc758 \uc628\uccb4\uc778 \uc0c1\ud0dc\uc5d0\uc11c \uc7a5\uce58 \uad6c\uc131\uc744 \ub3c4\ucd9c\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_11","title":"\ub9c1\ud06c \uc0c1\ud0dc","text":""},{"location":"ko/glossary/#activated","title":"\ud65c\uc131\ud654\ub428 (Activated)","text":"

\ub9c1\ud06c\uc758 \uc815\uc0c1 \uc6b4\uc601 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \ud2b8\ub798\ud53d\uc774 \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud750\ub974\uace0 \ub77c\uc6b0\ud305 \uacb0\uc815\uc5d0 \ucc38\uc5ec\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#soft-drained","title":"\uc18c\ud504\ud2b8 \ub4dc\ub808\uc778 (Soft-Drained)","text":"

\ud2b9\uc815 \ub9c1\ud06c\uc758 \ud2b8\ub798\ud53d\uc744 \uc904\uc774\ub294 \uc720\uc9c0\ubcf4\uc218 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \uc810\uc9c4\uc801\uc778 \uc720\uc9c0\ubcf4\uc218 \ucc3d\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud65c\uc131\ud654\ub428 \ub610\ub294 \ud558\ub4dc \ub4dc\ub808\uc778\uc73c\ub85c \uc804\ud658\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/glossary/#hard-drained","title":"\ud558\ub4dc \ub4dc\ub808\uc778 (Hard-Drained)","text":"

\ub9c1\ud06c\uac00 \uc11c\ube44\uc2a4\uc5d0\uc11c \uc644\uc804\ud788 \uc81c\uac70\ub418\ub294 \uc720\uc9c0\ubcf4\uc218 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \ub9c1\ud06c\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc774 \ud750\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud65c\uc131\ud654\ub428\uc73c\ub85c \ub3cc\uc544\uac00\uae30 \uc804\uc5d0 \uc18c\ud504\ud2b8 \ub4dc\ub808\uc778\uc73c\ub85c \uc804\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_12","title":"\uc870\uc9c1 \ubc0f \ud1a0\ud070","text":""},{"location":"ko/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

DoubleZero Foundation\uc740 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \uac1c\ubc1c, \ud0c8\uc911\uc559\ud654, \ubcf4\uc548 \ubc0f \ucc44\ud0dd\uc744 \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \uc124\ub9bd\ub41c \ube44\ud68c\uc6d0 \ube44\uc601\ub9ac \ucf00\uc774\ub9e8 \uc81c\ub3c4 \ud30c\uc6b4\ub370\uc774\uc158 \ucef4\ud37c\ub2c8\uc785\ub2c8\ub2e4.

"},{"location":"ko/glossary/#2z","title":"2Z \ud1a0\ud070","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc758 \ub124\uc774\ud2f0\ube0c \ud1a0\ud070\uc785\ub2c8\ub2e4. \uac80\uc99d\uc790 \uc218\uc218\ub8cc \ub0a9\ubd80 \ubc0f \uae30\uc5ec\uc790\uc5d0\uac8c \ubcf4\uc0c1 \ubc30\ud3ec\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uac80\uc99d\uc790\ub294 \uc628\uccb4\uc778 \uc2a4\uc651 \ud504\ub85c\uadf8\ub7a8\uc744 \ud1b5\ud574 2Z\ub85c \uc218\uc218\ub8cc\ub97c \ub0a9\ubd80\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. 2Z\ub85c \uc218\uc218\ub8cc \ub0a9\ubd80 \ubc0f SOL\uc744 2Z\ub85c \uc2a4\uc651\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#contributor","title":"\uae30\uc5ec\uc790 (Contributor)","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ub300\uc5ed\ud3ed\uacfc \ud558\ub4dc\uc6e8\uc5b4\ub97c \uae30\uc5ec\ud558\ub294 \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c \uc81c\uacf5\uc5c5\uccb4\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub294 DZD\ub97c \uc6b4\uc601\ud558\uace0 WAN \ubc0f DZX \ub9c1\ud06c\ub97c \uc81c\uacf5\ud558\uba70 \uae30\uc5ec\uc5d0 \ub300\ud55c 2Z \ud1a0\ud070 \uc778\uc13c\ud2f0\ube0c\ub97c \ubc1b\uc2b5\ub2c8\ub2e4. \uc2dc\uc791\ud558\ub824\uba74 \uae30\uc5ec\uc790 \ubb38\uc11c\ub97c \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/glossary/#_13","title":"\ub124\ud2b8\uc6cc\ud0b9 \uac1c\ub150","text":""},{"location":"ko/glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

\ub124\ud2b8\uc6cc\ud06c \ub9c1\ud06c\ub97c \ud1b5\ud574 \uc804\uc1a1\ud560 \uc218 \uc788\ub294 \uac00\uc7a5 \ud070 \ud328\ud0b7 \ud06c\uae30(\ubc14\uc774\ud2b8)\uc785\ub2c8\ub2e4. DoubleZero WAN \ub9c1\ud06c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud6a8\uc728\uc131\uc744 \uc704\ud574 MTU 9000(\uc810\ubcf4 \ud504\ub808\uc784)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

\ub3d9\uc77c\ud55c \ubb3c\ub9ac\uc801 \ub77c\uc6b0\ud130\uc5d0 \uc5ec\ub7ec \uac1c\uc758 \uaca9\ub9ac\ub41c \ub77c\uc6b0\ud305 \ud14c\uc774\ube14\uc774 \uc874\uc7ac\ud560 \uc218 \uc788\ub294 \uae30\uc220\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub294 \uc885\uc885 \ubcc4\ub3c4\uc758 \uad00\ub9ac VRF\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2a4\uc704\uce58 \uad00\ub9ac \ud2b8\ub798\ud53d\uc744 \ud504\ub85c\ub355\uc158 \ud2b8\ub798\ud53d\uc73c\ub85c\ubd80\ud130 \uaca9\ub9ac\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

IP \ud328\ud0b7 \ub0b4\uc5d0 \ub124\ud2b8\uc6cc\ud06c \ud328\ud0b7\uc744 \ucea1\uc290\ud654\ud558\ub294 \ud130\ub110\ub9c1 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uc640 DZD \uac04\uc5d0 \uc624\ubc84\ub808\uc774 \ud130\ub110\uc744 \uc0dd\uc131\ud558\uae30 \uc704\ud574 IBRL \ubc0f CYOA \uc5f0\uacb0\uc5d0 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

\uc778\ud130\ub137\uc758 \ub124\ud2b8\uc6cc\ud06c \uac04 \ub77c\uc6b0\ud305 \uc815\ubcf4 \uad50\ud658\uc5d0 \uc0ac\uc6a9\ub418\ub294 \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. DoubleZero\ub294 ASN 65342\ub85c \ub0b4\ubd80\uc801\uc73c\ub85c BGP\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

BGP \ub77c\uc6b0\ud305\uc744 \uc704\ud574 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ud560\ub2f9\ub41c \uace0\uc720 \uc2dd\ubcc4\uc790\uc785\ub2c8\ub2e4. \ubaa8\ub4e0 DoubleZero \uc7a5\uce58\ub294 \ub0b4\ubd80 BGP \ud504\ub85c\uc138\uc2a4\uc5d0 ASN 65342\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_14","title":"\ub8e8\ud504\ubc31 \uc778\ud130\ud398\uc774\uc2a4","text":"

\uad00\ub9ac \ubc0f \ub77c\uc6b0\ud305 \ubaa9\uc801\uc73c\ub85c \ub77c\uc6b0\ud130/\uc2a4\uc704\uce58\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uac00\uc0c1 \ub124\ud2b8\uc6cc\ud06c \uc778\ud130\ud398\uc774\uc2a4\uc785\ub2c8\ub2e4. DZD\ub294 \ub0b4\ubd80 \ub77c\uc6b0\ud305\uc5d0 Loopback255 (VPNv4) \ubc0f Loopback256 (IPv4)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

IP \uc8fc\uc18c \ubc94\uc704\ub97c \uc9c0\uc815\ud558\uae30 \uc704\ud55c \ud45c\uae30\ubc95\uc785\ub2c8\ub2e4. \ud615\uc2dd\uc740 IP/\ud504\ub9ac\ud53d\uc2a4-\uae38\uc774\uc774\uba70 \ud504\ub9ac\ud53d\uc2a4 \uae38\uc774\ub294 \ub124\ud2b8\uc6cc\ud06c \ud06c\uae30\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4(\uc608: /29 = 8\uac1c \uc8fc\uc18c, /24 = 256\uac1c \uc8fc\uc18c).

"},{"location":"ko/glossary/#jitter","title":"\uc9c0\ud130 (Jitter)","text":"

\uc2dc\uac04\uc774 \uc9c0\ub0a8\uc5d0 \ub530\ub77c \ud328\ud0b7 \ub300\uae30 \uc2dc\uac04\uc758 \ubcc0\ub3d9\uc785\ub2c8\ub2e4. \ub0ae\uc740 \uc9c0\ud130\ub294 \uc2e4\uc2dc\uac04 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

\ud328\ud0b7\uc774 \uc18c\uc2a4\uc5d0\uc11c \ubaa9\uc801\uc9c0\uae4c\uc9c0 \uc774\ub3d9\ud558\uace0 \ub2e4\uc2dc \ub3cc\uc544\uc624\ub294 \uc2dc\uac04\uc785\ub2c8\ub2e4. \uc7a5\uce58 \uac04 \ub124\ud2b8\uc6cc\ud06c \ub300\uae30 \uc2dc\uac04\uc744 \uce21\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

\ub300\uae30 \uc2dc\uac04 \ubc0f \ud328\ud0b7 \uc190\uc2e4\uacfc \uac19\uc740 \ub124\ud2b8\uc6cc\ud06c \uc131\ub2a5 \uc9c0\ud45c\ub97c \uce21\uc815\ud558\uae30 \uc704\ud55c \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. Telemetry Agent\ub294 TWAMP\ub97c \uc0ac\uc6a9\ud558\uc5ec DZD \uac04\uc758 \uc9c0\ud45c\ub97c \uc218\uc9d1\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc5d0\uc11c \ub0b4\ubd80\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \ub9c1\ud06c \uc0c1\ud0dc \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\uc785\ub2c8\ub2e4. IS-IS \uc9c0\ud45c\ub294 \ub9c1\ud06c \ub4dc\ub808\uc778 \uc791\uc5c5 \uc911\uc5d0 \uc870\uc815\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_15","title":"\ube14\ub85d\uccb4\uc778 \ubc0f \ud0a4","text":""},{"location":"ko/glossary/#onchain","title":"\uc628\uccb4\uc778 (Onchain)","text":"

DoubleZero \ub9e5\ub77d\uc5d0\uc11c \uc628\uccb4\uc778\uc740 DoubleZero \ub808\uc800\uc5d0 \uae30\ub85d\ub41c \ub370\uc774\ud130\uc640 \uc791\uc5c5\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc7a5\uce58 \ubc0f \ub9c1\ud06c \uad6c\uc131\uc774 \uc911\uc559\ud654\ub41c \uad00\ub9ac \uc2dc\uc2a4\ud15c\uc5d0 \uc788\ub294 \uae30\uc874 \ub124\ud2b8\uc6cc\ud06c\uc640 \ub2ec\ub9ac DoubleZero\ub294 \uc7a5\uce58 \ub4f1\ub85d, \ub9c1\ud06c \uad6c\uc131 \ubc0f \ud154\ub808\uba54\ud2b8\ub9ac \uc81c\ucd9c\uc744 \uc628\uccb4\uc778\uc73c\ub85c \uae30\ub85d\ud558\uc5ec \ubaa8\ub4e0 \ucc38\uc5ec\uc790\uac00 \ub124\ud2b8\uc6cc\ud06c \uc0c1\ud0dc\ub97c \ud22c\uba85\ud558\uace0 \uac80\uc99d \uac00\ub2a5\ud558\uac8c \ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#service-key","title":"\uc11c\ube44\uc2a4 \ud0a4 (Service Key)","text":"

CLI \uc791\uc5c5\uc744 \uc778\uc99d\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \uc554\ud638\ud654 \ud0a4\uc30d\uc785\ub2c8\ub2e4. DoubleZero \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uacfc \uc0c1\ud638\uc791\uc6a9\ud558\uae30 \uc704\ud55c \uae30\uc5ec\uc790 \uc544\uc774\ub374\ud2f0\ud2f0\uc785\ub2c8\ub2e4. ~/.config/solana/id.json\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#metrics-publisher-key","title":"\uba54\ud2b8\ub9ad\uc2a4 \ubc1c\ud589\uc790 \ud0a4 (Metrics Publisher Key)","text":"

\ube14\ub85d\uccb4\uc778\uc5d0 \uc9c0\ud45c \uc81c\ucd9c\uc744 \uc11c\uba85\ud558\uae30 \uc704\ud574 Telemetry Agent\uac00 \uc0ac\uc6a9\ud558\ub294 \uc554\ud638\ud654 \ud0a4\uc30d\uc785\ub2c8\ub2e4. \ubcf4\uc548 \uaca9\ub9ac\ub97c \uc704\ud574 \uc11c\ube44\uc2a4 \ud0a4\uc640 \ubcc4\ub3c4\uc785\ub2c8\ub2e4. ~/.config/doublezero/metrics-publisher.json\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4.

"},{"location":"ko/glossary/#_16","title":"\ud558\ub4dc\uc6e8\uc5b4 \ubc0f \uc18c\ud504\ud2b8\uc6e8\uc5b4","text":""},{"location":"ko/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

DZD \uc2a4\uc704\uce58\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 Arista\uc758 \ub124\ud2b8\uc6cc\ud06c \uc6b4\uc601 \uccb4\uc81c\uc785\ub2c8\ub2e4. \uae30\uc5ec\uc790\ub294 Config Agent \ubc0f Telemetry Agent\ub97c EOS \ud655\uc7a5\uc73c\ub85c \uc124\uce58\ud569\ub2c8\ub2e4.

"},{"location":"ko/glossary/#eos","title":"EOS \ud655\uc7a5","text":"

Arista EOS \uc2a4\uc704\uce58\uc5d0 \uc124\uce58\ud560 \uc218 \uc788\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ud328\ud0a4\uc9c0\uc785\ub2c8\ub2e4. DZ \uc5d0\uc774\uc804\ud2b8\ub294 .rpm \ud30c\uc77c\ub85c \ubc30\ud3ec\ub418\uba70 extension \uba85\ub839\uc744 \ud1b5\ud574 \uc124\uce58\ub429\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"ko/multicast-admin/#doublezero","title":"DoubleZero \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \uad00\ub9ac","text":"

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \uacf5\ud1b5 \uc2dd\ubcc4\uc790(\uc77c\ubc18\uc801\uc73c\ub85c \uba40\ud2f0\uce90\uc2a4\ud2b8 IP \uc8fc\uc18c)\ub97c \uacf5\uc720\ud558\uc5ec \uc5ec\ub7ec \uc218\uc2e0\uc790\uc5d0\uac8c \ub370\uc774\ud130\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uc804\uc1a1\ud558\ub294 \uc7a5\uce58 \ub610\ub294 \ub124\ud2b8\uc6cc\ud06c \ub178\ub4dc\uc758 \ub17c\ub9ac\uc801 \uc9d1\ud569\uc785\ub2c8\ub2e4. \uc720\ub2c8\uce90\uc2a4\ud2b8(1:1) \ub610\ub294 \ube0c\ub85c\ub4dc\uce90\uc2a4\ud2b8(1:\uc804\uccb4) \ud1b5\uc2e0\uacfc \ub2ec\ub9ac \uba40\ud2f0\uce90\uc2a4\ud2b8\ub294 \uc1a1\uc2e0\uc790\uac00 \ub2e8\uc77c \ub370\uc774\ud130 \uc2a4\ud2b8\ub9bc\uc744 \uc804\uc1a1\ud558\uba74 \ub124\ud2b8\uc6cc\ud06c\uac00 \uadf8\ub8f9\uc5d0 \uac00\uc785\ud55c \uc218\uc2e0\uc790\uc5d0\uac8c\ub9cc \uc774\ub97c \ubcf5\uc81c\ud558\uc5ec \uc804\ub2ec\ud569\ub2c8\ub2e4.

\uc774 \ubc29\uc2dd\uc740 \ud328\ud0b7\uc774 \ub9c1\ud06c\ub2f9 \ud55c \ubc88\ub9cc \uc804\uc1a1\ub418\uace0 \uc5ec\ub7ec \uad6c\ub3c5\uc790\uc5d0\uac8c \ub3c4\ub2ec\ud558\uae30 \uc704\ud574 \ud544\uc694\ud560 \ub54c\ub9cc \ubcf5\uc81c\ub418\ubbc0\ub85c \ub300\uc5ed\ud3ed \uc0ac\uc6a9\uc744 \ucd5c\uc801\ud654\ud558\uace0 \uc1a1\uc2e0\uc790 \ubc0f \ub124\ud2b8\uc6cc\ud06c \uc778\ud504\ub77c\uc758 \ubd80\ud558\ub97c \uc904\uc785\ub2c8\ub2e4. \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \ub77c\uc774\ube0c \ube44\ub514\uc624 \uc2a4\ud2b8\ub9ac\ubc0d, \ud68c\uc758, \uae08\uc735 \ub370\uc774\ud130 \ubc30\ud3ec, \uc2e4\uc2dc\uac04 \uba54\uc2dc\uc9d5 \uc2dc\uc2a4\ud15c \ub4f1\uc758 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \uc77c\ubc18\uc801\uc73c\ub85c \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

DoubleZero\uc5d0\uc11c \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \uac01 \uadf8\ub8f9 \ub0b4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubcf4\ub0bc \uc218 \uc788\ub294 \uc0ac\ub78c(\ubc1c\ud589\uc790)\uacfc \ubc1b\uc744 \uc218 \uc788\ub294 \uc0ac\ub78c(\uad6c\ub3c5\uc790)\uc744 \uad00\ub9ac\ud558\ub294 \uc548\uc804\ud558\uace0 \uc81c\uc5b4\ub41c \uba54\ucee4\ub2c8\uc998\uc744 \uc81c\uacf5\ud558\uc5ec \ud6a8\uc728\uc801\uc774\uace0 \uad00\ub9ac\ub418\ub294 \uc815\ubcf4 \ubc30\ud3ec\ub97c \ubcf4\uc7a5\ud569\ub2c8\ub2e4.

flowchart LR\n    subgraph Publishers\n        P1[\ubc1c\ud589\uc790 1]\n        P2[\ubc1c\ud589\uc790 2]\n        P3[\ubc1c\ud589\uc790 3]\n    end\n    subgraph Subscribers\n        S1[\uad6c\ub3c5\uc790 1]\n        S2[\uad6c\ub3c5\uc790 2]\n        S3[\uad6c\ub3c5\uc790 3]\n        S4[\uad6c\ub3c5\uc790 4]\n    end\n    P1 --> B[\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

\uc704 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc740 \uc5ec\ub7ec \uc0ac\uc6a9\uc790\uac00 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \uba54\uc2dc\uc9c0\ub97c \ubc1c\ud589\ud558\uace0 \uc5ec\ub7ec \uc0ac\uc6a9\uc790\uac00 \ud574\ub2f9 \uba54\uc2dc\uc9c0\ub97c \uc218\uc2e0\ud558\uae30 \uc704\ud574 \uad6c\ub3c5\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. DoubleZero \ub124\ud2b8\uc6cc\ud06c\ub294 \ud328\ud0b7\uc744 \ud6a8\uc728\uc801\uc73c\ub85c \ubcf5\uc81c\ud558\uc5ec \ubaa8\ub4e0 \uad6c\ub3c5\uc790\uac00 \ubd88\ud544\uc694\ud55c \uc804\uc1a1 \uc624\ubc84\ud5e4\ub4dc \uc5c6\uc774 \uba54\uc2dc\uc9c0\ub97c \ubc1b\uc744 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#1","title":"1. \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \uc0dd\uc131 \ubc0f \ubaa9\ub85d \uc870\ud68c","text":"

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 DoubleZero\uc758 \uc548\uc804\ud558\uace0 \ud6a8\uc728\uc801\uc778 \ub370\uc774\ud130 \ubc30\ud3ec\ub97c \uc704\ud55c \uae30\ubc18\uc785\ub2c8\ub2e4. \uac01 \uadf8\ub8f9\uc740 \uace0\uc720\ud558\uac8c \uc2dd\ubcc4\ub418\uba70 \ud2b9\uc815 \ub300\uc5ed\ud3ed\uacfc \uc18c\uc720\uc790\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4. \uc0c8 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 DoubleZero Foundation \uad00\ub9ac\uc790\ub9cc \uc0dd\uc131\ud560 \uc218 \uc788\uc5b4 \uc801\uc808\ud55c \uac70\ubc84\ub10c\uc2a4\uc640 \ub9ac\uc18c\uc2a4 \ud560\ub2f9\uc744 \ubcf4\uc7a5\ud569\ub2c8\ub2e4.

\uc0dd\uc131\ub41c \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 \ubaa8\ub4e0 \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uadf8\ub8f9, \uadf8 \uad6c\uc131 \ubc0f \ud604\uc7ac \uc0c1\ud0dc\uc5d0 \ub300\ud55c \uac1c\uc694\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \ubaa9\ub85d \uc870\ud68c\uac00 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\ub294 \ub124\ud2b8\uc6cc\ud06c \uc6b4\uc601\uc790\uc640 \uadf8\ub8f9 \uc18c\uc720\uc790\uac00 \ub9ac\uc18c\uc2a4\ub97c \ubaa8\ub2c8\ud130\ub9c1\ud558\uace0 \uc561\uc138\uc2a4\ub97c \uad00\ub9ac\ud558\ub294 \ub370 \ud544\uc218\uc801\uc785\ub2c8\ub2e4.

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \uc0dd\uc131:

\uc0c8 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc740 DoubleZero Foundation\ub9cc \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0dd\uc131 \uba85\ub839\uc5d0\ub294 \uace0\uc720 \ucf54\ub4dc, \ucd5c\ub300 \ub300\uc5ed\ud3ed, \uc18c\uc720\uc790 \uacf5\uac1c \ud0a4(\ub610\ub294 \ud604\uc7ac \uc9c0\ubd88\uc790\uc758 \uacbd\uc6b0 'me')\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

\ubaa8\ub4e0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \ubaa9\ub85d \uc870\ud68c:

\ubaa8\ub4e0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc694\uc57d \uc815\ubcf4(\uadf8\ub8f9 \ucf54\ub4dc, \uba40\ud2f0\uce90\uc2a4\ud2b8 IP, \ub300\uc5ed\ud3ed, \ubc1c\ud589\uc790 \ubc0f \uad6c\ub3c5\uc790 \uc218, \uc0c1\ud0dc, \uc18c\uc720\uc790 \ud3ec\ud568)\ub97c \uc870\ud68c\ud558\ub824\uba74:

doublezero multicast group list\n

\uc0d8\ud50c \ucd9c\ub825:

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\uc774 \uba85\ub839\uc740 \ubaa8\ub4e0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc8fc\uc694 \uc18d\uc131\uc774 \ud3ec\ud568\ub41c \ud45c\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4: - account: \uadf8\ub8f9 \uacc4\uc815 \uc8fc\uc18c - code: \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \ucf54\ub4dc - multicast_ip: \uadf8\ub8f9\uc5d0 \ud560\ub2f9\ub41c \uba40\ud2f0\uce90\uc2a4\ud2b8 IP \uc8fc\uc18c - max_bandwidth: \uadf8\ub8f9\uc758 \ucd5c\ub300 \ud5c8\uc6a9 \ub300\uc5ed\ud3ed - publishers: \uadf8\ub8f9\uc758 \ubc1c\ud589\uc790 \uc218 - subscribers: \uadf8\ub8f9\uc758 \uad6c\ub3c5\uc790 \uc218 - status: \ud604\uc7ac \uc0c1\ud0dc (\uc608: activated) - owner: \uc18c\uc720\uc790 \uacf5\uac1c \ud0a4

\uadf8\ub8f9\uc774 \uc0dd\uc131\ub418\uba74 \uc18c\uc720\uc790\ub294 \ubc1c\ud589\uc790 \ub610\ub294 \uad6c\ub3c5\uc790\ub85c \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \uc0ac\uc6a9\uc790\ub97c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#2","title":"2. \ubc1c\ud589\uc790/\uad6c\ub3c5\uc790 \ud5c8\uc6a9 \ubaa9\ub85d \uad00\ub9ac","text":"

\ubc1c\ud589\uc790 \ubc0f \uad6c\ub3c5\uc790 \ud5c8\uc6a9 \ubaa9\ub85d\uc740 DoubleZero\uc758 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\ub97c \uc81c\uc5b4\ud558\ub294 \ub370 \ud544\uc218\uc801\uc785\ub2c8\ub2e4. \uc774 \ubaa9\ub85d\uc740 \ud2b9\uc815 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9 \ub0b4\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubc1c\ud589(\uc804\uc1a1)\ud558\uac70\ub098 \uad6c\ub3c5(\uc218\uc2e0)\ud560 \uc218 \uc788\ub294 \uc0ac\uc6a9\uc790\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \uc815\uc758\ud569\ub2c8\ub2e4.

\uc774 \ubaa9\ub85d \uad00\ub9ac\ub294 \uadf8\ub8f9 \uc18c\uc720\uc790\uc758 \ucc45\uc784\uc774\uba70, DoubleZero CLI\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2b9\uc778\ub41c \ubc1c\ud589\uc790\uc640 \uad6c\ub3c5\uc790\ub97c \ucd94\uac00, \uc81c\uac70\ud558\uac70\ub098 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc801\uc808\ud55c \ud5c8\uc6a9 \ubaa9\ub85d \uad00\ub9ac\ub294 \uba40\ud2f0\uce90\uc2a4\ud2b8 \ud1b5\uc2e0\uc758 \ubcf4\uc548, \ubb34\uacb0\uc131 \ubc0f \ucd94\uc801 \uac00\ub2a5\uc131\uc744 \uc720\uc9c0\ud558\ub294 \ub370 \uc911\uc694\ud569\ub2c8\ub2e4.

\ucc38\uace0: \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \uad6c\ub3c5\ud558\uac70\ub098 \ubc1c\ud589\ud558\ub824\uba74 \uc0ac\uc6a9\uc790\uac00 \uba3c\uc800 \ud45c\uc900 \uc5f0\uacb0 \uc808\ucc28\ub97c \ub530\ub77c DoubleZero\uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d \uc2b9\uc778\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc124\uba85\ub41c \ud5c8\uc6a9 \ubaa9\ub85d \uba85\ub839\uc740 \uc774\ubbf8 \uc2b9\uc778\ub41c DoubleZero \uc0ac\uc6a9\uc790\ub97c \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc5f0\uacb0\ud558\uae30\ub9cc \ud569\ub2c8\ub2e4. \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc758 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc0c8 IP\ub97c \ucd94\uac00\ud558\ub294 \uac83 \uc790\uccb4\ub85c\ub294 DoubleZero\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\uac00 \ubd80\uc5ec\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uacfc \uc0c1\ud638 \uc791\uc6a9\ud558\uae30 \uc804\uc5d0 \uc774\ubbf8 \uc77c\ubc18 \uc2b9\uc778 \ud504\ub85c\uc138\uc2a4\ub97c \uc644\ub8cc\ud588\uc5b4\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#_1","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \ubc1c\ud589\uc790 \ucd94\uac00","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_2","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0\uc11c \ubc1c\ud589\uc790 \uc81c\uac70","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_3","title":"\uadf8\ub8f9\uc758 \ubc1c\ud589\uc790 \ud5c8\uc6a9 \ubaa9\ub85d \uc870\ud68c","text":"

\ud2b9\uc815 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc758 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \ubc1c\ud589\uc790\ub97c \uc870\ud68c\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:

doublezero multicast group allowlist publisher list --code <CODE>\n

\uc608\uc2dc:

doublezero multicast group allowlist publisher list --code mg01\n

\uc0d8\ud50c \ucd9c\ub825:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\uc774 \uba85\ub839\uc740 \uc9c0\uc815\ub41c \uadf8\ub8f9\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \ud604\uc7ac \uc2b9\uc778\ub41c \ubaa8\ub4e0 \ubc1c\ud589\uc790(\uacc4\uc815, \uadf8\ub8f9 \ucf54\ub4dc, \ud074\ub77c\uc774\uc5b8\ud2b8 IP, \uc0ac\uc6a9\uc790 \uc9c0\ubd88\uc790 \ud3ec\ud568)\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.

"},{"location":"ko/multicast-admin/#_4","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uad6c\ub3c5\uc790 \ucd94\uac00","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_5","title":"\ud5c8\uc6a9 \ubaa9\ub85d\uc5d0\uc11c \uad6c\ub3c5\uc790 \uc81c\uac70","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"ko/multicast-admin/#_6","title":"\uadf8\ub8f9\uc758 \uad6c\ub3c5\uc790 \ud5c8\uc6a9 \ubaa9\ub85d \uc870\ud68c","text":"

\ud2b9\uc815 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc758 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc788\ub294 \ubaa8\ub4e0 \uad6c\ub3c5\uc790\ub97c \uc870\ud68c\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4:

doublezero multicast group allowlist subscriber list --code <CODE>\n

\uc608\uc2dc:

doublezero multicast group allowlist subscriber list --code mg01\n

\uc0d8\ud50c \ucd9c\ub825:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

\uc774 \uba85\ub839\uc740 \uc9c0\uc815\ub41c \uadf8\ub8f9\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \ud604\uc7ac \uc2b9\uc778\ub41c \ubaa8\ub4e0 \uad6c\ub3c5\uc790(\uacc4\uc815, \uadf8\ub8f9 \ucf54\ub4dc, \ud074\ub77c\uc774\uc5b8\ud2b8 IP, \uc0ac\uc6a9\uc790 \uc9c0\ubd88\uc790 \ud3ec\ud568)\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.

\uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0 \ubc0f \uc0ac\uc6a9\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uae30\ud0c0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5f0\uacb0\uc744 \ucc38\uc870\ud558\uc138\uc694.

"},{"location":"ko/paying-fees/","title":"\uac80\uc99d\uc790 \uac00\uaca9 \ubc0f \uc218\uc218\ub8cc","text":"

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.

Solana \uac80\uc99d\uc790\ub97c \uc704\ud55c \uac04\ub2e8\ud558\uace0 \ud22c\uba85\ud55c \uac00\uaca9

\uc218\uc218\ub8cc\ub294 2024\ub144 10\uc6d4 4\uc77c \ud1a0\uc694\uc77c \ub3d9\ubd80 \uc2dc\uac04 \uc624\uc804 4\uc2dc\uc5d0 \uc2dc\uc791\ub418\ub294 859 \uc5d0\ud3ec\ud06c\ubd80\ud130 \uc2dc\uc791\ub429\ub2c8\ub2e4. \ube14\ub85d \uc11c\uba85 \ubcf4\uc0c1 \ubc0f \uc6b0\uc120 \uc218\uc218\ub8cc\uc5d0 \ub300\ud574 \uade0\uc77c\ud55c 5% \uc218\uc218\ub8cc\uac00 \ubd80\uacfc\ub429\ub2c8\ub2e4.

\uc218\uc218\ub8cc\ub294 DoubleZero\ub97c \uac00\ub2a5\ud558\uac8c \ud558\ub294 \uc778\ud504\ub77c, \uc989 \ub370\uc774\ud130 \uc13c\ud130\uc758 \ubb3c\ub9ac\uc801 \uad11\uc12c\uc720 \ub77c\uc778 \ubc0f \uc7a5\ube44\uc5d0 \uc9c1\uc811 \uc790\uae08\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.

\uc218\uc218\ub8cc\uac00 \uc874\uc7ac\ud558\ub294 \uc774\uc720\uc640 \uac80\uc99d\uc790 \uac00\uaca9 \ubaa8\ub378\uc5d0 \ub300\ud55c \uc2ec\uce35\uc801\uc778 \ud0d0\uad6c\ub294 \uc5ec\uae30\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\uc774 \uac00\uc774\ub4dc\ub294 \uae30\uc220\uc801 \uad00\uc810\uc5d0\uc11c \uc218\uc218\ub8cc\uac00 \uc5b4\ub5bb\uac8c \ub0a9\ubd80\ub418\ub294\uc9c0\uc5d0 \ucd08\uc810\uc744 \ub9de\ucda5\ub2c8\ub2e4.

"},{"location":"ko/paying-fees/#_2","title":"\uacb0\uc81c \ubaa8\ub378","text":""},{"location":"ko/paying-fees/#_3","title":"\uc218\uc218\ub8cc \ucd94\uc815","text":"

\uacfc\uac70 \ucd94\uc815\uce58 \ubc0f \uacf5\uac1c \ud0a4\ubcc4 \ub370\uc774\ud130\ub294 \uc218\uc218\ub8cc \ucd94\uc815 \uc800\uc7a5\uc18c\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc800\uc7a5\uc18c\ub294 \uc628\uccb4\uc778 \ub370\uc774\ud130\ub97c \ub300\uccb4\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc800\uc7a5\uc18c\uc758 \uc794\uc561\uc774 \uc544\ub2cc \uc628\uccb4\uc778 \uc794\uc561\uc744 \uad00\ub9ac\ud560 \ucc45\uc784\uc774 \uc788\uc2b5\ub2c8\ub2e4.

\uc9c8\ubb38\uc774 \uc788\uc73c\uc2dc\uba74 Nihar Shah(nihar@doublezero.us)\uc5d0\uac8c \uc5f0\ub77d\ud558\uc138\uc694.

"},{"location":"ko/paying-fees/#_4","title":"\uac1c\ubc1c\uc790 \uc138\ubd80 \uc815\ubcf4","text":""},{"location":"ko/paying-fees/#_5","title":"\uba85\ub839\uc904 \uc778\ud130\ud398\uc774\uc2a4","text":"

DoubleZero CLI\ub294 \uac80\uc99d\uc790 \ubcf4\uc99d\uae08\uc744 \uad00\ub9ac\ud558\uace0 \uc794\uc561\uc744 \ubaa8\ub2c8\ud130\ub9c1\ud558\ub294 \uba85\ub839\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud558\ub294 \uacc4\uc815\uc5d0\ub294 \uac00\uc2a4 \ube44\uc6a9\uc744 \uc704\ud55c SOL\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.

"},{"location":"ko/paying-fees/#1","title":"1\ub2e8\uacc4: \ubbf8\ub0a9 \ucc44\ubb34 \uc774\ud574","text":"

\ud2b9\uc815 \uc8fc\uc18c\uc758 \ucc44\ubb34\ub97c \ubcf4\ub824\uba74 \ub2e4\uc74c \ud615\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
\uc544\ub798\uc5d0\uc11c \uc608\uc81c \ucd9c\ub825\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
\uc0d8\ud50c \ucd9c\ub825\uc5d0\ub294 note \uc544\ub798\uc5d0 \ub450 \uac00\uc9c0 \ub2e4\ub978 \ucd9c\ub825\uc774 \uc788\uc2b5\ub2c8\ub2e4. Not funded\ub294 \uacc4\uc815\uc5d0 \uc790\uae08\uc774 \uc5c6\uc74c\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc608\uc5d0\uc11c 0.632515639 SOL needed\ub294 \ub300\uc0c1 \uac80\uc99d\uc790 ID\uc640 \uad00\ub828\ub41c \ud604\uc7ac \ubbf8\ub0a9 \ucc44\ubb34\ub97c \ubaa8\ub450 \ub0a9\ubd80\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubbf8\ub0a9 SOL \uae08\uc561\uc785\ub2c8\ub2e4.

"},{"location":"ko/paying-fees/#2","title":"2\ub2e8\uacc4: \ubbf8\ub0a9 \ucc44\ubb34 \ub0a9\ubd80","text":"

Note

\uc774 \uba85\ub839\uc744 \uc815\uae30\uc801\uc778 \uac04\uaca9\uc73c\ub85c \uc2e4\ud589\ud558\ub3c4\ub85d \uc608\uc57d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\ubbf8\ub0a9 \ucc44\ubb34\ub97c \ub0a9\ubd80\ud558\ub824\uba74 \ub2e4\uc74c \uba85\ub839\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uba85\ub839\uc740 \uc790\ub3d9\uc73c\ub85c $HOME/.config/solana/id.json\uc758 \uae30\ubcf8 \ud0a4\uc30d\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.

\uba85\ub839 \ub05d\uc5d0 -k path/to/keypair.json \uc778\uc218\ub97c \ucd94\uac00\ud558\uc5ec \ucc44\ubb34 \ub0a9\ubd80\uc5d0 \uc0ac\uc6a9\ud560 \ud0a4\uc30d\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
\uc544\ub798\uc5d0 \uc608\uc81c \ucd9c\ub825\uc774 \uc81c\uacf5\ub429\ub2c8\ub2e4.

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: \uc790\uae08\uc774 \uc9c0\uc6d0\ub41c \ubcf4\uc99d\uae08 \uacc4\uc815\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4

Funded: \uc990\uaca8\ucc3e\ub294 Solana \ud0d0\uc0c9\uae30\uc5d0\uc11c \uc870\ud68c\ud560 \uc218 \uc788\ub294 \ud2b8\ub79c\uc7ad\uc158 \ud574\uc2dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4

Node ID: \ub0a9\ubd80\ub41c \uac80\uc99d\uc790 ID\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4

Balance: \uc804\uc1a1 \uc644\ub8cc \ud6c4 \ubcf4\uc99d\uae08 \uacc4\uc815\uc758 SOL \uae08\uc561\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4

"},{"location":"ko/paying-fees2z/","title":"Paying fees2z","text":"

\ucf54\ub4dc \ub610\ub294 \uad00\ub828 \uc790\ub8cc\uc5d0 \uc561\uc138\uc2a4\ud558\uac70\ub098 \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \uba74\ucc45 \uc870\ud56d\uc744 \uac80\ud1a0\ud558\uc138\uc694.

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.

\uba74\ucc45 \uc870\ud56d

\uc774 \ubb38\uc11c\uc640 \uad00\ub828 \ucf54\ub4dc\ub294 \uc815\ubcf4 \ubc0f \uae30\uc220\uc801 \ubaa9\uc801\uc73c\ub85c\ub9cc \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \uc124\uba85\ub41c \ud1a0\ud070 \ubcc0\ud658 \uae30\ub2a5\uc740 \ube44\uc218\ud0c1\ud615\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uae30\ubcf8 \uc2a4\ub9c8\ud2b8 \uacc4\uc57d\uacfc \uc9c1\uc811 \uc0c1\ud638 \uc791\uc6a9\ud558\uba70 \ud56d\uc0c1 \uc790\uc0b0\uc5d0 \ub300\ud55c \uc644\uc804\ud55c \ud1b5\uc81c\uad8c\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4.

\uc774 \uc2dc\uc2a4\ud15c\uc740 \uac1c\ubc1c\uc790 \ub610\ub294 \uac8c\uc2dc\uc790\uac00 \uac1c\ubc1c, \uc81c\uc5b4 \ub610\ub294 \uac80\ud1a0\ud558\uc9c0 \uc54a\uc740 \uc81c3\uc790 \ucf54\ub4dc, \ub370\uc774\ud130 \uc18c\uc2a4 \ub610\ub294 \uac00\uaca9 \ubc0f \uc218\uc218\ub8cc \uba54\ucee4\ub2c8\uc998(\uc608: \uc2a4\ub9c8\ud2b8 \uacc4\uc57d, API \ub610\ub294 \ud0c8\uc911\uc559\ud654 \uac70\ub798\uc18c)\uc5d0 \uc758\uc874\ud558\uac70\ub098 \uc0c1\ud638 \uc791\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc81c3\uc790 \uad6c\uc131 \uc694\uc18c\uc758 \uc815\ud655\uc131, \uae30\ub2a5 \ub610\ub294 \ubcf4\uc548\uc5d0 \ub300\ud55c \uc5b4\ub5a0\ud55c \ubcf4\uc99d\uc774\ub098 \ubcf4\uc7a5\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc815\ud655\uc131, \uc644\uc804\uc131 \ub610\ub294 \uc9c0\uc18d\uc801\uc778 \uac00\uc6a9\uc131\uc744 \ubcf4\uc7a5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ubc0f \uad00\ub828 \uc790\ub8cc\ub294 \"\uc788\ub294 \uadf8\ub300\ub85c\" \uc81c\uacf5\ub418\uba70 \ubc84\uadf8, \uc624\ub958 \ub610\ub294 \ucde8\uc57d\uc810\uc774 \ud3ec\ud568\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc740 \uc804\uc801\uc73c\ub85c \uadc0\ud558\uc758 \ucc45\uc784\uc785\ub2c8\ub2e4. \ucf54\ub4dc\uc758 \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \uc774 \uacc4\uc57d\uc758 \uc0ac\uc6a9\uacfc \uad00\ub828\ud558\uc5ec \uc5b4\ub5a0\ud55c \uc218\uc218\ub8cc\ub3c4 \ubc1b\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ucf54\ub4dc \ub610\ub294 \uad00\ub828 \ubb38\uc11c\ub97c \uc720\uc9c0, \uc5c5\ub370\uc774\ud2b8 \ub610\ub294 \uc9c0\uc6d0\ud560 \uc758\ubb34\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.

\uc774 \ubb38\uc11c\ub294 \ud1a0\ud070 \ubcc0\ud658, \uc2a4\uc651 \ub610\ub294 \uae30\ud0c0 \uac70\ub798\uc5d0 \ub9e4\ub3c4 \uc81c\uc548, \ub9e4\uc218 \uad8c\uc720 \ub610\ub294 \ucc38\uc5ec \uad8c\uc7a5\uc73c\ub85c \uad6c\uc131\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ubc95\uc801, \uc7ac\uc815\uc801 \ub610\ub294 \ud22c\uc790 \uc870\uc5b8\uc740 \uc81c\uacf5\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \ud65c\ub3d9\uc758 \ud569\ubc95\uc131\uc744 \uacb0\uc815\ud560 \uc804\uc801\uc778 \ucc45\uc784\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \uad00\ud560 \uc9c0\uc5ed\uc5d0\uc11c \uc801\uc6a9 \uac00\ub2a5\ud55c \ubc95\ub960\uacfc \uaddc\uc815\uc744 \uac80\ud1a0\ud558\uace0 \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 \ubcc0\ud658\uc5d0 \ucc38\uc5ec\ud558\uae30 \uc804\uc5d0 \ub3c5\ub9bd\uc801\uc778 \uc5b4\ub4dc\ubc14\uc774\uc800\uc640 \uc0c1\ub2f4\ud574\uc57c \ud569\ub2c8\ub2e4. \uc81c\uc7ac \ub300\uc0c1 \ub610\ub294 \uc81c\ud55c\ub41c \uad00\ud560 \uc9c0\uc5ed\uc758 \uc0ac\ub78c \ub610\ub294 \uc8fc\uccb4\ub97c \ud3ec\ud568\ud558\uc5ec \ubd88\ubc95\uc774 \ub420 \uacbd\uc6b0 \uc0ac\uc6a9\uc774 \uae08\uc9c0\ub429\ub2c8\ub2e4.

\ubc95\ub960\uc774 \ud5c8\uc6a9\ud558\ub294 \ucd5c\ub300\ud55c\ub3c4 \ub0b4\uc5d0\uc11c \uac1c\ubc1c\uc790 \ubc0f \uac8c\uc2dc\uc790\ub294 \ucf54\ub4dc \uc0ac\uc6a9 \ub610\ub294 \ubcc0\ud658 \ucc38\uc5ec\uc640 \uad00\ub828\ud558\uc5ec \ubc1c\uc0dd\ud558\ub294 \uc190\uc2e4, \uc190\ud574 \ub610\ub294 \uccad\uad6c\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ucc45\uc784\uc744 \uba74\ucc45\ud569\ub2c8\ub2e4.

\uc774 \ubb38\uc11c \ubc0f \uad00\ub828 \ucf54\ub4dc\uc758 \uac80\ud1a0 \ubc0f \uc0ac\uc6a9\uc740 \uc6f9\uc0ac\uc774\ud2b8 \uc774\uc6a9\uc57d\uad00 \ubc0f \ud504\ub85c\ud1a0\ucf5c \uc774\uc6a9\uc57d\uad00\uc5d0 \ub530\ub985\ub2c8\ub2e4.

\uac80\uc99d\uc790\ub294 \uc628\uccb4\uc778 \uc2a4\uc651 \ud504\ub85c\uadf8\ub7a8\uc744 \ud1b5\ud574 2Z\ub85c \uc218\uc218\ub8cc\ub97c \ub0a9\ubd80\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc2a4\uc651\uc740 2Z\ub97c SOL\ub85c \uad50\ud658\ud558\uc5ec \uc218\ud589\ub429\ub2c8\ub2e4. \uc608\uce58 \uacc4\uc815\uc758 SOL \uc794\uc561\uc774 \uc2a4\uc651\uc5d0 \ub530\ub77c \uc5c5\ub370\uc774\ud2b8\ub429\ub2c8\ub2e4.

\uc774 \ud504\ub85c\uc138\uc2a4\ub294 \ud56d\uc0c1 1 SOL \ub2e8\uc704\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774 \uc2a4\uc651\uc758 \uacb0\uacfc\ub294 \ud56d\uc0c1 \uc608\uce58 \uacc4\uc815\uc73c\ub85c \uc9c1\uc811 \uc785\uae08\ub429\ub2c8\ub2e4. \uc774\ub294 \uc77c\ubc29\ud1b5\ud589\uc785\ub2c8\ub2e4. \uc774 \ud2b8\ub79c\uc7ad\uc158\uc5d0\uc11c 2Z \ub610\ub294 SOL\uc744 \ud68c\uc218\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc628\uccb4\uc778 \ubc30\ubd84 \ubaa8\ub4c8\ub85c \uc804\uc1a1\ub429\ub2c8\ub2e4.

"},{"location":"ko/paying-fees2z/#1","title":"1\ub2e8\uacc4","text":"

\uba3c\uc800 \ud604\uc7ac \ud658\uc728\uc744 \ud655\uc778\ud569\ub2c8\ub2e4.

doublezero-solana revenue-distribution fetch sol-conversion\n

\ucd9c\ub825:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"ko/paying-fees2z/#2","title":"2\ub2e8\uacc4","text":"

\uc9c0\uc815\uac00 \uc8fc\ubb38\uc744 \ud569\ub2c8\ub2e4. \uc774 \uc2a4\uc651\uc740 \uadc0\ud558\uc758 \ucc45\uc784 \ud558\uc5d0 \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc704\ud5d8 \ud504\ub85c\ud544\uc5d0 \ub300\ud55c \uad8c\uc7a5 \uc0ac\ud56d\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc73c\uba70, \uc5ec\uae30\uc5d0 \uc81c\uacf5\ub41c \uc608\uc2dc\ub294 \uad50\uc721 \ubaa9\uc801\uc73c\ub85c\ub9cc \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

"},{"location":"ko/paying-fees2z/#_1","title":"\uc9c0\uc815\uac00 \uc8fc\ubb38 \uad6c\uc131 \ubc29\ubc95","text":"

\uc704\uc758 \uc608\ub97c \ubc14\ud0d5\uc73c\ub85c \uc774\uc81c \ud638\uac00 \uac00\uaca9\ubcf4\ub2e4 5% \ub192\uc740 \uc9c0\uc815\uac00 \uc8fc\ubb38\uc744 \ud569\ub2c8\ub2e4. 797.76 * 1.05 = 837.65

\uc774 \uc608\uc2dc\uc5d0\uc11c \uc608\uce58 \uacc4\uc815\uc5d0 0 SOL\uc774 \uc788\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
\uc704 \uba85\ub839\uc5d0\uc11c --fund 1\uc5d0 \uc8fc\ubaa9\ud558\uc138\uc694. \uc774\ub294 \uc608\uce58 \uacc4\uc815\uc5d0 1 SOL\uc744 \uba85\uc2dc\uc801\uc73c\ub85c \ud380\ub529\ud569\ub2c8\ub2e4.

1 \uc774\uc678\uc758 \uc22b\uc790\ub97c \uc120\ud0dd\ud558\uba74 \uc798\ubabb\ub41c \uae08\uc561\uc744 \uc54c\ub9ac\ub294 \uc624\ub958\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

\ud2b8\ub79c\uc7ad\uc158\uc744 \ud655\uc778\ud558\ub77c\ub294 \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

\ucd9c\ub825:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
\uc131\uacf5\uc801\uc778 \uc2a4\uc651 \uc2dc Balance:\uac00 1 SOL\ub85c \uc5c5\ub370\uc774\ud2b8\ub41c \uac83\uc744 \uc8fc\ubaa9\ud558\uc138\uc694.

\uac00\uaca9\uc774 \uc9c0\uc815\ub41c \ubc94\uc704\ub97c \ubc97\uc5b4\ub098\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"ko/quick-connect/","title":"\ube60\ub978 \uc5f0\uacb0","text":"

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.

\uba87 \uac00\uc9c0 \uc9c8\ubb38\uc5d0 \ub2f5\ud558\uba74 \uc124\uc815\uc5d0 \ub9de\ub294 \uc815\ud655\ud55c \ub2e8\uacc4\uc640 \uba85\ub839\uc774 \ud3ec\ud568\ub41c \ub9de\ucda4\ud615 \uc5f0\uacb0 \uac00\uc774\ub4dc\ub97c \uc0dd\uc131\ud574 \ub4dc\ub9bd\ub2c8\ub2e4.

\uac04\uc18c\ud654\ub41c \uac00\uc774\ub4dc

\uc774 \ub9c8\ubc95\uc0ac\ub294 \ucd5c\ub300\ud55c \ube60\ub974\uac8c \uc5f0\uacb0\ud560 \uc218 \uc788\ub3c4\ub85d \uc804\uccb4 \ubb38\uc11c\uc758 \ud575\uc2ec \ub0b4\uc6a9\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc804\uccb4 \uc138\ubd80 \uc815\ubcf4\ub294 \uc124\uc815 \ubc0f \ud14c\ub10c\ud2b8 \uac00\uc774\ub4dc\ub97c \ucc38\uc870\ud558\uc138\uc694.

\uc5b4\ub5a4 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0\ud558\uace0 \uc788\ub098\uc694? Mainnet-Beta \ud65c\uc131 \uac80\uc99d\uc790 \ubc0f RPC \uc6b4\uc601\uc790\ub97c \uc704\ud55c \ud504\ub85c\ub355\uc158 \ub124\ud2b8\uc6cc\ud06c Testnet \ud14c\uc2a4\ud2b8 \ubc0f \uac1c\ubc1c \ub124\ud2b8\uc6cc\ud06c \uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589 \uc911\uc778 \uc6b4\uc601 \uccb4\uc81c\ub294 \ubb34\uc5c7\uc778\uac00\uc694? Ubuntu / Debian Ubuntu 22.04+ \ub610\ub294 Debian 11+ Rocky Linux / RHEL Rocky Linux \ub610\ub294 RHEL 9+ \uc5b4\ub5a4 \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc778\uac00\uc694? Solana Solana\uc758 \uac80\uc99d\uc790 \ubc0f RPC \uc6b4\uc601\uc790 Shelby Shelby\uc758 RPC \ubc0f \uc2a4\ud1a0\ub9ac\uc9c0 \ub178\ub4dc (\ud14c\uc2a4\ud2b8\ub137 \uc804\uc6a9) \uc0c8 \ud14c\ub10c\ud2b8 \uae30\ud0c0 \uc5d0\ucf54\uc2dc\uc2a4\ud15c \uc5b4\ub5a4 \ubc29\ud654\ubcbd \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\ub098\uc694? iptables \uc9c1\uc811 iptables \uaddc\uce59 UFW Uncomplicated Firewall \uc5b4\ub5a4 \uc720\ud615\uc758 \ub178\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\ub098\uc694? \uac80\uc99d\uc790 \uc544\uc774\ub374\ud2f0\ud2f0 \ud0a4\uc30d\uc774 \uc788\ub294 \ub9ac\ub354 \uc2a4\ucf00\uc904\ub41c Solana \uac80\uc99d\uc790 \ube44\uac80\uc99d\uc790 (RPC) RPC \ub178\ub4dc \ub610\ub294 MEV \uc778\ud504\ub77c \uc5b4\ub5a4 \uc5f0\uacb0 \ubaa8\ub4dc\uac00 \ud544\uc694\ud55c\uac00\uc694? \uc720\ub2c8\uce90\uc2a4\ud2b8 (IBRL) \ud45c\uc900 \uc9c0\uc810\uac04 \uc5f0\uacb0 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc77c\ub300\ub2e4 \ud328\ud0b7 \uc804\ub2ec (\ubc1c\ud589\uc790/\uad6c\ub3c5\uc790) \ub458 \ub2e4 \uc720\ub2c8\uce90\uc2a4\ud2b8 \ubc0f \uba40\ud2f0\uce90\uc2a4\ud2b8 \ud130\ub110 \ub3d9\uc2dc \uc0ac\uc6a9 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uc5ed\ud560\uc740 \ubb34\uc5c7\uc778\uac00\uc694? \ubc1c\ud589\uc790 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0 \ub370\uc774\ud130 \uc804\uc1a1 (\uc608: \ube14\ub85d \uc0dd\uc131\uc790) \uad6c\ub3c5\uc790 \uba40\ud2f0\uce90\uc2a4\ud2b8 \uadf8\ub8f9\uc5d0\uc11c \ub370\uc774\ud130 \uc218\uc2e0"},{"location":"ko/setup/","title":"DoubleZero \uc124\uc815 \ubc29\ubc95","text":"

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.

\uc6a9\uc5b4

DoubleZero\uac00 \ucc98\uc74c\uc774\uc2e0\uac00\uc694? doublezerod, IBRL, DZD\uc640 \uac19\uc740 \uc6a9\uc5b4\uc758 \uc815\uc758\ub294 \uc6a9\uc5b4\uc9d1\uc744 \ucc38\uc870\ud558\uc138\uc694.

DoubleZero\uc5d0 \uc5f0\uacb0\ud568\uc73c\ub85c\uc368 DoubleZero \uc11c\ube44\uc2a4 \uc57d\uad00\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4

"},{"location":"ko/setup/#_1","title":"\uc0ac\uc804 \uc694\uad6c\uc0ac\ud56d","text":"

Warning

\uac80\uc99d\uc790\uc758 \uacbd\uc6b0: DoubleZero\ub294 \ucee8\ud14c\uc774\ub108\uac00 \uc544\ub2cc \uac80\uc99d\uc790 \ud638\uc2a4\ud2b8\uc5d0 \uc9c1\uc811 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4.

"},{"location":"ko/setup/#doublezero_1","title":"DoubleZero\uc5d0 \uc5f0\uacb0","text":"

DoubleZero \ud14c\uc2a4\ud2b8\ub137\uacfc DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0\ub294 \ubb3c\ub9ac\uc801\uc73c\ub85c \ubcc4\uac1c\uc758 \ub124\ud2b8\uc6cc\ud06c\uc785\ub2c8\ub2e4. \uc124\uce58 \uc2dc \uc801\uc808\ud55c \ub124\ud2b8\uc6cc\ud06c\ub97c \uc120\ud0dd\ud558\uc138\uc694.

DoubleZero\uc5d0 \uc628\ubcf4\ub529\ud560 \ub54c \uacf5\uac1c \ud0a4\uc778 DoubleZero ID\ub85c \ud45c\ud604\ub418\ub294 DoubleZero \uc2e0\uc6d0\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc774 \ud0a4\ub294 DoubleZero\uac00 \uae30\uacc4\ub97c \uc778\uc2dd\ud558\ub294 \ubc29\ubc95\uc758 \uc77c\ubd80\uc785\ub2c8\ub2e4.

"},{"location":"ko/setup/#1-doublezero","title":"1. DoubleZero \ud328\ud0a4\uc9c0 \uc124\uce58","text":"

\ud604\uc7ac \ubc84\uc804

\ud328\ud0a4\uc9c0 \uba54\uc778\ub137-\ubca0\ud0c0 \ud14c\uc2a4\ud2b8\ub137 doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

\uc6b4\uc601 \uccb4\uc81c\uc5d0 \ub530\ub77c \ub2e4\uc74c \ub2e8\uacc4\ub97c \ub530\ub974\uc138\uc694:

"},{"location":"ko/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

\uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

\ud14c\uc2a4\ud2b8\ub137\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"ko/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

\uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\ud14c\uc2a4\ud2b8\ub137\uc5d0 \uad8c\uc7a5\ub418\ub294 \ud604\uc7ac \ubc30\ud3ec:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

\uae30\uc874 \uc0ac\uc6a9\uc790 \uc804\uc6a9: \ud14c\uc2a4\ud2b8\ub137\uc5d0\uc11c \uba54\uc778\ub137-\ubca0\ud0c0\ub85c \ub610\ub294 \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ub137\uc73c\ub85c \ud328\ud0a4\uc9c0 \ubcc0\uacbd

\uc704\uc758 \ud328\ud0a4\uc9c0 \uc800\uc7a5\uc18c \uc911 \ud558\ub098\uc5d0\uc11c \uc124\uce58\ud558\uba74 DoubleZero \ud14c\uc2a4\ud2b8\ub137 \ub610\ub294 DoubleZero \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0 \ud2b9\uc815\ub429\ub2c8\ub2e4. \uc5b4\ub290 \uc2dc\uc810\uc5d0\uc11c\ub4e0 \ub124\ud2b8\uc6cc\ud06c\ub97c \ubcc0\uacbd\ud558\ub294 \uacbd\uc6b0 \uc774\uc804\uc5d0 \uc124\uce58\ub41c \ud328\ud0a4\uc9c0 \uc800\uc7a5\uc18c\ub97c \uc81c\uac70\ud558\uace0 \ub300\uc0c1 \uc800\uc7a5\uc18c\ub85c \uc5c5\ub370\uc774\ud2b8\ud574\uc57c \ud569\ub2c8\ub2e4.

\uc774 \uc608\uc2dc\ub294 \ud14c\uc2a4\ud2b8\ub137\uc5d0\uc11c \uba54\uc778\ub137-\ubca0\ud0c0 \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.

\ub3d9\uc77c\ud55c \ub2e8\uacc4\ub97c \uc644\ub8cc\ud558\uc5ec \uba54\uc778\ub137-\ubca0\ud0c0\uc5d0\uc11c \ud14c\uc2a4\ud2b8\ub137\uc73c\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e8, 3\ub2e8\uacc4\ub97c \uc704\uc758 \ud14c\uc2a4\ud2b8\ub137 \uc124\uce58 \uba85\ub839\uc73c\ub85c \uad50\uccb4\ud558\uc138\uc694.

  1. \uc774\uc804 \uc800\uc7a5\uc18c \ud30c\uc77c \ucc3e\uae30

    \uba3c\uc800 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uae30\uc874 DoubleZero \uc800\uc7a5\uc18c \uad6c\uc131 \ud30c\uc77c\uc744 \ucc3e\uc2b5\ub2c8\ub2e4:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. \uc774\uc804 \uc800\uc7a5\uc18c \ud30c\uc77c \uc81c\uac70

    \uc774\uc804 \ub2e8\uacc4\uc5d0\uc11c \ucc3e\uc740 \uc774\uc804 \uc800\uc7a5\uc18c \ud30c\uc77c\uc744 \uc81c\uac70\ud569\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. \uc0c8 \uc800\uc7a5\uc18c\uc5d0\uc11c \uc124\uce58

    \uc0c8 \uba54\uc778\ub137-\ubca0\ud0c0 \uc800\uc7a5\uc18c\ub97c \ucd94\uac00\ud558\uace0 \ucd5c\uc2e0 \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud569\ub2c8\ub2e4:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"ko/setup/#doublezerod","title":"doublezerod \uc0c1\ud0dc \ud655\uc778","text":"

\ud328\ud0a4\uc9c0\uac00 \uc124\uce58\ub418\uba74 \uc0c8 systemd \uc720\ub2db\uc774 \uc124\uce58, \ud65c\uc131\ud654 \ubc0f \uc2dc\uc791\ub429\ub2c8\ub2e4. \uc0c1\ud0dc\ub97c \ud655\uc778\ud558\ub824\uba74 \ub2e4\uc74c\uc744 \uc2e4\ud589\ud558\uc138\uc694:

sudo systemctl status doublezerod\n

"},{"location":"ko/setup/#gre-bgp","title":"GRE \ubc0f BGP\ub97c \uc704\ud55c \ubc29\ud654\ubcbd \uad6c\uc131","text":"

DoubleZero\ub294 GRE \ud130\ub110\ub9c1(IP \ud504\ub85c\ud1a0\ucf5c 47) \ubc0f BGP \ub77c\uc6b0\ud305(\ub9c1\ud06c-\ub85c\uceec \uc8fc\uc18c\uc758 tcp/179)\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \ubc29\ud654\ubcbd\uc774 \uc774 \ud504\ub85c\ud1a0\ucf5c\uc744 \ud5c8\uc6a9\ud558\ub294\uc9c0 \ud655\uc778\ud558\uc138\uc694:

iptables\ub97c \ud1b5\ud574 GRE \ubc0f BGP \ud5c8\uc6a9:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

\ub610\ub294 UFW\ub97c \ud1b5\ud574 GRE \ubc0f BGP \ud5c8\uc6a9:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"ko/setup/#2-doublezero","title":"2. \uc0c8 DoubleZero \uc2e0\uc6d0 \uc0dd\uc131","text":"

\ub2e4\uc74c \uba85\ub839\uc73c\ub85c \uc11c\ubc84\uc5d0 DoubleZero \uc2e0\uc6d0\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4:

doublezero keygen\n

Info

\uc0ac\uc6a9\ud558\uace0 \uc2f6\uc740 \uae30\uc874 ID\uac00 \uc788\ub294 \uacbd\uc6b0 \ub2e4\uc74c \uc120\ud0dd\uc801 \ub2e8\uacc4\ub97c \ub530\ub97c \uc218 \uc788\uc2b5\ub2c8\ub2e4.

doublezero \uad6c\uc131 \ub514\ub809\ud1a0\ub9ac \uc0dd\uc131

mkdir -p ~/.config/doublezero\n

DoubleZero\uc640 \ud568\uaed8 \uc0ac\uc6a9\ud558\ub824\ub294 id.json\uc744 doublezero \uad6c\uc131 \ub514\ub809\ud1a0\ub9ac\uc5d0 \ubcf5\uc0ac\ud558\uac70\ub098 \ub9c1\ud06c\ud569\ub2c8\ub2e4.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"ko/setup/#3-doublezero","title":"3. \uc11c\ubc84\uc758 DoubleZero \uc2e0\uc6d0 \ud655\uc778","text":"

DoubleZero \uc2e0\uc6d0\uc744 \ud655\uc778\ud569\ub2c8\ub2e4. \uc774 \uc2e0\uc6d0\uc740 \uae30\uacc4\uc640 DoubleZero \uac04\uc758 \uc5f0\uacb0\uc744 \uc0dd\uc131\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.

doublezero address\n

\ucd9c\ub825:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"ko/setup/#4-doublezerod-dz","title":"4. doublezerod\uac00 DZ \uc7a5\uce58\ub97c \ubc1c\uacac\ud588\ub294\uc9c0 \ud655\uc778","text":"

\uc5f0\uacb0\ud558\uae30 \uc804\uc5d0 doublezerod\uac00 \uc0ac\uc6a9 \uac00\ub2a5\ud55c DZ \ud14c\uc2a4\ud2b8\ub137 \uc2a4\uc704\uce58\ub97c \uac01\uac01 \ubc1c\uacac\ud558\uace0 \ud551\ud588\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4:

doublezero latency\n

\uc0d8\ud50c \ucd9c\ub825:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

\ucd9c\ub825\uc5d0 \uc7a5\uce58\uac00 \ubc18\ud658\ub418\uc9c0 \uc54a\uc73c\uba74 10-20\ucd08 \uae30\ub2e4\ub9b0 \ud6c4 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc138\uc694.

"},{"location":"ko/setup/#5-doublezero","title":"5. DoubleZero\uc5d0\uc11c \uc5f0\uacb0 \ud574\uc81c","text":"

\ub2e4\uc74c \uc139\uc158\uc5d0\uc11c DoubleZero \ud658\uacbd\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc131\uacf5\uc801\uc778 \uc124\uc815\uc744 \uc704\ud574 \ud604\uc7ac \uc138\uc158\uc758 \uc5f0\uacb0\uc744 \ud574\uc81c\ud558\uc138\uc694. \uc774\ub807\uac8c \ud558\uba74 \uae30\uacc4\uc5d0 \uc5f4\ub824 \uc788\ub294 \uc5ec\ub7ec \ud130\ub110\uacfc \uad00\ub828\ub41c \ubb38\uc81c\ub97c \ubc29\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

\ud655\uc778

doublezero status\n

up \uc0c1\ud0dc\uc774\uba74 \ub2e4\uc74c\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4:

doublezero disconnect\n
"},{"location":"ko/setup/#_2","title":"\ub2e4\uc74c \ub2e8\uacc4: \ud14c\ub10c\ud2b8","text":"

DoubleZero \uc5f0\uacb0\uc740 \uc0ac\uc6a9 \uc0ac\ub840\uc5d0 \ub530\ub77c \ub2e4\ub985\ub2c8\ub2e4. DoubleZero\uc5d0\uc11c \ud14c\ub10c\ud2b8\ub294 \uc720\uc0ac\ud55c \uc0ac\uc6a9\uc790 \ud504\ub85c\ud544\uc744 \uac00\uc9c4 \uadf8\ub8f9\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ube14\ub85d\uccb4\uc778, \ub370\uc774\ud130 \uc804\uc1a1 \ub808\uc774\uc5b4 \ub4f1\uc774 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/setup/#_3","title":"\uc5ec\uae30\uc11c \ud14c\ub10c\ud2b8\ub97c \uc120\ud0dd\ud558\uc138\uc694","text":""},{"location":"ko/setup/#prometheus","title":"\uc120\ud0dd \uc0ac\ud56d: Prometheus \uba54\ud2b8\ub9ad \ud65c\uc131\ud654","text":"

Prometheus \uba54\ud2b8\ub9ad\uc5d0 \uc775\uc219\ud55c \uc6b4\uc601\uc790\ub294 DoubleZero \ubaa8\ub2c8\ud130\ub9c1\uc744 \uc704\ud574 \ud65c\uc131\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 \uc131\ub2a5, \uc5f0\uacb0 \uc0c1\ud0dc \ubc0f \uc6b4\uc601 \uc0c1\ud0dc\uc5d0 \ub300\ud55c \uac00\uc2dc\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.

"},{"location":"ko/setup/#_4","title":"\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba54\ud2b8\ub9ad","text":"

DoubleZero\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc8fc\uc694 \uba54\ud2b8\ub9ad\uc744 \ub178\ucd9c\ud569\ub2c8\ub2e4: - \ube4c\ub4dc \uc815\ubcf4: \ubc84\uc804, \ucee4\ubc0b \ud574\uc2dc \ubc0f \ube4c\ub4dc \ub0a0\uc9dc - \uc138\uc158 \uc0c1\ud0dc: DoubleZero \uc138\uc158\uc758 \ud65c\uc131 \uc5ec\ubd80 - \uc5f0\uacb0 \uba54\ud2b8\ub9ad: \ub300\uae30 \uc2dc\uac04 \ubc0f \uc5f0\uacb0 \uc815\ubcf4 - \uc131\ub2a5 \ub370\uc774\ud130: \ucc98\ub9ac\ub7c9 \ubc0f \uc624\ub958\uc728

"},{"location":"ko/setup/#prometheus_1","title":"Prometheus \uba54\ud2b8\ub9ad \ud65c\uc131\ud654","text":"

DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c Prometheus \uba54\ud2b8\ub9ad\uc744 \ud65c\uc131\ud654\ud558\ub824\uba74 \ub2e4\uc74c \ub2e8\uacc4\ub97c \ub530\ub974\uc138\uc694:

"},{"location":"ko/setup/#1-doublezerod-systemd","title":"1. doublezerod systemd \uc11c\ube44\uc2a4 \uc2dc\uc791 \uba85\ub839 \uc218\uc815","text":"

systemd \uc7ac\uc815\uc758 \uad6c\uc131\uc744 \uc0dd\uc131\ud558\uac70\ub098 \ud3b8\uc9d1\ud569\ub2c8\ub2e4:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

\ub2e4\uc74c \uad6c\uc131\uc73c\ub85c \uad50\uccb4\ud569\ub2c8\ub2e4:

-env \ud50c\ub798\uadf8\ub294 \ub370\uc774\ud130\ub97c \uc218\uc9d1\ud558\ub824\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ub530\ub77c testnet \ub610\ub294 mainnet-beta\ub97c \uac00\ub9ac\ucf1c\uc57c \ud569\ub2c8\ub2e4. \uc0d8\ud50c \ube14\ub85d\uc5d0\uc11c\ub294 testnet\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \ud544\uc694\ud55c \uacbd\uc6b0 mainnet-beta\ub85c \uad50\uccb4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"ko/setup/#2","title":"2. \uc11c\ube44\uc2a4 \ub2e4\uc2dc \ub85c\ub4dc \ubc0f \uc7ac\uc2dc\uc791","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"ko/setup/#3","title":"3. \uba54\ud2b8\ub9ad \uc0ac\uc6a9 \uac00\ub2a5 \uc5ec\ubd80 \ud655\uc778","text":"

\uba54\ud2b8\ub9ad \uc5d4\ub4dc\ud3ec\uc778\ud2b8\uac00 \uc751\ub2f5\ud558\ub294\uc9c0 \ud14c\uc2a4\ud2b8\ud569\ub2c8\ub2e4:

curl -s localhost:2113/metrics | grep doublezero\n

\uc608\uc0c1 \ucd9c\ub825:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"ko/setup/#_5","title":"\ubb38\uc81c \ud574\uacb0","text":"

\uba54\ud2b8\ub9ad\uc774 \ud45c\uc2dc\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0:

  1. \uc11c\ube44\uc2a4 \uc0c1\ud0dc \ud655\uc778: sudo systemctl status doublezerod
  2. \uad6c\uc131 \ud655\uc778: sudo systemctl cat doublezerod
  3. \ub85c\uadf8 \ud655\uc778: sudo journalctl -u doublezerod -f
  4. \uc5d4\ub4dc\ud3ec\uc778\ud2b8 \ud14c\uc2a4\ud2b8: curl -v localhost:2113/metrics
  5. \ud3ec\ud2b8 \ud655\uc778: netstat -tlnp | grep 2113
"},{"location":"ko/setup/#prometheus_2","title":"Prometheus \uc11c\ubc84 \uad6c\uc131","text":"

\uad6c\uc131 \ubc0f \ubcf4\uc548\uc740 \uc774 \ubb38\uc11c\uc758 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0a9\ub2c8\ub2e4. Grafana\ub294 \uc2dc\uac01\ud654\uc5d0 \ud0c1\uc6d4\ud55c \uc635\uc158\uc774\uba70 Prometheus \uba54\ud2b8\ub9ad\uc744 \uc218\uc9d1\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \ubb38\uc11c\uac00 \uc5ec\uae30\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/setup/#grafana","title":"Grafana \ub300\uc2dc\ubcf4\ub4dc (\uc120\ud0dd \uc0ac\ud56d)","text":"

\uc2dc\uac01\ud654\ub97c \uc704\ud574 DoubleZero \uba54\ud2b8\ub9ad\uc744 \uc0ac\uc6a9\ud558\ub294 Grafana \ub300\uc2dc\ubcf4\ub4dc\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc778 \ud328\ub110\uc5d0\ub294 \ub2e4\uc74c\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4: - \uc2dc\uac04 \uacbd\uacfc\uc5d0 \ub530\ub978 \uc138\uc158 \uc0c1\ud0dc - \ube4c\ub4dc \uc815\ubcf4 - \uc5f0\uacb0 \ub300\uae30 \uc2dc\uac04 \ucd94\uc138 - \uc624\ub958\uc728 \ubaa8\ub2c8\ud130\ub9c1

"},{"location":"ko/tenant/","title":"\ud14c\ub10c\ud2b8","text":"

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\uc758 \ud14c\ub10c\ud2b8\ub294 \uc720\uc0ac\ud55c \ud504\ub85c\ud544\uacfc \uc5f0\uacb0 \uc694\uad6c\uc0ac\ud56d\uc744 \uac00\uc9c4 \uc0ac\uc6a9\uc790 \uadf8\ub8f9\uc73c\ub85c, \uc77c\ubc18\uc801\uc73c\ub85c \uc11c\ub85c \ub2e4\ub978 \ube14\ub85d\uccb4\uc778 \uc5d0\ucf54\uc2dc\uc2a4\ud15c, \ub370\uc774\ud130 \uc804\uc1a1 \ub808\uc774\uc5b4 \ub610\ub294 \ubd84\uc0b0 \uc2dc\uc2a4\ud15c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.

\uc544\ub798 \ud45c\ub97c \uc0b4\ud3b4\ubcf4\uace0 DoubleZero \ub124\ud2b8\uc6cc\ud06c\uc640 \uc0c1\ud638\uc791\uc6a9\ud558\ub824\ub294 \ubc29\uc2dd\uc744 \uac00\uc7a5 \uc798 \uc124\uba85\ud558\ub294 \uc0ac\uc6a9 \uc0ac\ub840\ub97c \uc120\ud0dd\ud558\uc138\uc694.

Solana

\uc0ac\uc6a9 \uc0ac\ub840 \ub2e4\uc74c \ub2e8\uacc4 \ubc31\uc5c5\uc744 \ud3ec\ud568\ud55c Solana \uba54\uc778\ub137 \uac80\uc99d\uc790 DoubleZero Mainnet-Beta \uc5f0\uacb0 \ubc31\uc5c5\uc744 \ud3ec\ud568\ud55c Solana \ud14c\uc2a4\ud2b8\ub137 \uac80\uc99d\uc790 DoubleZero Testnet \uc5f0\uacb0 \ube44\uac80\uc99d\uc790 - RPC \ubc0f \uae30\ud0c0 DoubleZero Mainnet-Beta \ubc0f Testnet \uc5f0\uacb0

Shelby

\uc0ac\uc6a9 \uc0ac\ub840 \ub2e4\uc74c \ub2e8\uacc4 Shelby \ud14c\uc2a4\ud2b8\ub137 RPC \ubc0f \uc2a4\ud1a0\ub9ac\uc9c0 \ub178\ub4dc DoubleZero Testnet \uc5f0\uacb0

\uc0c8 \ud14c\ub10c\ud2b8

\uc0ac\uc6a9 \uc0ac\ub840 \ub2e4\uc74c \ub2e8\uacc4 DoubleZero\ub97c \ud65c\uc6a9\ud560 \uc0c8 \ud504\ub85c\ud1a0\ucf5c, \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub610\ub294 \uae30\ud0c0 \uc0ac\uc6a9 \uc0ac\ub840\uac00 \uc788\uc2b5\ub2c8\ub2e4 \uc0c8 \ud14c\ub10c\ud2b8 \ucd94\uac00"},{"location":"ko/troubleshooting/","title":"\ubb38\uc81c \ud574\uacb0","text":"

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.

\uc774 \uac00\uc774\ub4dc\ub294 \ub2e4\uc591\ud55c \ubb38\uc81c\ub97c \ub2e4\ub8e8\uba70 \uacc4\uc18d \uc5c5\ub370\uc774\ud2b8\ub429\ub2c8\ub2e4. \uac00\uc774\ub4dc\ub97c \uc644\ub8cc\ud55c \ud6c4\uc5d0\ub3c4 \ucd94\uac00 \uc9c0\uc6d0\uc774 \ud544\uc694\ud558\ub2e4\uba74 DoubleZero Tech Discord\uc5d0\uc11c \ub3c4\uc6c0\uc744 \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#_2","title":"\uc77c\ubc18 \uba85\ub839 \ubc0f \ucd9c\ub825","text":"

\ub2e4\uc74c \uba85\ub839\uc758 \ucd9c\ub825\uacfc \uc815\uc0c1 \ubc30\ud3ec \uc2dc \uc608\uc0c1\ub418\ub294 \ucd9c\ub825\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ub354 \uc790\uc138\ud55c \ubb38\uc81c \ud574\uacb0\uc5d0 \ub3c4\uc6c0\uc774 \ub420 \uac83\uc785\ub2c8\ub2e4. \ud2f0\ucf13\uc744 \uc81c\ucd9c\ud558\uba74 \ucd9c\ub825\uc744 \uc694\uccad\ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#1","title":"1. \ubc84\uc804 \ud655\uc778","text":"

\uba85\ub839:

doublezero --version

\uc0d8\ud50c \ucd9c\ub825:

DoubleZero 0.6.3\n

"},{"location":"ko/troubleshooting/#2-doublezero","title":"2. DoubleZero \uc8fc\uc18c \ud655\uc778","text":"

\uba85\ub839:

doublezero address

\uc0d8\ud50c \ucd9c\ub825:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"ko/troubleshooting/#3","title":"3. \uc561\uc138\uc2a4 \ud328\uc2a4 \ud655\uc778","text":"

\uc0d8\ud50c \uacf5\uac1c \ud0a4: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u2014 \uba85\ub839 \uc2e4\ud589 \uc2dc \uc774\uac83\uc744 \ubcf8\uc778\uc758 \uacf5\uac1c \ud0a4\ub85c \uad50\uccb4\ud558\uc138\uc694.

\uba85\ub839:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

\ucd9c\ub825:

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"ko/troubleshooting/#4-doublezero","title":"4. DoubleZero \ub808\uc800 \ud06c\ub808\ub527 \ud655\uc778","text":"

\uba85\ub839:

doublezero balance

\uc0d8\ud50c \ucd9c\ub825:

0.78 Credits\n

"},{"location":"ko/troubleshooting/#5","title":"5. \uc5f0\uacb0 \uc0c1\ud0dc \ud655\uc778","text":"

\uba85\ub839:

doublezero status

\uc0d8\ud50c \ucd9c\ub825:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"ko/troubleshooting/#6","title":"6. \ub300\uae30 \uc2dc\uac04 \ud655\uc778","text":"

\uba85\ub839:

doublezero latency

\uc0d8\ud50c \ucd9c\ub825:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"ko/troubleshooting/#_3","title":"\ubb38\uc81c \ud574\uacb0 \uc608\uc81c","text":"

\uae30\ubcf8 \ucd9c\ub825\uacfc \uc815\uc0c1 \ubc30\ud3ec \uc2dc \uc608\uc0c1\ub418\ub294 \uac83\uc744 \uc0b4\ud3b4\ubd24\uc73c\ub2c8 \uc774\uc81c \uc77c\ubc18\uc801\uc778 \ubb38\uc81c \ud574\uacb0 \uc608\uc81c\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#_4","title":"\ubb38\uc81c: \u274c \uc0ac\uc6a9\uc790 \uc0dd\uc131 \uc624\ub958","text":"

\uc774 \ubb38\uc81c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \uc608\uc0c1\ub418\ub294 \uacf5\uac1c \ud0a4/IP \uc30d\uacfc \uc0ac\uc6a9\uc790\uac00 DoubleZero\uc5d0 \uc811\uadfc\ud558\ub824\ub294 \uacf5\uac1c \ud0a4/IP \uc30d \uac04\uc758 \ubd88\uc77c\uce58\uc640 \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4.

\uc99d\uc0c1: - doublezero connect ibrl\ub85c \uc5f0\uacb0\ud560 \ub54c \u274c Error creating user\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \ud655\uc778

`doublezero address`\n\n\uc0d8\ud50c \ucd9c\ub825:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. \uc774 \uc8fc\uc18c\uac00 \ud5c8\uc6a9 \ubaa9\ub85d\uc5d0 \uc788\ub294\uc9c0 \ud655\uc778:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    \uc0d8\ud50c \ucd9c\ub825:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    doublezero address\uc758 \uacf5\uac1c \ud0a4\ub294 user_payer \uacf5\uac1c \ud0a4\uc640 \uc77c\uce58\ud574\uc57c \ud558\uba70, \uc5f0\uacb0\ud558\ub824\ub294 IP \uc8fc\uc18c\ub294 \uc561\uc138\uc2a4 \ud328\uc2a4\uc758 IP\uc640 \uc77c\uce58\ud574\uc57c \ud569\ub2c8\ub2e4. doublezero address\ub294 \uae30\ubcf8\uc801\uc73c\ub85c ~/.config/doublezero/\uc758 id.json \ud30c\uc77c\uc5d0\uc11c \uac00\uc838\uc635\ub2c8\ub2e4. \uc5ec\uae30 6\ub2e8\uacc4\ub97c \ucc38\uc870\ud558\uc138\uc694.

  2. \uc704 \ub0b4\uc6a9\uc774 \uc62c\ubc14\ub974\uac8c \ubcf4\uc774\uc9c0\ub9cc \uc5f0\uacb0 \uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uac70\ub098 \uc704 \ub9e4\ud551\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \uacbd\uc6b0 DoubleZero Tech\uc5d0\uc11c \uc9c0\uc6d0\uc5d0 \uc5f0\ub77d\ud558\uc138\uc694.

"},{"location":"ko/troubleshooting/#_5","title":"\ubb38\uc81c: \u274c \uc11c\ube44\uc2a4 \ud504\ub85c\ube44\uc800\ub2dd \uc624\ub958: \ub3d9\uc2dc\uc5d0 \uc5ec\ub7ec \ud130\ub110\uc744 \ud504\ub85c\ube44\uc800\ub2dd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4","text":"

\uc774 \uc624\ub958\ub294 \uc7a5\uce58\uac00 \uc774\ubbf8 DoubleZero\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.

\uc99d\uc0c1: - \uc0ac\uc6a9\uc790\uac00 DoubleZero\uc5d0 \uc5f0\uacb0\ud558\ub824\uace0 \ud569\ub2c8\ub2e4 - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time\uc774 \ubc1c\uc0dd\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \ud655\uc778 doublezero status

\ucd9c\ub825:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up\uc740 \uc815\uc0c1\uc801\uc778 \uc5f0\uacb0\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.
  2. \uc624\ub958\ub294 \ud2b9\uc815 DoubleZero IP\ub97c \uc0ac\uc6a9\ud558\ub294 DoubleZero \ud130\ub110\uc774 \uc774\ubbf8 \uc774 \uae30\uacc4\uc5d0\uc11c \ud65c\uc131\ud654\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0 \ub098\ud0c0\ub0a9\ub2c8\ub2e4.

    \uc774 \uc624\ub958\ub294 DoubleZero \ud074\ub77c\uc774\uc5b8\ud2b8 \uc5c5\uadf8\ub808\uc774\ub4dc \ud6c4 \uc790\uc8fc \ubc1c\uc0dd\ud569\ub2c8\ub2e4. DoubleZero \uc5c5\uadf8\ub808\uc774\ub4dc\ub294 doublezerod \uc11c\ube44\uc2a4\ub97c \uc790\ub3d9\uc73c\ub85c \uc7ac\uc2dc\uc791\ud558\uace0 \uc11c\ube44\uc2a4 \uc7ac\uc2dc\uc791 \uc804\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\uc5c8\ub2e4\uba74 \ub2e4\uc2dc \uc5f0\uacb0\ud569\ub2c8\ub2e4.

"},{"location":"ko/troubleshooting/#doublezero-unknown-down","title":"\ubb38\uc81c: DoubleZero \uc0c1\ud0dc\uac00 unknown \ub610\ub294 down","text":"

\uc774 \ubb38\uc81c\ub294 \uc885\uc885 \uc11c\ubc84\uc640 DoubleZero \uc7a5\uce58 \uac04\uc758 GRE \ud130\ub110\uc774 \uc131\uacf5\uc801\uc73c\ub85c \ud65c\uc131\ud654\ub418\uc5c8\uc9c0\ub9cc \ubc29\ud654\ubcbd\uc774 BGP \uc138\uc158 \uc124\uc815\uc744 \ubc29\uc9c0\ud558\ub294 \uac83\uacfc \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub85c \uc778\ud574 \ub124\ud2b8\uc6cc\ud06c\ub85c\ubd80\ud130 \uacbd\ub85c\ub97c \ubc1b\uc9c0 \ubabb\ud558\uac70\ub098 DoubleZero\ub97c \ud1b5\ud574 \ud2b8\ub798\ud53d\uc744 \uc804\uc1a1\ud558\uc9c0 \ubabb\ud569\ub2c8\ub2e4.

\uc99d\uc0c1: - doublezero connect ibrl\uc774 \uc131\uacf5\ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 doublezero status\uac00 down \ub610\ub294 unknown\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \ubc29\ud654\ubcbd \uaddc\uce59\uc744 \ud655\uc778\ud558\uc138\uc694!

DoubleZero\ub294 \uadc0\ud558\uc758 \uae30\uacc4\uc640 DoubleZero \uc7a5\uce58 \uac04\uc758 GRE \ud130\ub110 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub9c1\ud06c \ub85c\uceec \uc8fc\uc18c \uacf5\uac04\uc778 169.254.0.0/16\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. 169.254.0.0/16\uc740 \uc77c\ubc18\uc801\uc73c\ub85c \"\ub77c\uc6b0\ud305 \ubd88\uac00\ub2a5\ud55c\" \uacf5\uac04\uc73c\ub85c \uac04\uc8fc\ub418\ubbc0\ub85c \uc88b\uc740 \ubcf4\uc548 \uad00\ud589\uc740 \uc774 \uacf5\uac04\uc5d0\uc11c \uc624\uac00\ub294 \ud1b5\uc2e0\uc744 \ucc28\ub2e8\ud558\ub294 \uac83\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4. \ubc29\ud654\ubcbd\uc5d0\uc11c src 169.254.0.0/16\uc774 tcp \ud3ec\ud2b8 179\uc758 dst 169.254.0.0/16\uacfc \ud1b5\uc2e0\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\ub294 \uaddc\uce59\uc744 \ud5c8\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4. \ud574\ub2f9 \uaddc\uce59\uc740 169.254.0.0/16 \ud2b8\ub798\ud53d\uc744 \uac70\ubd80\ud558\ub294 \uaddc\uce59 \uc704\uc5d0 \ubc30\uce58\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.

ufw\uc640 \uac19\uc740 \ubc29\ud654\ubcbd\uc5d0\uc11c `sudo ufw status`\ub97c \uc2e4\ud589\ud558\uc5ec \ubc29\ud654\ubcbd \uaddc\uce59\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\nSolana \uac80\uc99d\uc790\uc640 \uc720\uc0ac\ud560 \uc218 \uc788\ub294 \uc0d8\ud50c \ucd9c\ub825:\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\n\uc704 \ucd9c\ub825\uc5d0\uc11c \uc9c0\uc815\ub41c \ud3ec\ud2b8\ub97c \uc81c\uc678\ud55c 169.254.0.0/16\uc73c\ub85c\uc758 \ubaa8\ub4e0 \ud2b8\ub798\ud53d\uc774 \uac70\ubd80\ub429\ub2c8\ub2e4.\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179`\ub97c \uc0ac\uc6a9\ud558\uc5ec \\<N\\> \uc704\uce58\uc5d0 \uaddc\uce59\uc744 \uc0bd\uc785\ud558\uc138\uc694. \uc989, N = 1\uc774\uba74 \uc774 \uaddc\uce59\uc744 \uccab \ubc88\uc9f8 \uaddc\uce59\uc73c\ub85c \uc0bd\uc785\ud569\ub2c8\ub2e4.\n`sudo ufw status numbered`\ub294 \uaddc\uce59\uc758 \ubc88\ud638 \uc21c\uc11c\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n
"},{"location":"ko/troubleshooting/#doublezero","title":"\ubb38\uc81c: \uac00\uc7a5 \uac00\uae4c\uc6b4 DoubleZero \uc7a5\uce58\uac00 \ubcc0\uacbd\ub428","text":"

\uc774\uac83\uc740 \uc624\ub958\uac00 \uc544\ub2c8\ub77c \ucd5c\uc801\ud654\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\ub294 \ub54c\ub54c\ub85c \uc2e4\ud589\ud558\uac70\ub098 \uc790\ub3d9\ud654\ud560 \uc218 \uc788\ub294 \ubaa8\ubc94 \uc0ac\ub840\uc785\ub2c8\ub2e4.

\ud574\uacb0 \ubc29\ubc95:

  1. \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc7a5\uce58\uc758 \ub300\uae30 \uc2dc\uac04 \ud655\uc778

    • doublezero latency \uc2e4\ud589

      \ucd9c\ub825

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      \uc704\uc5d0\uc11c \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc7a5\uce58\ub294 dz-ny7-sw01\uc785\ub2c8\ub2e4.

      \uc774 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ud558\uace0\uc790 \ud569\ub2c8\ub2e4.

  2. \uc774\ubbf8 \ub300\uc0c1 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\ub294\uc9c0 \ud655\uc778

    • doublezero user list --env testnet | grep 111.11.11.11\uc744 \uc2e4\ud589\ud558\uc5ec 111.11.11.11\uc744 DoubleZero\uc5d0 \uc5f0\uacb0\ub41c \uc7a5\uce58\uc758 \uacf5\uac1c IPv4 \uc8fc\uc18c\ub85c \uad50\uccb4\ud558\uc138\uc694.

      \ucd9c\ub825

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      \uc774 \uc608\uc5d0\uc11c \uc6b0\ub9ac\ub294 \uc774\ubbf8 \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc7a5\uce58\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub354 \uc774\uc0c1\uc758 \ub2e8\uacc4\uac00 \ud544\uc694 \uc5c6\uc73c\uba70 \uc5ec\uae30\uc11c \uba48\ucd9c \uc218 \uc788\uc2b5\ub2c8\ub2e4.

  3. \uac00\uc7a5 \uac00\uae4c\uc6b4 DoubleZero \uc7a5\uce58\uc5d0 \uc5f0\uacb0

    \uc5f0\uacb0\uc744 \ub04a\uace0 DoubleZero\uc5d0 \ub2e4\uc2dc \uc5f0\uacb0\ud569\ub2c8\ub2e4.

    \uba3c\uc800 \uc2e4\ud589: - doublezero disconnect

    \uc774\uc81c \uc0c1\ud0dc\ub97c \ud655\uc778\ud558\uc5ec \uc5f0\uacb0 \ud574\uc81c\ub97c \ud655\uc778\ud569\ub2c8\ub2e4: - doublezero status

    \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ub2e4\uc2dc \uc5f0\uacb0: - doublezero connect ibrl

    \ucd9c\ub825

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    \uc704 \ucd9c\ub825\uc5d0\uc11c Connected to device: dz-ny7-sw01\ub85c \uc5f0\uacb0\ub418\uc5c8\uc74c\uc744 \ud655\uc778\ud558\uc138\uc694.

"},{"location":"ko/troubleshooting/#doublezero-status-na","title":"\ubb38\uc81c: doublezero status\uac00 \uc77c\ubd80 \ud544\ub4dc\uc5d0\uc11c N/A\ub97c \ubc18\ud658\ud568","text":"

\uc774 \ubb38\uc81c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ud604\uc7ac \ub370\ubaac \ubc0f \ud074\ub77c\uc774\uc5b8\ud2b8\uc640 \uc5f0\uacb0\ub41c DZ \ud130\ub110\uc774 \uc124\uc815\ub41c \ub370\ubaac \ubc0f \ud074\ub77c\uc774\uc5b8\ud2b8 \uac04\uc758 \ubd88\uc77c\uce58\uc640 \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4.

\uc99d\uc0c1: - doublezero status\ub97c \uc2e4\ud589\ud560 \ub54c \uc77c\ubd80 \ud544\ub4dc\uc5d0\uc11c N/A\uac00 \ubc1c\uc0dd\ud569\ub2c8\ub2e4

\ud574\uacb0 \ubc29\ubc95: 1. \uc2e4\ud589 doublezero status

\uc608:\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\n\uc704 \uc608\uc81c \ucd9c\ub825\uc5d0\uc11c `Tunnel status`\uac00 `up`\uc784\uc744 \ud655\uc778\ud558\uc138\uc694. `Network`\ub294 `mainnet-beta`\uc785\ub2c8\ub2e4. \uadf8\ub7ec\ub098 `Current Device`\uc640 `Metro`\uac00 `N/A`\uc785\ub2c8\ub2e4.\n\n\uc774\uac83\uc740 \ud604\uc7ac \ud658\uacbd\uc5d0 \uc5c6\ub294 \uc5f4\ub9b0 \ud130\ub110\uc774 \uae30\uacc4\uc5d0 \uc788\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\n\uc774 \uacbd\uc6b0 `mainnet-beta`\uc5d0\uc11c `Current Device`\uac00 \uc5c6\ub294 `up` \uc0c1\ud0dc\ub294 \ud130\ub110\uc774 testnet\uc5d0 \uc788\uc74c\uc744 \ub098\ud0c0\ub0c5\ub2c8\ub2e4!\n
  1. \ud658\uacbd\uc744 \ubcc0\uacbd\ud558\uc138\uc694.

    \ubd88\uc77c\uce58\ub97c \uc218\uc815\ud558\ub824\uba74 \ud658\uacbd\uc744 N/A\ub97c \ubc18\ud658\ud558\ub294 \ud658\uacbd\uc758 \ubc18\ub300\ub85c \ubcc0\uacbd\ud569\ub2c8\ub2e4.

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. \uc0c1\ud0dc \ud655\uc778

    \ud658\uacbd \uc804\ud658 \ud6c4 \uc2e4\ud589:

    doublezero status\n

    \uc608\uc0c1 \ucd9c\ub825\uc740 \ub2e4\uc74c\uacfc \uc720\uc0ac\ud574\uc57c \ud569\ub2c8\ub2e4:

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    \ubaa8\ub4e0 \ud544\ub4dc\uac00 \ucc44\uc6cc\uc9c0\uba74 \uc62c\ubc14\ub978 \ud658\uacbd\uc5d0 \uc788\ub294 \uac83\uc785\ub2c8\ub2e4.

"},{"location":"pt/","title":"Bem-vindo ao DoubleZero","text":"

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 \u00e9 um protocolo e rede descentralizada de alto desempenho, otimizado para sistemas distribu\u00eddos, como blockchains. Os usu\u00e1rios do DoubleZero desfrutam de um servi\u00e7o integrado para transmiss\u00e3o altamente otimizada e pr\u00e9-processamento de dados de sistemas distribu\u00eddos.

"},{"location":"pt/#para-quem-e-o-doublezero","title":"Para quem \u00e9 o DoubleZero?","text":""},{"location":"pt/#contribuidores","title":"Contribuidores","text":"

Os contribuidores do DoubleZero possuem capacidade de rede na forma de links de fibra privados subutilizados e hardware (por exemplo, switches e dispositivos FPGA). Configurar esses recursos para estender a rede DoubleZero cria um servi\u00e7o de informa\u00e7\u00e3o integrado. Usando o protocolo DZ, os contribuidores de rede unem essa capacidade em uma rede mesh global din\u00e2mica e expansiva e recebem incentivos em tokens por sua contribui\u00e7\u00e3o.

"},{"location":"pt/#usuarios","title":"Usu\u00e1rios","text":"

Os usu\u00e1rios do DoubleZero participam de sistemas distribu\u00eddos, como blockchains, que requerem conectividade de rede de alto desempenho. Ao interconectar um sistema blockchain com o DoubleZero, os usu\u00e1rios obt\u00eam um conjunto de recursos de otimiza\u00e7\u00e3o para acelerar seu I/O de rede.

Em sua implementa\u00e7\u00e3o inicial, a rede DoubleZero \u00e9 compat\u00edvel com clientes validadores de blockchain, bem como provedores de infraestrutura RPC e MEV. Esses sistemas de usu\u00e1rios passam por controle de admiss\u00e3o verificando seus endere\u00e7os de chave p\u00fablica de identifica\u00e7\u00e3o \u00fanica em seus respectivos ledgers antes de permitir acesso \u00e0 rede. \u00c0 medida que a rede evolui para incluir sistemas de usu\u00e1rios de outros ecossistemas, estrat\u00e9gias adicionais de identifica\u00e7\u00e3o e autentica\u00e7\u00e3o ser\u00e3o adicionadas, adaptadas a cada comunidade de projeto de usu\u00e1rio.

"},{"location":"pt/#beneficios","title":"Benef\u00edcios","text":"

A \u00fanica alternativa ao DoubleZero \u00e9 a internet p\u00fablica. Comparado \u00e0 internet p\u00fablica, a rede DoubleZero oferece duas melhorias para blockchains.

Primeiro, as transa\u00e7\u00f5es de entrada podem ser filtradas na borda de maneira n\u00e3o discricion\u00e1ria no n\u00edvel do hardware do contribuidor de rede (ou seja, remo\u00e7\u00e3o de spam e duplicatas) antes de serem enviadas aos usu\u00e1rios (por exemplo, n\u00f3s de blockchain) da rede DoubleZero. Isso permite que as blockchains se beneficiem de recursos de filtragem compartilhados em todo o sistema, em vez de precisar que cada validador individual provisione recursos suficientes. Como resultado, os validadores podem realocar seus recursos para atividades diretamente geradoras de receita. Este recurso ainda n\u00e3o est\u00e1 funcional.

Segundo, as mensagens de sa\u00edda s\u00e3o roteadas de forma mais direta e priorizadas para melhorar a efici\u00eancia. Isso \u00e9 poss\u00edvel porque no DoubleZero a l\u00f3gica de roteamento do movimento global de dados \u00e9 otimizada para velocidade, ao contr\u00e1rio da internet p\u00fablica. Assim, os validadores se beneficiam de redu\u00e7\u00e3o de jitter, que \u00e9 definido como a quantidade de varia\u00e7\u00e3o na lat\u00eancia entre dois endpoints de cabo de dados. Em ess\u00eancia, os n\u00f3s de blockchain podem enviar e receber blocos mais rapidamente.

Juntos, esses benef\u00edcios da rede DoubleZero podem alcan\u00e7ar n\u00edveis de desempenho que de outra forma seriam inacess\u00edveis pela internet p\u00fablica.

Para mais detalhes, consulte o whitepaper do Protocolo DoubleZero.

"},{"location":"pt/#proximos-passos","title":"Pr\u00f3ximos Passos","text":""},{"location":"pt/DZ%20Mainnet-beta%20Connection/","title":"Conex\u00e3o do Validador ao Mainnet-Beta no Modo IBRL","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#conectando-ao-mainnet-beta-no-modo-ibrl","title":"Conectando ao Mainnet-Beta no Modo IBRL","text":"

Note

O modo IBRL n\u00e3o requer reinicializa\u00e7\u00e3o dos clientes validadores, pois usa seu endere\u00e7o IP p\u00fablico existente.

Os Validadores Mainnet da Solana completar\u00e3o a conex\u00e3o ao DoubleZero Mainnet-beta, detalhada nesta p\u00e1gina.

Cada validador Solana tem seu pr\u00f3prio keypair de identidade; dele \u00e9 extra\u00edda a chave p\u00fablica conhecida como o node ID. Esta \u00e9 a impress\u00e3o digital \u00fanica do validador na rede Solana.

Com o DoubleZeroID e o node ID identificados, voc\u00ea provar\u00e1 a propriedade da sua m\u00e1quina. Isso \u00e9 feito criando uma mensagem que inclui o DoubleZeroID assinado com a chave de identidade do validador. A assinatura criptogr\u00e1fica resultante serve como prova verific\u00e1vel de que voc\u00ea controla o validador.

Por fim, voc\u00ea enviar\u00e1 uma solicita\u00e7\u00e3o de conex\u00e3o ao DoubleZero. Esta solicita\u00e7\u00e3o comunica: \"Aqui est\u00e1 minha identidade, aqui est\u00e1 a prova de propriedade e aqui est\u00e1 como pretendo me conectar.\" O DoubleZero valida essas informa\u00e7\u00f5es, aceita a prova e provisiona acesso \u00e0 rede para o validador no DoubleZero.

Este guia permite que 1 Validador Prim\u00e1rio se registre e at\u00e9 3 m\u00e1quinas de backup/failover ao mesmo tempo.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#pre-requisitos","title":"Pr\u00e9-requisitos","text":"

Info

O ID do Validador ser\u00e1 verificado contra o gossip da Solana para determinar o IP alvo. O IP alvo e o ID DoubleZero ser\u00e3o ent\u00e3o usados para abrir um t\u00fanel GRE entre sua m\u00e1quina e o Dispositivo DoubleZero alvo.

Considere: No caso em que voc\u00ea tem um ID junk e um ID Prim\u00e1rio no mesmo IP, apenas o ID Prim\u00e1rio ser\u00e1 usado no registro da m\u00e1quina. Isso ocorre porque o ID junk n\u00e3o aparecer\u00e1 no gossip e, portanto, n\u00e3o pode ser usado para verificar o IP da m\u00e1quina alvo.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao DoubleZero mainnet-beta:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Voc\u00ea deve ver a seguinte sa\u00edda: \u2705 doublezerod configured for environment mainnet-beta

Ap\u00f3s aproximadamente 30 segundos, voc\u00ea ver\u00e1 os dispositivos DoubleZero dispon\u00edveis:

doublezero latency\n
"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#2-abrir-a-porta-44880","title":"2. Abrir a porta 44880","text":"

Os usu\u00e1rios precisam abrir a porta 44880 para utilizar alguns recursos de roteamento.

Para abrir a porta 44880 voc\u00ea pode atualizar as regras do iptables da seguinte forma:

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

observe os flags -i doublezero0, -o doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

Ou UFW da seguinte forma:

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

observe os flags in on doublezero0, out on doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#3-atestar-a-propriedade-do-validador","title":"3. Atestar a Propriedade do Validador","text":"

Com seu Ambiente DoubleZero configurado, \u00e9 hora de atestar a Propriedade do seu Validador.

O ID DoubleZero que voc\u00ea criou na configura\u00e7\u00e3o do seu validador prim\u00e1rio deve ser usado em todas as m\u00e1quinas de backup.

O ID na sua m\u00e1quina prim\u00e1ria pode ser encontrado com doublezero address. O mesmo ID deve estar em ~/.config/doublezero/id.json em todas as m\u00e1quinas do cluster.

Para conseguir isso, voc\u00ea primeiro verificar\u00e1 que a m\u00e1quina da qual est\u00e1 executando os comandos \u00e9 seu Validador Prim\u00e1rio com:

doublezero-solana passport find-validator -u mainnet-beta\n

Isso verifica que o validador est\u00e1 registrado no gossip e aparece no cronograma de l\u00edderes.

Sa\u00edda esperada:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

O mesmo fluxo de trabalho \u00e9 usado para uma ou muitas m\u00e1quinas. Para registrar uma m\u00e1quina, exclua os argumentos \"--backup-validator-ids\" ou \"backup_ids=\" de qualquer comando nesta p\u00e1gina.

Agora, em todas as m\u00e1quinas de backup nas quais voc\u00ea planeja executar seu Validador Prim\u00e1rio, execute o seguinte:

doublezero-solana passport find-validator -u mainnet-beta\n

Esta sa\u00edda \u00e9 esperada. O n\u00f3 de backup n\u00e3o pode estar no cronograma de l\u00edderes no momento da cria\u00e7\u00e3o do passe.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#preparar-a-conexao","title":"Preparar a Conex\u00e3o","text":"

Execute o seguinte comando na m\u00e1quina do Validador Prim\u00e1rio. Esta \u00e9 a m\u00e1quina na qual voc\u00ea tem stake ativo, que est\u00e1 no cronograma de l\u00edderes com seu ID de validador prim\u00e1rio no gossip da Solana na m\u00e1quina da qual voc\u00ea est\u00e1 executando o comando:

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

Observe a sa\u00edda no final deste comando. \u00c9 a estrutura para o pr\u00f3ximo passo.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#4-gerar-assinatura","title":"4. Gerar Assinatura","text":"

No final do \u00faltimo passo, recebemos uma sa\u00edda pr\u00e9-formatada para solana sign-offchain-message.

Da sa\u00edda anterior executaremos este comando na m\u00e1quina do Validador Prim\u00e1rio.

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

Sa\u00edda:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#5-iniciar-uma-solicitacao-de-conexao-no-doublezero","title":"5. Iniciar uma Solicita\u00e7\u00e3o de Conex\u00e3o no DoubleZero","text":"

Use o comando request-validator-access para criar uma conta na Solana para a solicita\u00e7\u00e3o de conex\u00e3o. O agente Sentinel do DoubleZero detecta a nova conta, valida sua identidade e assinatura, e cria o passe de acesso no DoubleZero para que o servidor possa estabelecer uma conex\u00e3o.

Use o node ID, o DoubleZeroID e a assinatura.

Note

Neste exemplo usamos -k /home/user/.config/solana/id.json para encontrar a Identidade do validador. Use o local apropriado para sua implanta\u00e7\u00e3o local.

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

Sa\u00edda:

Esta sa\u00edda pode ser usada para ver a transa\u00e7\u00e3o em um explorador Solana. Certifique-se de mudar o explorador para mainnet. Esta verifica\u00e7\u00e3o \u00e9 opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Se bem-sucedido, o DoubleZero registrar\u00e1 o prim\u00e1rio com seus backups. Agora voc\u00ea pode fazer failover entre os IPs registrados no passe de acesso. O DoubleZero manter\u00e1 a conectividade automaticamente ao mudar para n\u00f3s de backup registrados desta forma.

"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#6-conectar-no-modo-ibrl","title":"6. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel GRE terminar de ser configurado. At\u00e9 que o t\u00fanel GRE esteja configurado, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Note

Examine esta sa\u00edda. Observe que Tunnel src e DoubleZero IP correspondem ao endere\u00e7o IPv4 p\u00fablico da sua m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
"},{"location":"pt/DZ%20Mainnet-beta%20Connection/#proximo-passo-publicando-shreds-via-multicast","title":"Pr\u00f3ximo Passo: Publicando Shreds via Multicast","text":"

Se voc\u00ea completou esta configura\u00e7\u00e3o e planeja publicar shreds via multicast, continue para a pr\u00f3xima p\u00e1gina.

"},{"location":"pt/DZ%20Testnet%20Connection/","title":"Conex\u00e3o do Validador ao Testnet no Modo IBRL","text":"

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.

Ao conectar ao testnet DoubleZero, concordo com os termos do Acordo de Avalia\u00e7\u00e3o estabelecido aqui (clique para expandir)

Testnet DoubleZero Acordo de Avalia\u00e7\u00e3o

Ao acessar ou usar a Solu\u00e7\u00e3o (definida abaixo), voc\u00ea concorda a partir da primeira data de tal acesso (a \"Data de Vig\u00eancia\") que este Acordo de Avalia\u00e7\u00e3o (o \"Acordo\") estabelece os termos e condi\u00e7\u00f5es sob os quais a DoubleZero Foundation (\"DZF\") fornecer\u00e1 a voc\u00ea (\"Usu\u00e1rio\" ou \"voc\u00ea\") acesso \u00e0 Solu\u00e7\u00e3o em base de avalia\u00e7\u00e3o. Em considera\u00e7\u00e3o \u00e0s promessas m\u00fatuas aqui contidas, voc\u00ea concorda com o seguinte:

1. DEFINI\u00c7\u00d5ES.

1.1 \"Informa\u00e7\u00f5es Confidenciais\" significa toda e qualquer informa\u00e7\u00e3o divulgada por qualquer das partes \u00e0 outra que seja designada como confidencial, ou que deva ser entendida como confidencial, incluindo, mas n\u00e3o se limitando a, a Solu\u00e7\u00e3o, planos de produtos, planos de neg\u00f3cios, segredos comerciais, tecnologia ou quaisquer outras informa\u00e7\u00f5es propriet\u00e1rias.

1.2 \"Solu\u00e7\u00e3o\" significa a vers\u00e3o testnet da infraestrutura de rede de alto desempenho do DoubleZero para projetos web3 (\"Testnet\") e servi\u00e7o de filtragem de borda relacionado com largura de banda integrada (\"Servi\u00e7o de Informa\u00e7\u00e3o\"), o Software DZ (definido abaixo), todos e quaisquer materiais fornecidos pela DZF relacionados ao Software DZ (\"Documenta\u00e7\u00e3o\") e outros materiais que a DZF fornece ao Usu\u00e1rio neste documento.

2. ACESSO.

2.1 Acesso \u00e0 Solu\u00e7\u00e3o. Sujeito aos termos e condi\u00e7\u00f5es deste Acordo, a DZF fornecer\u00e1 ao Usu\u00e1rio acesso \u00e0 Solu\u00e7\u00e3o pela Internet. O acesso do Usu\u00e1rio \u00e9 um uso n\u00e3o exclusivo, intransfer\u00edvel e limitado da Solu\u00e7\u00e3o para permitir que o Usu\u00e1rio avalie apenas o Servi\u00e7o de Informa\u00e7\u00e3o. Com rela\u00e7\u00e3o a qualquer software que comp\u00f5e a Solu\u00e7\u00e3o (\"Software DZ\"), a DZF concede ao Usu\u00e1rio uma licen\u00e7a limitada e revog\u00e1vel, durante o Per\u00edodo de Avalia\u00e7\u00e3o, para copiar, baixar, fazer um n\u00famero razo\u00e1vel de c\u00f3pias, executar e implantar (conforme aplic\u00e1vel) tal Software DZ exclusivamente conforme contemplado pela Documenta\u00e7\u00e3o.

2.2 Restri\u00e7\u00f5es. O Usu\u00e1rio pode usar a Solu\u00e7\u00e3o de acordo com este Acordo a partir da Data de Vig\u00eancia at\u00e9 ser encerrado pela DZF (o \"Per\u00edodo de Avalia\u00e7\u00e3o\"). O Usu\u00e1rio entende que quaisquer direitos de usar a Solu\u00e7\u00e3o al\u00e9m do Per\u00edodo de Avalia\u00e7\u00e3o estar\u00e3o sujeitos a um acordo comercial separado entre as partes com rela\u00e7\u00e3o ao mesmo, incluindo o pagamento de taxas. O Usu\u00e1rio n\u00e3o deve, e n\u00e3o deve permitir que terceiros: (i) modifiquem ou criem obras derivadas com base na Solu\u00e7\u00e3o ou qualquer parte dela; (ii) reproduzam a Solu\u00e7\u00e3o exceto conforme expressamente permitido por este Acordo; (iii) sublicenciem, distribuam, vendam, emprestem, aluguem, arrendem, transfiram ou concedam quaisquer direitos sobre toda ou qualquer parte da Solu\u00e7\u00e3o ou forne\u00e7am acesso \u00e0 Solu\u00e7\u00e3o a terceiros, em base de servi\u00e7o de bureau ou de outra forma, exceto como oferta dos Servi\u00e7os de Informa\u00e7\u00e3o por meio ou em conex\u00e3o com a plataforma ou produto do Usu\u00e1rio e n\u00e3o de forma independente; ou (iv) usem a Solu\u00e7\u00e3o de outra forma que n\u00e3o a prevista neste documento.

2.3 Propriedade. A DZF ret\u00e9m todos os direitos, t\u00edtulos e interesses, incluindo direitos de propriedade intelectual, sobre e na Solu\u00e7\u00e3o.

3 FEEDBACK. A DZF pode periodicamente solicitar que o Usu\u00e1rio forne\u00e7a, e o Usu\u00e1rio concorda em fornecer \u00e0 DZF, feedback sobre o uso, opera\u00e7\u00e3o e funcionalidade da Solu\u00e7\u00e3o (\"Feedback\"). O Usu\u00e1rio concede \u00e0 DZF um direito e licen\u00e7a n\u00e3o exclusivos, mundiais, perp\u00e9tuos, irrevog\u00e1veis, sem royalties, totalmente pagos, totalmente sublicenci\u00e1veis e transfer\u00edveis para usar e incorporar o Feedback em quaisquer produtos e servi\u00e7os, para fabricar, usar, vender, oferecer para venda, importar e de outra forma explorar tais produtos e servi\u00e7os, e de outra forma usar, copiar, distribuir e de outra forma explorar o Feedback sem restri\u00e7\u00e3o.

4. PRAZO E RESCIS\u00c3O.

4.1 Prazo. Este Acordo entrar\u00e1 em vigor na Data de Vig\u00eancia e permanecer\u00e1 em pleno vigor e efeito durante o Per\u00edodo de Avalia\u00e7\u00e3o. Qualquer das partes pode rescindir este Acordo imediatamente por conveni\u00eancia, por qualquer motivo ou sem motivo, mediante notifica\u00e7\u00e3o por escrito \u00e0 outra parte (e-mail suficiente).

4.1 Efeitos da Rescis\u00e3o. Ap\u00f3s a rescis\u00e3o deste Acordo por qualquer motivo: (i) os direitos concedidos ao Usu\u00e1rio neste documento encerrar\u00e3o imediatamente; (ii) o Usu\u00e1rio dever\u00e1 imediatamente descontinuar qualquer uso da Solu\u00e7\u00e3o e dever\u00e1 devolver ou destruir toda a Documenta\u00e7\u00e3o e qualquer Software DZ sob seu controle; (iii) cada parte dever\u00e1 prontamente devolver ou destruir todas as Informa\u00e7\u00f5es Confidenciais e propriedades da outra parte; e (iv) as Se\u00e7\u00f5es 2.2, 2.3, 3, 4.2 e 5 a 8 sobreviver\u00e3o.

5. CONFIDENCIALIDADE. Cada parte concorda que usar\u00e1 as Informa\u00e7\u00f5es Confidenciais da outra parte exclusivamente para cumprir suas obriga\u00e7\u00f5es e exercer seus direitos sob este Acordo e n\u00e3o divulgar\u00e1, nem permitir\u00e1 que sejam divulgadas, exceto conforme permitido neste documento. No entanto, qualquer das partes pode divulgar Informa\u00e7\u00f5es Confidenciais ao seu pessoal, advogados e outros representantes que tenham necessidade de saber e estejam vinculados por obriga\u00e7\u00f5es de confidencialidade n\u00e3o menos protetoras do que as estabelecidas neste Acordo; e conforme exigido por lei (caso em que a parte receptora fornecer\u00e1 \u00e0 parte divulgadora aviso pr\u00e9vio e oportunidade de contestar tal divulga\u00e7\u00e3o, e minimizar\u00e1 tal divulga\u00e7\u00e3o na medida permitida pela lei aplic\u00e1vel). As obriga\u00e7\u00f5es de confidencialidade nesta Se\u00e7\u00e3o 5 n\u00e3o se aplicar\u00e3o a informa\u00e7\u00f5es que: (a) sejam ou se tornem geralmente conhecidas ou publicamente dispon\u00edveis sem culpa da parte receptora; (b) eram adequadamente conhecidas pela parte receptora, sem restri\u00e7\u00e3o, antes da divulga\u00e7\u00e3o pela parte divulgadora; (c) foram adequadamente divulgadas \u00e0 parte receptora, sem restri\u00e7\u00e3o, por outra pessoa com autoridade legal para faz\u00ea-lo; ou (d) s\u00e3o desenvolvidas de forma independente pela parte receptora sem uso ou refer\u00eancia \u00e0s Informa\u00e7\u00f5es Confidenciais da parte divulgadora.

6. ISEN\u00c7\u00c3O DE GARANTIA; LIMITA\u00c7\u00c3O DE RESPONSABILIDADE.

6.1 ISEN\u00c7\u00c3O DE GARANTIA. A SOLU\u00c7\u00c3O \u00c9 FORNECIDA \"NO ESTADO EM QUE SE ENCONTRA\" SEM GARANTIA DE QUALQUER TIPO. A DZF N\u00c3O OFERECE GARANTIAS, SEJAM EXPRESSAS, IMPL\u00cdCITAS, ESTATUT\u00c1RIAS OU DE OUTRA FORMA, COM RELA\u00c7\u00c3O \u00c0 SOLU\u00c7\u00c3O E DOCUMENTA\u00c7\u00c3O, INCLUINDO SUA CONDI\u00c7\u00c3O, CONFORMIDADE COM QUALQUER REPRESENTA\u00c7\u00c3O OU DESCRI\u00c7\u00c3O, E A DZF ESPECIFICAMENTE SE ISENTA DE TODAS AS GARANTIAS IMPL\u00cdCITAS DE COMERCIALIZA\u00c7\u00c3O, ADEQUA\u00c7\u00c3O A UM FIM ESPEC\u00cdFICO, T\u00cdTULO E N\u00c3O VIOLA\u00c7\u00c3O.

6.2 LIMITA\u00c7\u00c3O DE RESPONSABILIDADE. EXCETO POR VIOLA\u00c7\u00c3O DAS SE\u00c7\u00d5ES 2.1, 2.2 E 5, EM NENHUM CASO QUALQUER DAS PARTES SER\u00c1 RESPONS\u00c1VEL PERANTE A OUTRA POR DANOS INDIRETOS, INCIDENTAIS, ESPECIAIS OU OUTROS DANOS CONSEQUENCIAIS, INCLUINDO SEM LIMITA\u00c7\u00c3O DANOS POR PERDA DE LUCROS OU USO OU PERDA DE DADOS, INCORRIDOS POR VOC\u00ca OU QUALQUER TERCEIRO, DECORRENTES DE OU RELACIONADOS A ESTE ACORDO, SEJA EM UMA A\u00c7\u00c3O EM CONTRATO, ATO IL\u00cdCITO OU DE OUTRA FORMA, MESMO QUE A OUTRA PARTE TENHA SIDO AVISADA DA POSSIBILIDADE DE TAIS DANOS. EM NENHUM CASO A RESPONSABILIDADE AGREGADA DA DZF DECORRENTE DE OU RELACIONADA A ESTE ACORDO EXCEDER\u00c1 CEM D\u00d3LARES ($100), SEJA EM A\u00c7\u00c3O EM CONTRATO, ATO IL\u00cdCITO OU DE OUTRA FORMA.

7. LEI APLIC\u00c1VEL. Este Acordo e todos os assuntos decorrentes de ou relacionados a este Acordo ser\u00e3o regidos, interpretados e constru\u00eddos de acordo com as leis das Ilhas Cayman.

8. DISPOSI\u00c7\u00d5ES GERAIS. Este Acordo n\u00e3o pode ser transferido ou cedido pelo Usu\u00e1rio sem o consentimento pr\u00e9vio por escrito da DZF. A DZF pode ceder livremente este Acordo. Este Acordo, juntamente com quaisquer anexos, constitui o acordo completo entre as partes e substitui todos os acordos ou representa\u00e7\u00f5es anteriores ou contempor\u00e2neos, escritos ou orais, relativos ao assunto aqui tratado.

"},{"location":"pt/DZ%20Testnet%20Connection/#conectando-ao-testnet-no-modo-ibrl","title":"Conectando ao Testnet no Modo IBRL","text":"

Note

O modo IBRL n\u00e3o requer reinicializa\u00e7\u00e3o dos clientes validadores, pois usa seu endere\u00e7o IP p\u00fablico existente.

Os Validadores Testnet da Solana completar\u00e3o a conex\u00e3o ao Testnet do DoubleZero, detalhada nesta p\u00e1gina.

Cada validador Solana tem seu pr\u00f3prio keypair de identidade; dele \u00e9 extra\u00edda a chave p\u00fablica conhecida como o node ID. Esta \u00e9 a impress\u00e3o digital \u00fanica do validador na rede Solana.

Com o DoubleZeroID e o node ID identificados, voc\u00ea provar\u00e1 a propriedade da sua m\u00e1quina. Isso \u00e9 feito criando uma mensagem que inclui o DoubleZeroID assinado com a chave de identidade do validador. A assinatura criptogr\u00e1fica resultante serve como prova verific\u00e1vel de que voc\u00ea controla o validador.

Por fim, voc\u00ea enviar\u00e1 uma solicita\u00e7\u00e3o de conex\u00e3o ao DoubleZero. Esta solicita\u00e7\u00e3o comunica: \"Aqui est\u00e1 minha identidade, aqui est\u00e1 a prova de propriedade e aqui est\u00e1 como pretendo me conectar.\" O DoubleZero valida essas informa\u00e7\u00f5es, aceita a prova e provisiona acesso \u00e0 rede para o validador no DoubleZero.

Este guia permite que 1 Validador Prim\u00e1rio se registre e at\u00e9 3 m\u00e1quinas de backup/failover ao mesmo tempo.

"},{"location":"pt/DZ%20Testnet%20Connection/#pre-requisitos","title":"Pr\u00e9-requisitos","text":"

Info

O ID do Validador ser\u00e1 verificado contra o gossip da Solana para determinar o IP alvo. O IP alvo e o ID DoubleZero ser\u00e3o ent\u00e3o usados para abrir um t\u00fanel GRE entre sua m\u00e1quina e o Dispositivo DoubleZero alvo.

Considere: No caso em que voc\u00ea tem um ID junk e um ID Prim\u00e1rio no mesmo IP, apenas o ID Prim\u00e1rio ser\u00e1 usado no registro da m\u00e1quina. Isso ocorre porque o ID junk n\u00e3o aparecer\u00e1 no gossip e, portanto, n\u00e3o pode ser usado para verificar o IP da m\u00e1quina alvo.

"},{"location":"pt/DZ%20Testnet%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao testnet DoubleZero:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Voc\u00ea deve ver a seguinte sa\u00edda:
\u2705 doublezerod configured for environment testnet\n

Ap\u00f3s aproximadamente 30 segundos, voc\u00ea ver\u00e1 os dispositivos DoubleZero dispon\u00edveis:

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

A sa\u00edda do Mainnet ser\u00e1 id\u00eantica em estrutura, mas com muito mais dispositivos dispon\u00edveis.

"},{"location":"pt/DZ%20Testnet%20Connection/#2-abrir-a-porta-44880","title":"2. Abrir a porta 44880","text":"

Os usu\u00e1rios precisam abrir a porta 44880 para utilizar alguns recursos de roteamento.

Para abrir a porta 44880, voc\u00ea pode atualizar as regras do iptables da seguinte forma:

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

observe os flags -i doublezero0, -o doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

Ou UFW da seguinte forma:

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

observe os flags in on doublezero0, out on doublezero0 que restringem esta regra apenas \u00e0 interface DoubleZero

"},{"location":"pt/DZ%20Testnet%20Connection/#3-atestar-a-propriedade-do-validador","title":"3. Atestar a Propriedade do Validador","text":"

Com seu Ambiente DoubleZero configurado, \u00e9 hora de atestar a Propriedade do seu Validador.

O ID DoubleZero que voc\u00ea criou na configura\u00e7\u00e3o do seu validador prim\u00e1rio deve ser usado em todas as m\u00e1quinas de backup.

O ID na sua m\u00e1quina prim\u00e1ria pode ser encontrado com doublezero address. O mesmo ID deve estar em ~/.config/doublezero/id.json em todas as m\u00e1quinas do cluster.

Para conseguir isso, voc\u00ea primeiro verificar\u00e1 que a m\u00e1quina da qual est\u00e1 executando os comandos \u00e9 seu Validador Prim\u00e1rio com:

doublezero-solana passport find-validator -ut\n

Isso verifica que o validador est\u00e1 registrado no gossip e aparece no cronograma de l\u00edderes.

Sa\u00edda esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

O mesmo fluxo de trabalho \u00e9 usado para uma ou muitas m\u00e1quinas. Para registrar uma m\u00e1quina, exclua os argumentos \"--backup-validator-ids\" ou \"backup_ids=\" de qualquer comando nesta p\u00e1gina.

Agora, em todas as m\u00e1quinas de backup nas quais voc\u00ea planeja executar seu Validador Prim\u00e1rio, execute o seguinte:

doublezero-solana passport find-validator -ut\n

Sa\u00edda esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Esta sa\u00edda \u00e9 esperada. O n\u00f3 de backup n\u00e3o pode estar no cronograma de l\u00edderes no momento da cria\u00e7\u00e3o do passe.

Voc\u00ea agora executar\u00e1 este comando em todas as m\u00e1quinas de backup nas quais planeja usar a conta de voto e identidade do seu Validador Prim\u00e1rio.

"},{"location":"pt/DZ%20Testnet%20Connection/#preparar-a-conexao","title":"Preparar a Conex\u00e3o","text":"

Execute o seguinte comando na m\u00e1quina do Validador Prim\u00e1rio. Esta \u00e9 a m\u00e1quina na qual voc\u00ea tem stake ativo, que est\u00e1 no cronograma de l\u00edderes com seu ID de validador prim\u00e1rio no gossip da Solana na m\u00e1quina da qual voc\u00ea est\u00e1 executando o comando:

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

Exemplo de sa\u00edda:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Observe a sa\u00edda no final deste comando. \u00c9 a estrutura para o pr\u00f3ximo passo.

"},{"location":"pt/DZ%20Testnet%20Connection/#4-gerar-assinatura","title":"4. Gerar Assinatura","text":"

No final do \u00faltimo passo, recebemos uma sa\u00edda pr\u00e9-formatada para solana sign-offchain-message.

Da sa\u00edda anterior, executaremos este comando na m\u00e1quina do Validador Prim\u00e1rio.

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

Sa\u00edda:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"pt/DZ%20Testnet%20Connection/#5-iniciar-uma-solicitacao-de-conexao-no-doublezero","title":"5. Iniciar uma Solicita\u00e7\u00e3o de Conex\u00e3o no DoubleZero","text":"

Use o comando request-validator-access para criar uma conta na Solana para a solicita\u00e7\u00e3o de conex\u00e3o. O agente Sentinel do DoubleZero detecta a nova conta, valida sua identidade e assinatura, e cria o passe de acesso no DoubleZero para que o servidor possa estabelecer uma conex\u00e3o.

Use o node ID, o DoubleZeroID e a assinatura.

Note

Neste exemplo usamos -k /home/user/.config/solana/id.json para encontrar a Identidade do validador. Use o local apropriado para sua implanta\u00e7\u00e3o local.

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

Sa\u00edda:

Esta sa\u00edda pode ser usada para ver a transa\u00e7\u00e3o em um explorador Solana. Certifique-se de mudar o explorador para testnet. Esta verifica\u00e7\u00e3o \u00e9 opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Se bem-sucedido, o DoubleZero registrar\u00e1 o prim\u00e1rio com seus backups. Agora voc\u00ea pode fazer failover entre os IPs registrados no passe de acesso. O DoubleZero manter\u00e1 a conectividade automaticamente ao mudar para n\u00f3s de backup registrados desta forma.

"},{"location":"pt/DZ%20Testnet%20Connection/#6-conectar-no-modo-ibrl","title":"6. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel GRE terminar de ser configurado. At\u00e9 que o t\u00fanel GRE esteja configurado, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Note

Examine esta sa\u00edda. Observe que Tunnel src e DoubleZero IP correspondem ao endere\u00e7o IPv4 p\u00fablico da sua m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"pt/DZ%20Testnet%20Connection/#proximo-passo-publicando-shreds-via-multicast","title":"Pr\u00f3ximo Passo: Publicando Shreds via Multicast","text":"

Se voc\u00ea completou esta configura\u00e7\u00e3o e planeja publicar shreds via multicast, continue para a pr\u00f3xima p\u00e1gina.

"},{"location":"pt/New%20Tenant/","title":"Novo Tenant","text":"

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.

Se voc\u00ea gostaria que seu sistema distribu\u00eddo aproveitasse a rede DoubleZero, ficamos felizes em ajudar com qualquer d\u00favida t\u00e9cnica que voc\u00ea possa ter.

Formul\u00e1rio de Contato

"},{"location":"pt/Other%20Multicast%20Connection/","title":"Outra Conex\u00e3o Multicast","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

Caso de Uso Primeiro Passo Quando Aprovado, conecte via: Assinar o Jito Shredstream Entre em contato com o Jito para aprova\u00e7\u00e3o. doublezero connect multicast --subscribe jito-shredstream

Informa\u00e7\u00f5es detalhadas de conex\u00e3o:

"},{"location":"pt/Other%20Multicast%20Connection/#1-instalacao-do-cliente-doublezero","title":"1. Instala\u00e7\u00e3o do Cliente DoubleZero","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o para instalar e configurar o cliente DoubleZero.

"},{"location":"pt/Other%20Multicast%20Connection/#2-instrucoes-de-conexao","title":"2. Instru\u00e7\u00f5es de Conex\u00e3o","text":"

Conecte-se ao DoubleZero no Modo Multicast Como publicador:

doublezero connect multicast --publish <nome do feed>

ou como assinante:

doublezero connect multicast --subscribe <nome do feed>

ou para publicar e assinar:

doublezero connect multicast --publish <nome do feed> --subscribe <nome do feed>

Para publicar ou assinar em m\u00faltiplos feeds, voc\u00ea pode incluir m\u00faltiplos nomes de feeds separados por espa\u00e7o. Isso tamb\u00e9m pode ser usado para publicar e assinar feeds de publica\u00e7\u00e3o. Por exemplo: doublezero connect multicast --subscribe feed1 feed2 feed3

Voc\u00ea deve ver uma sa\u00edda similar \u00e0 seguinte:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <seu dz_id>\n\ud83d\udd0d  Provisioning User for IP: <seu ip p\u00fablico>\n    Creating an account for the IP: <seu ip p\u00fablico>\n    The Device has been selected: <o dispositivo doublezero ao qual voc\u00ea est\u00e1 se conectando>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"pt/Other%20Multicast%20Connection/#3-verifique-sua-conexao-multicast-ativa","title":"3. Verifique sua conex\u00e3o multicast ativa.","text":"

Aguarde 60 segundos e ent\u00e3o execute

doublezero status\n
Resultado esperado: - Sess\u00e3o BGP ativa na Rede DoubleZero correta - Se voc\u00ea \u00e9 um publicador, seu IP DoubleZero ser\u00e1 diferente do seu IP de Origem do T\u00fanel. Isso \u00e9 esperado. - Se voc\u00ea \u00e9 apenas um assinante, seu IP DoubleZero ser\u00e1 o mesmo que seu IP de Origem do T\u00fanel.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verifique os grupos aos quais voc\u00ea est\u00e1 conectado:

doublezero user list --client-ip <seu ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"pt/Permissioned%20Connection/","title":"Conex\u00e3o com Permiss\u00e3o ao DoubleZero no Modo IBRL para N\u00e3o-Validadores","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/Permissioned%20Connection/#visao-geral-do-processo-de-integracao-com-permissao","title":"Vis\u00e3o Geral do Processo de Integra\u00e7\u00e3o com Permiss\u00e3o","text":"

A integra\u00e7\u00e3o de usu\u00e1rios est\u00e1 atualmente sujeita a permiss\u00e3o para n\u00e3o-validadores e RPCs. Para iniciar o processo com permiss\u00e3o, preencha este formul\u00e1rio. Isto \u00e9 o que voc\u00ea pode esperar durante este processo:

"},{"location":"pt/Permissioned%20Connection/#conectando-ao-mainnet-beta-e-testnet-no-modo-ibrl","title":"Conectando ao Mainnet-Beta e Testnet no Modo IBRL","text":"

Note

O modo IBRL n\u00e3o requer reinicializa\u00e7\u00e3o dos clientes validadores, pois usa seu endere\u00e7o IP p\u00fablico existente.

Os Usu\u00e1rios com Permiss\u00e3o completar\u00e3o a conex\u00e3o ao DoubleZero Mainnet-beta, detalhada nesta p\u00e1gina.

"},{"location":"pt/Permissioned%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Para configurar o CLI do DoubleZero (doublezero) e o daemon (doublezerod) para se conectar ao DoubleZero mainnet-beta:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Voc\u00ea deve ver a seguinte sa\u00edda:

\u2705 doublezerod configured for environment mainnet-beta\n

Ap\u00f3s aproximadamente 30 segundos, voc\u00ea ver\u00e1 os dispositivos DoubleZero dispon\u00edveis:

doublezero latency\n
"},{"location":"pt/Permissioned%20Connection/#2-contatar-a-fundacao-doublezero","title":"2. Contatar a Funda\u00e7\u00e3o DoubleZero","text":"

A Funda\u00e7\u00e3o DoubleZero. Voc\u00ea precisar\u00e1 fornecer seu DoubleZeroID, seu ID de Validador (node ID) e o endere\u00e7o IPv4 p\u00fablico a partir do qual voc\u00ea se conectar\u00e1.

"},{"location":"pt/Permissioned%20Connection/#3-conectar-no-modo-ibrl","title":"3. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel ser conclu\u00eddo. At\u00e9 que o t\u00fanel seja conclu\u00eddo, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
Sa\u00edda:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"pt/Permissioned%20Connection/#proximo-passo-multicast","title":"Pr\u00f3ximo Passo: Multicast","text":"

Se voc\u00ea completou esta configura\u00e7\u00e3o e planeja usar o Multicast, continue para a pr\u00f3xima p\u00e1gina.

"},{"location":"pt/Shelby%20Permissioned%20Connection/","title":"Conex\u00e3o ao DoubleZero no Modo IBRL para Usu\u00e1rios do Shelby Testnet","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/Shelby%20Permissioned%20Connection/#obtenha-seu-doublezeroid","title":"Obtenha seu DoubleZeroID","text":"

Voc\u00ea precisar\u00e1 fornecer seu DoubleZeroID e o endere\u00e7o IPv4 p\u00fablico neste formul\u00e1rio

"},{"location":"pt/Shelby%20Permissioned%20Connection/#conectando-ao-testnet-no-modo-ibrl","title":"Conectando ao Testnet no Modo IBRL","text":"

Os usu\u00e1rios com permiss\u00e3o do Shelby completar\u00e3o a conex\u00e3o ao DoubleZero Testnet, detalhada nesta p\u00e1gina.

"},{"location":"pt/Shelby%20Permissioned%20Connection/#1-configuracao-do-ambiente","title":"1. Configura\u00e7\u00e3o do Ambiente","text":"

Siga as instru\u00e7\u00f5es de configura\u00e7\u00e3o antes de continuar.

O \u00faltimo passo na configura\u00e7\u00e3o foi desconectar da rede. Isso \u00e9 para garantir que apenas um t\u00fanel esteja aberto na sua m\u00e1quina para o DoubleZero, e que esse t\u00fanel esteja na rede correta.

Para configurar o CLI do DoubleZero (doublezero) para se conectar ao tenant Shelby no DoubleZero:

doublezero config set --tenant shelby\n

Aplique regras de Firewall adicionais espec\u00edficas para o Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"pt/Shelby%20Permissioned%20Connection/#2-contatar-a-fundacao-doublezero","title":"2. Contatar a Funda\u00e7\u00e3o DoubleZero","text":"

A Funda\u00e7\u00e3o DoubleZero. Voc\u00ea precisar\u00e1 fornecer seu DoubleZeroID e o endere\u00e7o IPv4 p\u00fablico a partir do qual voc\u00ea se conectar\u00e1.

"},{"location":"pt/Shelby%20Permissioned%20Connection/#3-conectar-no-modo-ibrl","title":"3. Conectar no Modo IBRL","text":"

No servidor, com o usu\u00e1rio que se conectar\u00e1 ao DoubleZero, execute o comando connect para estabelecer a conex\u00e3o com o DoubleZero.

doublezero connect ibrl\n

Voc\u00ea deve ver uma sa\u00edda indicando o provisionamento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Aguarde um minuto para o t\u00fanel ser conclu\u00eddo. At\u00e9 que o t\u00fanel seja conclu\u00eddo, sua sa\u00edda de status pode retornar \"down\" ou \"Unknown\".

Verifique sua conex\u00e3o:

doublezero status\n

Sa\u00edda:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Um status de up significa que voc\u00ea est\u00e1 conectado com sucesso.

Voc\u00ea poder\u00e1 visualizar as rotas propagadas por outros usu\u00e1rios no DoubleZero executando:

ip route\n
Sa\u00edda:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"pt/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Revise o Aviso Legal antes de acessar ou usar o c\u00f3digo ou quaisquer materiais relacionados.

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.

Aviso Legal

Este documento e o c\u00f3digo associado s\u00e3o fornecidos apenas para fins informativos e t\u00e9cnicos. A funcionalidade de convers\u00e3o de tokens descrita aqui \u00e9 n\u00e3o custodial \u2014 os usu\u00e1rios interagem diretamente com os contratos inteligentes subjacentes e mant\u00eam controle total de seus ativos em todos os momentos.

O sistema pode depender de ou interagir com c\u00f3digo de terceiros, fontes de dados ou mecanismos de precifica\u00e7\u00e3o e taxas (por exemplo, contratos inteligentes, APIs ou exchanges descentralizadas) que n\u00e3o s\u00e3o desenvolvidos, controlados ou revisados pelo(s) desenvolvedor(es) ou publicador(es). Nenhuma representa\u00e7\u00e3o ou garantia \u00e9 feita quanto \u00e0 precis\u00e3o, funcionalidade ou seguran\u00e7a de qualquer componente de terceiros. O(s) desenvolvedor(es) e publicador(es) deste c\u00f3digo n\u00e3o garantem sua precis\u00e3o, integridade ou disponibilidade cont\u00ednua. O c\u00f3digo e os materiais relacionados s\u00e3o fornecidos \"no estado em que se encontram\" e podem conter bugs, erros ou vulnerabilidades. O uso \u00e9 inteiramente por sua pr\u00f3pria conta e risco. O(s) desenvolvedor(es) e publicador(es) n\u00e3o recebem quaisquer taxas em conex\u00e3o com o uso desses contratos. Eles n\u00e3o t\u00eam obriga\u00e7\u00e3o de manter, atualizar ou suportar o c\u00f3digo ou a documenta\u00e7\u00e3o relacionada.

Este documento n\u00e3o constitui uma oferta de venda, uma solicita\u00e7\u00e3o de compra ou uma recomenda\u00e7\u00e3o para participar de qualquer convers\u00e3o de token, swap ou outra transa\u00e7\u00e3o. Nenhum conselho jur\u00eddico, financeiro ou de investimento \u00e9 fornecido. Os usu\u00e1rios s\u00e3o os \u00fanicos respons\u00e1veis por determinar a legalidade de suas atividades. Eles devem revisar as leis e regulamentos aplic\u00e1veis em sua jurisdi\u00e7\u00e3o e consultar assessores independentes antes de usar o c\u00f3digo ou participar de qualquer convers\u00e3o. O uso \u00e9 proibido onde for ilegal, incluindo por pessoas ou entidades sujeitas a san\u00e7\u00f5es ou em jurisdi\u00e7\u00f5es restritas.

Na extens\u00e3o m\u00e1xima permitida por lei, o(s) desenvolvedor(es) e publicador(es) se isentam de toda responsabilidade por qualquer perda, dano ou reclama\u00e7\u00e3o decorrente ou em conex\u00e3o com o uso do c\u00f3digo ou participa\u00e7\u00e3o na convers\u00e3o.

A revis\u00e3o e o uso deste documento e do c\u00f3digo associado est\u00e3o sujeitos aos Termos e Condi\u00e7\u00f5es do Website e Termos e Condi\u00e7\u00f5es do Protocolo.

O protocolo DoubleZero coleta receita denominada em SOL de seus usu\u00e1rios validadores, mas distribui recompensas denominadas em 2Z para os contribuidores. Portanto, ele deve converter SOL em 2Z.

Para isso, participantes eleg\u00edveis podem negociar contra um contrato de swap DoubleZero, comprando SOL do contrato e vendendo 2Z. O pre\u00e7o \u00e9 baseado em feeds de pre\u00e7o Pyth com um mecanismo de desconto program\u00e1tico.

Este guia curto explica como usar o programa.

Revise o Aviso Legal no final deste documento antes de acessar ou usar o c\u00f3digo ou quaisquer materiais relacionados.

"},{"location":"pt/Swapping-sol-to-2z/#design-do-programa","title":"Design do Programa","text":"

O programa de swap \u00e9 efetivamente um pool de liquidez unilateral que vende SOL em um tamanho de lote fixo de 1 SOL por negocia\u00e7\u00e3o. Qualquer participante eleg\u00edvel pode retirar SOL do programa depositando 2Z, a um pre\u00e7o determinado por um pre\u00e7o oracle do Pyth e um desconto din\u00e2mico. Com o tempo, isso executa o objetivo do programa de transformar tokens nativos em 2Z.

Para utilizar, um trader deve fornecer dois pre\u00e7os Pyth recentes (SOL/USD e 2Z/USD) e uma quantidade de 2Z. O programa ent\u00e3o calcula o 2Z necess\u00e1rio para comprar aquele 1 SOL com base no pre\u00e7o impl\u00edcito SOL/2Z. Em seguida, executa algumas etapas adicionais:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

Neste ponto, se o trader forneceu 2Z suficiente para executar a transa\u00e7\u00e3o a esse pre\u00e7o calculado (inclusive o desconto), ela \u00e9 executada a esse pre\u00e7o calculado. Retorna ao trader a quantidade comprada de SOL e qualquer excesso de 2Z.

O contrato ent\u00e3o n\u00e3o permite mais negocia\u00e7\u00f5es para aquele slot. Isso \u00e9 para evitar que o contrato pague slippage excessivamente alto caso o pre\u00e7o Pyth esteja longe do pre\u00e7o verdadeiro em qualquer momento de maneiras que os filtros existentes n\u00e3o capturam.

"},{"location":"pt/Swapping-sol-to-2z/#execucao-atomica-sem-gas","title":"Execu\u00e7\u00e3o At\u00f4mica Sem Gas","text":"

Esta se\u00e7\u00e3o detalha como usar o comando harvest-dz. Este comando executar\u00e1 atomicamente 2 a\u00e7\u00f5es. 1. O comando solicita uma cota\u00e7\u00e3o do Jupiter versus o programa de convers\u00e3o nativo SOL <> 2Z. 2. Quando a rota do Jupiter gera mais 2Z por SOL do que o programa de convers\u00e3o nativo requer, harvest-2z executa um swap, retornando \u00e0 sua carteira 1 SOL mais a diferen\u00e7a em 2Z.

"},{"location":"pt/Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

Para executar, execute o seguinte:

doublezero-solana revenue-distribution harvest-2z\n
A sa\u00edda se parecer\u00e1 com:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
O comando tamb\u00e9m pode ser simulado com o argumento --dry-run. O dry-run produzir\u00e1 logs do programa e uma sa\u00edda semelhante a:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"pt/Swapping-sol-to-2z/#conversao-do-protocolo","title":"Convers\u00e3o do Protocolo","text":"

Esta se\u00e7\u00e3o discute como verificar as taxas de convers\u00e3o e executar a convers\u00e3o usando o CLI doublezero-solana. E no final, discutimos a interface para integra\u00e7\u00f5es personalizadas com o contrato de swap DoubleZero.

"},{"location":"pt/Swapping-sol-to-2z/#como-verificar-o-preco-de-conversao-sol2z-via-doublezero-solana","title":"Como verificar o pre\u00e7o de convers\u00e3o SOL/2Z via doublezero-solana","text":"

Para encontrar as taxas de convers\u00e3o SOL/2Z no mainnet-beta, execute o seguinte comando:

doublezero-solana revenue-distribution fetch sol-conversion\n

E a sa\u00edda que voc\u00ea veria se parecer\u00e1 com:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

O Journal Balance informa ao usu\u00e1rio quanta liquidez SOL existe no contrato inteligente de Distribui\u00e7\u00e3o de Receita. Um usu\u00e1rio pode negociar enquanto o Journal Balance exceder o tamanho fixo de negocia\u00e7\u00e3o de 1 SOL.

A primeira linha exibe o pre\u00e7o \"verdadeiro\" de convers\u00e3o SOL/2Z via oracle offchain. A segunda linha \u00e9 o pre\u00e7o de convers\u00e3o usado onchain para o swap, que simplesmente ajusta o pre\u00e7o verdadeiro para o desconto algor\u00edtmico.

"},{"location":"pt/Swapping-sol-to-2z/#como-converter-seu-2z-para-sol-via-doublezero-solana","title":"Como converter seu 2Z para SOL via doublezero-solana","text":"

Para converter seus tokens 2Z para SOL, execute o seguinte comando:

doublezero-solana revenue-distribution convert-2z\n

Por padr\u00e3o, se houver liquidez SOL suficiente e sua ATA tiver 2Z suficiente para realizar o swap, esta transa\u00e7\u00e3o ter\u00e1 sucesso. Voc\u00ea pode ajustar o swap mais precisamente especificando os seguintes argumentos:

      --limit-price <DECIMAL>                    O pre\u00e7o limite padr\u00e3o \u00e9 o pre\u00e7o oracle atual SOL/2Z\n      --source-2z-account <PUBKEY>               A conta de token deve ser de propriedade do signat\u00e1rio. Padr\u00e3o para ATA do signat\u00e1rio se n\u00e3o especificado\n      --checked-sol-amount <SOL>                 Verificar explicitamente o valor SOL. Quando especificado, este valor ser\u00e1 verificado contra a quantidade fixa de preenchimento\n

O pre\u00e7o limite especificado determina o pior caso de pre\u00e7o que voc\u00ea est\u00e1 disposto a aceitar ao realizar a convers\u00e3o SOL/2Z. Por exemplo, digamos que o pre\u00e7o 2Z com desconto para SOL seja 800, o que significa 800 tokens 2Z por 1 SOL. Se voc\u00ea especificar um pre\u00e7o limite de 790, n\u00e3o estar\u00e1 disposto a realizar o swap porque est\u00e1 exigindo trocar no m\u00e1ximo 790 tokens 2Z por 1 SOL. Mas se voc\u00ea especificar 810, o trade passar\u00e1 porque voc\u00ea estava disposto a trocar no m\u00e1ximo 810 tokens 2Z (e neste caso, voc\u00ea ter\u00e1 trocado apenas 800 tokens 2Z nesta transa\u00e7\u00e3o).

A conta de token 2Z de origem substitui a ATA padr\u00e3o usando o signat\u00e1rio como propriet\u00e1rio desta ATA 2Z. Mas se voc\u00ea tiver outra conta de token que deseja usar para realizar o swap, forne\u00e7a a pubkey para ela com este argumento.

Opcionalmente, voc\u00ea pode especificar o valor SOL verificado para o tamanho de preenchimento padr\u00e3o (definido como 1 SOL no lan\u00e7amento). Se n\u00e3o estiver alinhado com o tamanho de preenchimento do programa, o swap falhar\u00e1. Isso mitiga o risco de que o tamanho de preenchimento do programa mude e voc\u00ea n\u00e3o perceba.

"},{"location":"pt/Swapping-sol-to-2z/#interface-para-comprar-sol","title":"Interface para Comprar SOL","text":"

A interface e o CLI doublezero-solana residem em este reposit\u00f3rio. O c\u00f3digo-fonte para a interface do contrato de swap DoubleZero pode ser encontrado aqui. O ID do programa \u00e9 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Uma maneira conveniente de gerar as contas necess\u00e1rias para a instru\u00e7\u00e3o de compra de SOL \u00e9 usar o m\u00e9todo new (encontrado em instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

O fill_registry_key pode ser buscado do ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // esta chave\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternativamente, voc\u00ea pode chamar getProgramAccounts via Solana RPC com seu discriminador. Mas recomendamos armazenar em cache esta pubkey, pois ela nunca mudar\u00e1.

O user_key \u00e9 um signat\u00e1rio para a instru\u00e7\u00e3o de compra de SOL e deve ser o propriet\u00e1rio do user_token_account_key. Conforme descrito acima, isso N\u00c3O precisa ser uma ATA. Desde que sua conta de token 2Z seja de propriedade do user_key, esta instru\u00e7\u00e3o ter\u00e1 sucesso.

A struct BuySolAccounts implementa Into<Vec<AccountMeta>> para que voc\u00ea possa gerar todos os metadados de conta necess\u00e1rios para construir a instru\u00e7\u00e3o.

Os dados de instru\u00e7\u00e3o s\u00e3o

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Esses dados de instru\u00e7\u00e3o s\u00e3o serializados em Borsh e t\u00eam um seletor Anchor de 8 bytes, que todos serializar\u00e3o ao usar BorshSerialize::serialize.

Os dados de pre\u00e7o oracle podem ser obtidos deste endpoint p\u00fablico: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. Os dados s\u00e3o desserializ\u00e1veis em serde usando a struct OraclePriceData encontrada em oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Exemplo de como buscar usando o reqwest crate:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Com o ID do programa, contas e dados de instru\u00e7\u00e3o, voc\u00ea deve ser capaz de construir a instru\u00e7\u00e3o para comprar SOL do contrato de swap DoubleZero.

"},{"location":"pt/Validator%20Multicast%20Connection/","title":"Conex\u00e3o Multicast para Validadores","text":"

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.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

Se voc\u00ea ainda n\u00e3o est\u00e1 conectado ao DoubleZero, complete a documenta\u00e7\u00e3o de Configura\u00e7\u00e3o e conex\u00e3o de validador Mainnet-Beta.

Se voc\u00ea \u00e9 um validador j\u00e1 conectado ao DoubleZero, pode continuar com este guia.

"},{"location":"pt/Validator%20Multicast%20Connection/#jito-agave-versao-319-ou-superior","title":"Jito-Agave (vers\u00e3o 3.1.9 ou superior)","text":"
  1. No script de inicializa\u00e7\u00e3o do seu validador, adicione: --shred-receiver-address 233.84.178.1:7733

    Voc\u00ea pode enviar para o Jito e para o grupo bebop ao mesmo tempo.

    exemplo:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...O restante da sua configura\u00e7\u00e3o...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Reinicie seu validador.

  3. Conecte-se ao grupo multicast DoubleZero bebop como publicador: doublezero connect multicast --publish bebop

"},{"location":"pt/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. Em config.toml, adicione:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Reinicie seu validador.

  3. Conecte-se ao grupo multicast DoubleZero bebop como publicador: doublezero connect multicast --publish bebop

Note

Usu\u00e1rios do Frankendancer no modo de driver XDP n\u00e3o podem usar tcpdump. Atualmente n\u00e3o h\u00e1 como confirmar que voc\u00ea est\u00e1 publicando, mas uma solu\u00e7\u00e3o estar\u00e1 dispon\u00edvel em breve.

"},{"location":"pt/Validator%20Multicast%20Connection/#confirme-que-voce-esta-publicando","title":"Confirme que voc\u00ea est\u00e1 publicando","text":"

Durante seu pr\u00f3ximo slot de l\u00edder, use tcpdump para confirmar que voc\u00ea est\u00e1 publicando para o grupo multicast. Voc\u00ea deve ver um heartbeat a cada 10 segundos para verificar que est\u00e1 publicando shreds.

Execute: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Exemplo de sa\u00edda ao publicar:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"pt/architecture/","title":"Arquitetura","text":"

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.

O que comp\u00f5e os diferentes atores e componentes da rede DoubleZero?

Figura 1: Componentes da arquitetura de rede"},{"location":"pt/architecture/#contribuidores","title":"Contribuidores","text":"

A rede DoubleZero \u00e9 composta por contribui\u00e7\u00f5es de conectividade e processamento de pacotes de uma comunidade crescente de provedores de infraestrutura de rede distribu\u00edda em cidades ao redor do mundo. Os contribuidores trazem links de cabo de fibra \u00f3ptica e recursos de processamento de informa\u00e7\u00f5es ao protocolo para fornecer a rede mesh descentralizada.

"},{"location":"pt/architecture/#contribuidores-de-largura-de-banda-de-rede","title":"Contribuidores de Largura de Banda de Rede","text":"

Os contribuidores de rede devem fornecer largura de banda dedicada entre dois pontos, operar dispositivos compat\u00edveis com DoubleZero (DZDs) em cada extremidade e uma conex\u00e3o \u00e0 internet em cada extremidade. Os contribuidores de rede tamb\u00e9m devem executar o software DoubleZero em cada DZD para fornecer servi\u00e7os como multicast, pesquisa de usu\u00e1rios e servi\u00e7os de filtragem de borda.

Os links f\u00edsicos da rede DoubleZero s\u00e3o fornecidos na forma de cabos de fibra \u00f3ptica, comumente referidos como servi\u00e7os de comprimento de onda. Os contribuidores de rede comprometem links de rede subutilizados, de propriedade ou arrendados de provedores de infraestrutura, entre dois ou mais data centers. Esses links s\u00e3o terminados em ambas as extremidades por Dispositivos DoubleZero, que s\u00e3o gabinetes de switching de rede f\u00edsica executando inst\u00e2ncias do software DoubleZero Agent.

"},{"location":"pt/architecture/#doublezero-exchange-dzx-site-de-cross-connect","title":"DoubleZero Exchange (DZX / Site de Cross-connect)","text":"

Os DoubleZero Exchanges (DZXs) s\u00e3o pontos de interconex\u00e3o na rede mesh onde diferentes links de contribuidores s\u00e3o conectados. Os DZXs est\u00e3o localizados nas principais \u00e1reas metropolitanas ao redor do mundo, onde ocorrem interse\u00e7\u00f5es de rede. Os contribuidores de rede devem fazer cross-connect de seus links na rede mesh DoubleZero mais ampla nos DZXs geograficamente localizados mais pr\u00f3ximos de seus endpoints de link.

"},{"location":"pt/architecture/#contribuidores-de-recursos-computacionais","title":"Contribuidores de Recursos Computacionais","text":"

Separados dos contribuidores de rede, os contribuidores de recursos s\u00e3o um grupo descentralizado de participantes da rede que realizam v\u00e1rias tarefas de manuten\u00e7\u00e3o e monitoramento necess\u00e1rias para sustentar a integridade t\u00e9cnica e a funcionalidade cont\u00ednua da rede DoubleZero. Especificamente, eles (i) rastreiam transa\u00e7\u00f5es e pagamentos de usu\u00e1rios; (ii) calculam taxas para contribuidores de rede; (iii) registram os resultados de (i) e (ii); (iv) administram, estritamente de forma n\u00e3o discricion\u00e1ria, os contratos inteligentes que controlam a tokenomics do protocolo; (v) retransmitem atesta\u00e7\u00f5es para a blockchain aplic\u00e1vel; e (vi) publicam dados de telemetria sobre qualidade e utiliza\u00e7\u00e3o de links para fornecer m\u00e9tricas de desempenho transparentes e em tempo real para todos os contribuidores de rede.

"},{"location":"pt/architecture/#componentes","title":"Componentes","text":""},{"location":"pt/architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

O software DoubleZero Daemon \u00e9 executado em servidores que precisam se comunicar pela rede DoubleZero. O daemon interage com a pilha de rede do kernel do host para criar e gerenciar interfaces de t\u00fanel, tabelas de roteamento e rotas.

"},{"location":"pt/architecture/#activator","title":"Activator","text":"

O servi\u00e7o Activator, hospedado por um ou mais membros contribuidores de recursos computacionais da comunidade DoubleZero, monitora eventos de contrato que requerem aloca\u00e7\u00f5es de endere\u00e7os IP e mudan\u00e7as de estado e gerencia essas mudan\u00e7as em nome da rede.

"},{"location":"pt/architecture/#controller","title":"Controller","text":"

O servi\u00e7o Controller, hospedado por um ou mais contribuidores de recursos computacionais da comunidade DoubleZero, serve como interface de configura\u00e7\u00e3o para que os DoubleZero Device Agents renderizem sua configura\u00e7\u00e3o atual com base em eventos de contrato inteligente.

"},{"location":"pt/architecture/#agent","title":"Agent","text":"

O software Agent \u00e9 executado diretamente nos Dispositivos DoubleZero e aplica mudan\u00e7as de configura\u00e7\u00e3o aos dispositivos conforme interpretado pelo servi\u00e7o Controller. O software Agent consulta o Controller por mudan\u00e7as de configura\u00e7\u00e3o, computa quaisquer diferen\u00e7as entre a vers\u00e3o can\u00f4nica on-chain do estado do Dispositivo e a configura\u00e7\u00e3o ativa no dispositivo e aplica as mudan\u00e7as necess\u00e1rias para reconciliar a configura\u00e7\u00e3o ativa.

"},{"location":"pt/architecture/#device","title":"Device","text":"

O gabinete de dispositivo f\u00edsico que fornece o roteamento e a termina\u00e7\u00e3o de link para a rede DoubleZero. Os DZDs executam o software DoubleZero Agent e s\u00e3o configurados com base em dados lidos do servi\u00e7o Controller.

"},{"location":"pt/connect/","title":"Connect","text":"

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.

Se voc\u00ea n\u00e3o for redirecionado, clique aqui.

"},{"location":"pt/contribute-operations/","title":"Guia de Opera\u00e7\u00f5es para Contribuidores","text":"

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.

Este guia cobre as tarefas operacionais cont\u00ednuas para manter seus Dispositivos DoubleZero (DZDs), incluindo atualiza\u00e7\u00f5es de agentes, atualiza\u00e7\u00f5es de dispositivos/interfaces e gerenciamento de links.

Pr\u00e9-requisitos: Antes de usar este guia, certifique-se de ter:

"},{"location":"pt/contribute-operations/#atualizacoes-de-dispositivos","title":"Atualiza\u00e7\u00f5es de Dispositivos","text":"

Use doublezero device update para modificar a configura\u00e7\u00e3o do dispositivo ap\u00f3s o provisionamento inicial.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Op\u00e7\u00f5es de atualiza\u00e7\u00e3o comuns:

Op\u00e7\u00e3o Descri\u00e7\u00e3o --device-type <TYPE> Alterar o modo de opera\u00e7\u00e3o: hybrid, transit, edge (consulte Tipos de Dispositivos) --location <LOCATION> Mover o dispositivo para um local diferente --metrics-publisher <PUBKEY> Alterar a chave do editor de m\u00e9tricas"},{"location":"pt/contribute-operations/#atualizacoes-de-interfaces","title":"Atualiza\u00e7\u00f5es de Interfaces","text":"

Use doublezero device interface update para modificar interfaces existentes. Este comando aceita as mesmas op\u00e7\u00f5es que interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

Para a lista completa de op\u00e7\u00f5es de interface incluindo configura\u00e7\u00f5es CYOA/DIA, consulte Cria\u00e7\u00e3o de Interfaces.

Exemplo \u2014 Adicionar configura\u00e7\u00f5es CYOA a uma interface existente:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"pt/contribute-operations/#listar-interfaces","title":"Listar Interfaces","text":"
doublezero device interface list              # Todas as interfaces em todos os dispositivos\ndoublezero device interface list <DEVICE>     # Interfaces de um dispositivo espec\u00edfico\n
"},{"location":"pt/contribute-operations/#atualizacao-do-config-agent","title":"Atualiza\u00e7\u00e3o do Config Agent","text":"

Quando uma nova vers\u00e3o do Config Agent \u00e9 lan\u00e7ada, siga estas etapas para atualizar.

"},{"location":"pt/contribute-operations/#1-baixar-a-versao-mais-recente","title":"1. Baixar a vers\u00e3o mais recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"pt/contribute-operations/#2-desligar-o-agente","title":"2. Desligar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#3-remover-a-versao-anterior","title":"3. Remover a vers\u00e3o anterior","text":"

Primeiro, encontre o nome do arquivo da vers\u00e3o anterior:

switch# show extensions\n

Execute os seguintes comandos para remover a vers\u00e3o anterior. Substitua <OLD_VERSION> pela vers\u00e3o anterior da sa\u00edda acima:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"pt/contribute-operations/#4-instalar-a-nova-versao","title":"4. Instalar a nova vers\u00e3o","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-operations/#5-reativar-o-agente","title":"5. Reativar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#6-verificar-a-atualizacao","title":"6. Verificar a atualiza\u00e7\u00e3o","text":"

O status deve ser \"A, I, B\".

switch# show extensions\n

"},{"location":"pt/contribute-operations/#7-verificar-a-saida-do-log-do-config-agent","title":"7. Verificar a sa\u00edda do log do Config Agent","text":"
show agent doublezero-agent log\n
"},{"location":"pt/contribute-operations/#atualizacao-do-telemetry-agent","title":"Atualiza\u00e7\u00e3o do Telemetry Agent","text":"

Quando uma nova vers\u00e3o do Telemetry Agent \u00e9 lan\u00e7ada, siga estas etapas para atualizar.

"},{"location":"pt/contribute-operations/#1-baixar-a-versao-mais-recente_1","title":"1. Baixar a vers\u00e3o mais recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"pt/contribute-operations/#2-desligar-o-agente_1","title":"2. Desligar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#3-remover-a-versao-anterior_1","title":"3. Remover a vers\u00e3o anterior","text":"

Primeiro, encontre o nome do arquivo da vers\u00e3o anterior:

switch# show extensions\n

Execute os seguintes comandos para remover a vers\u00e3o anterior. Substitua <OLD_VERSION> pela vers\u00e3o anterior da sa\u00edda acima:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"pt/contribute-operations/#4-instalar-a-nova-versao_1","title":"4. Instalar a nova vers\u00e3o","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-operations/#5-reativar-o-agente_1","title":"5. Reativar o agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"pt/contribute-operations/#6-verificar-a-atualizacao_1","title":"6. Verificar a atualiza\u00e7\u00e3o","text":"

O status deve ser \"A, I, B\".

switch# show extensions\n

"},{"location":"pt/contribute-operations/#7-verificar-a-saida-do-log-do-telemetry-agent","title":"7. Verificar a sa\u00edda do log do Telemetry Agent","text":"
show agent doublezero-telemetry log\n
"},{"location":"pt/contribute-operations/#monitoramento","title":"Monitoramento","text":"

\u26a0\ufe0f Importante:

  1. Para os exemplos de configura\u00e7\u00e3o abaixo, leve em considera\u00e7\u00e3o se seus agentes est\u00e3o usando um VRF de gerenciamento.
  2. O config agent e o telemetry agent usam a mesma porta de escuta (:8080) para seu endpoint de m\u00e9tricas por padr\u00e3o. Se estiver habilitando m\u00e9tricas em ambos, use o flag -metrics-addr para definir portas de escuta \u00fanicas para cada agente.
"},{"location":"pt/contribute-operations/#metricas-do-config-agent","title":"M\u00e9tricas do Config Agent","text":"

O config agent no dispositivo DoubleZero tem a capacidade de expor m\u00e9tricas compat\u00edveis com Prometheus configurando o flag -metrics-enable na configura\u00e7\u00e3o do daemon doublezero-agent. A porta de escuta padr\u00e3o \u00e9 tcp/8080, mas pode ser alterada para se adequar ao ambiente via -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

"},{"location":"pt/contribute-operations/#erros-de-alto-sinal","title":"Erros de Alto Sinal","text":""},{"location":"pt/contribute-operations/#metricas-do-telemetry-agent","title":"M\u00e9tricas do Telemetry Agent","text":"

O telemetry agent no dispositivo DoubleZero tem a capacidade de expor m\u00e9tricas compat\u00edveis com Prometheus configurando o flag -metrics-enable na configura\u00e7\u00e3o do daemon doublezero-telemetry. A porta de escuta padr\u00e3o \u00e9 tcp/8080, mas pode ser alterada para se adequar ao ambiente via -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

"},{"location":"pt/contribute-operations/#erros-de-alto-sinal_1","title":"Erros de Alto Sinal","text":""},{"location":"pt/contribute-operations/#gerenciamento-de-links","title":"Gerenciamento de Links","text":""},{"location":"pt/contribute-operations/#drenagem-de-links","title":"Drenagem de Links","text":"

A drenagem de links permite que os contribuidores retirem gradualmente um link do servi\u00e7o ativo para manuten\u00e7\u00e3o ou solu\u00e7\u00e3o de problemas. H\u00e1 dois estados de drenagem:

Estado Comportamento IS-IS Descri\u00e7\u00e3o soft-drained M\u00e9trica definida como 1.000.000 O link \u00e9 despriorizado. O tr\u00e1fego usar\u00e1 rotas alternativas se dispon\u00edveis, mas ainda usar\u00e1 este link se for a \u00fanica op\u00e7\u00e3o. hard-drained Definido como passivo O link \u00e9 completamente retirado do roteamento. Nenhum tr\u00e1fego atravessar\u00e1 este link."},{"location":"pt/contribute-operations/#transicoes-de-estado","title":"Transi\u00e7\u00f5es de Estado","text":"

As seguintes transi\u00e7\u00f5es de estado s\u00e3o permitidas:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (deve passar primeiro por soft-drained)\n

\u26a0\ufe0f Nota: Voc\u00ea n\u00e3o pode ir diretamente de hard-drained para activated. Primeiro deve fazer a transi\u00e7\u00e3o para soft-drained, depois para activated.

"},{"location":"pt/contribute-operations/#dreno-suave-de-um-link","title":"Dreno Suave de um Link","text":"

O dreno suave desprioriza um link definindo sua m\u00e9trica IS-IS como 1.000.000. O tr\u00e1fego preferir\u00e1 rotas alternativas, mas ainda pode usar este link se necess\u00e1rio.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"pt/contribute-operations/#dreno-rigido-de-um-link","title":"Dreno R\u00edgido de um Link","text":"

O dreno r\u00edgido remove o link do roteamento completamente definindo IS-IS no modo passivo. Nenhum tr\u00e1fego atravessar\u00e1 este link.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"pt/contribute-operations/#restaurar-um-link-para-ativo","title":"Restaurar um Link para Ativo","text":"

Para devolver um link drenado \u00e0 opera\u00e7\u00e3o normal:

# A partir de soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# A partir de hard-drained (deve passar primeiro por soft-drained)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"pt/contribute-operations/#substituicao-de-atraso","title":"Substitui\u00e7\u00e3o de Atraso","text":"

O recurso de substitui\u00e7\u00e3o de atraso permite que os contribuidores alterem temporariamente o atraso efetivo de um link sem modificar o valor de atraso medido real. Isso \u00e9 \u00fatil para rebaixar temporariamente um link de rota prim\u00e1ria para secund\u00e1ria.

"},{"location":"pt/contribute-operations/#definir-uma-substituicao-de-atraso","title":"Definir uma Substitui\u00e7\u00e3o de Atraso","text":"

Para substituir o atraso de um link (tornando-o menos preferido no roteamento):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

Os valores v\u00e1lidos s\u00e3o de 0,01 a 1000 milissegundos.

"},{"location":"pt/contribute-operations/#limpar-uma-substituicao-de-atraso","title":"Limpar uma Substitui\u00e7\u00e3o de Atraso","text":"

Para remover a substitui\u00e7\u00e3o e voltar a usar o atraso medido real:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Nota: Quando um link est\u00e1 em soft-drained, tanto delay_ms quanto delay_override_ms s\u00e3o substitu\u00eddos para 1000ms (1 segundo) para garantir a desprioriza\u00e7\u00e3o.

"},{"location":"pt/contribute-overview/","title":"Documenta\u00e7\u00e3o para Contribuidores","text":"

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.

Terminologia

Novo no DoubleZero? Consulte o Gloss\u00e1rio para defini\u00e7\u00f5es de termos-chave como DZD, DZX e CYOA.

Bem-vindo \u00e0 documenta\u00e7\u00e3o para contribuidores do DoubleZero. Esta se\u00e7\u00e3o cobre tudo que voc\u00ea precisa para se tornar um contribuidor de rede.

Interessado em se tornar um contribuidor de rede?

Revise a p\u00e1gina de Requisitos e Arquitetura para entender o hardware, a largura de banda e a conectividade necess\u00e1rios para contribuir com a rede DoubleZero.

"},{"location":"pt/contribute-overview/#lista-de-verificacao-de-integracao","title":"Lista de Verifica\u00e7\u00e3o de Integra\u00e7\u00e3o","text":"

Use esta lista de verifica\u00e7\u00e3o para acompanhar seu progresso. Todos os itens devem ser conclu\u00eddos antes que sua contribui\u00e7\u00e3o esteja tecnicamente operacional.

"},{"location":"pt/contribute-overview/#fase-1-pre-requisitos","title":"Fase 1: Pr\u00e9-requisitos","text":""},{"location":"pt/contribute-overview/#fase-2-configuracao-de-conta","title":"Fase 2: Configura\u00e7\u00e3o de Conta","text":""},{"location":"pt/contribute-overview/#fase-3-provisionamento-de-dispositivos","title":"Fase 3: Provisionamento de Dispositivos","text":""},{"location":"pt/contribute-overview/#fase-4-estabelecimento-de-link-e-instalacao-de-agentes","title":"Fase 4: Estabelecimento de Link e Instala\u00e7\u00e3o de Agentes","text":""},{"location":"pt/contribute-overview/#fase-5-rodagem-do-link","title":"Fase 5: Rodagem do Link","text":""},{"location":"pt/contribute-overview/#fase-6-verificacao-e-ativacao","title":"Fase 6: Verifica\u00e7\u00e3o e Ativa\u00e7\u00e3o","text":""},{"location":"pt/contribute-overview/#obter-ajuda","title":"Obter Ajuda","text":"

Como parte da integra\u00e7\u00e3o, o DZF ir\u00e1 adicion\u00e1-lo aos canais Slack de contribuidores:

Canal Prop\u00f3sito #dz-contributor-announcements Comunica\u00e7\u00f5es oficiais do DZF e Malbec Labs \u2014 atualiza\u00e7\u00f5es de CLI/agentes, mudan\u00e7as importantes, an\u00fancios de seguran\u00e7a. Monitore para atualiza\u00e7\u00f5es cr\u00edticas; fa\u00e7a perguntas nas threads. #dz-contributor-incidents Eventos n\u00e3o planejados que afetam o servi\u00e7o. Os incidentes s\u00e3o postados automaticamente via API/formul\u00e1rio web com severidade e dispositivos/links afetados. A discuss\u00e3o e resolu\u00e7\u00e3o de problemas ocorrem nas threads. #dz-contributor-maintenance Atividades de manuten\u00e7\u00e3o planejadas (atualiza\u00e7\u00f5es, reparos). Agendadas via API/formul\u00e1rio web com hor\u00e1rios de in\u00edcio/fim planejados. Discuss\u00e3o nas threads. #dz-contributor-ops Discuss\u00e3o aberta para todos os contribuidores \u2014 perguntas operacionais, ajuda com CLI, compartilhamento de runbooks e playbooks.

Voc\u00ea tamb\u00e9m receber\u00e1 um canal privado do DZ/Malbec Labs para suporte direto da sua organiza\u00e7\u00e3o.

"},{"location":"pt/contribute-overview/#regras-de-prefixo-dz","title":"Regras de Prefixo DZ","text":"

Cr\u00edtico: Uso do Pool de Prefixos DZ

O pool de prefixos DZ que voc\u00ea fornece \u00e9 gerenciado pelo protocolo DoubleZero para aloca\u00e7\u00e3o de IP.

Como os prefixos DZ s\u00e3o usados:

N\u00c3O pode usar esses endere\u00e7os para:

Requisitos:

Se voc\u00ea precisar de endere\u00e7os para seu pr\u00f3prio equipamento (IPs de interface DIA, gerenciamento, etc.), use um pool de endere\u00e7os separado.

"},{"location":"pt/contribute-overview/#referencia-rapida-termos-chave","title":"Refer\u00eancia R\u00e1pida: Termos-Chave","text":"

Novo no DoubleZero? Aqui est\u00e3o os termos essenciais (consulte o Gloss\u00e1rio completo):

Termo Defini\u00e7\u00e3o DZD Dispositivo DoubleZero \u2014 seu switch f\u00edsico Arista que executa os agentes DZ DZX DoubleZero Exchange \u2014 ponto de interconex\u00e3o metropolitana onde os contribuidores se conectam entre si CYOA Choose Your Own Adventure \u2014 m\u00e9todo de conectividade de usu\u00e1rios (GREOverDIA, GREOverFabric, etc.) DIA Acesso Direto \u00e0 Internet \u2014 conectividade \u00e0 internet requerida por todos os DZDs para o controlador e a telemetria, comumente usado como tipo CYOA para conectividade de usu\u00e1rios em dispositivos de borda/h\u00edbridos Link WAN Link entre seus pr\u00f3prios DZDs (mesmo contribuidor) Link DZX Link para o DZD de outro contribuidor (requer aceita\u00e7\u00e3o m\u00fatua) Config Agent Consulta o controlador, aplica a configura\u00e7\u00e3o ao seu DZD Telemetry Agent Coleta m\u00e9tricas de lat\u00eancia/perda TWAMP, envia ao ledger onchain Chave de Servi\u00e7o Sua chave de identidade de contribuidor para opera\u00e7\u00f5es do CLI Chave do Editor de M\u00e9tricas Chave para assinar envios de telemetria onchain"},{"location":"pt/contribute-overview/#estrutura-da-documentacao","title":"Estrutura da Documenta\u00e7\u00e3o","text":"Guia Descri\u00e7\u00e3o Requisitos e Arquitetura Especifica\u00e7\u00f5es de hardware, arquitetura de rede, op\u00e7\u00f5es de largura de banda Provisionamento de Dispositivos Passo a passo: chaves \u2192 acesso ao reposit\u00f3rio \u2192 dispositivo \u2192 links \u2192 agentes Opera\u00e7\u00f5es Atualiza\u00e7\u00f5es de agentes, gerenciamento de links, monitoramento Gloss\u00e1rio Toda a terminologia do DoubleZero definida"},{"location":"pt/contribute-overview/#conceitos-de-rede-para-nao-engenheiros-de-rede","title":"Conceitos de Rede para N\u00e3o-Engenheiros de Rede","text":"

Se voc\u00ea n\u00e3o tem experi\u00eancia em engenharia de rede, aqui est\u00e1 uma introdu\u00e7\u00e3o aos conceitos usados nesta documenta\u00e7\u00e3o:

"},{"location":"pt/contribute-overview/#enderecamento-ip","title":"Endere\u00e7amento IP","text":""},{"location":"pt/contribute-overview/#camadas-de-rede","title":"Camadas de Rede","text":""},{"location":"pt/contribute-overview/#termos-comuns","title":"Termos Comuns","text":""},{"location":"pt/contribute-overview/#especifico-do-doublezero","title":"Espec\u00edfico do DoubleZero","text":"

Pronto para come\u00e7ar? Comece com Requisitos e Arquitetura.

"},{"location":"pt/contribute-provisioning/","title":"Guia de Provisionamento de Dispositivos","text":"

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.

Este guia orienta voc\u00ea no provisionamento de um Dispositivo DoubleZero (DZD) do in\u00edcio ao fim. Cada fase corresponde \u00e0 Lista de Verifica\u00e7\u00e3o de Integra\u00e7\u00e3o.

"},{"location":"pt/contribute-provisioning/#como-tudo-se-encaixa","title":"Como Tudo Se Encaixa","text":"

Antes de mergulhar nas etapas, aqui est\u00e1 a vis\u00e3o geral do que voc\u00ea est\u00e1 construindo:

flowchart TB\n    subgraph Onchain\n        SC[Ledger DoubleZero]\n    end\n\n    subgraph Sua Infraestrutura\n        MGMT[Servidor de Gerenciamento<br/>CLI DoubleZero]\n        DZD[Seu DZD<br/>Switch Arista]\n        DZD ---|Link WAN| DZD2[Seu outro DZD]\n    end\n\n    subgraph Outro Contribuidor\n        OtherDZD[DZD deles]\n    end\n\n    subgraph Usu\u00e1rios\n        VAL[Validadores]\n        RPC[N\u00f3s RPC]\n    end\n\n    MGMT -.->|Registra dispositivos,<br/>links, interfaces| SC\n    DZD ---|Link DZX| OtherDZD\n    VAL ---|Conecta via Internet| DZD\n    RPC ---|Conecta via Internet| DZD
"},{"location":"pt/contribute-provisioning/#fase-1-pre-requisitos","title":"Fase 1: Pr\u00e9-requisitos","text":"

Antes de poder provisionar um dispositivo, voc\u00ea precisa do hardware f\u00edsico configurado e alguns endere\u00e7os IP alocados.

"},{"location":"pt/contribute-provisioning/#o-que-voce-precisa","title":"O Que Voc\u00ea Precisa","text":"Requisito Por Que \u00c9 Necess\u00e1rio Hardware DZD Switch Arista 7280CR3A (consulte especifica\u00e7\u00f5es de hardware) Espa\u00e7o em Rack 4U com fluxo de ar adequado Energia Alimenta\u00e7\u00f5es redundantes, ~4KW recomendado Acesso de Gerenciamento Acesso SSH/console para configurar o switch Conectividade \u00e0 Internet Para publica\u00e7\u00e3o de m\u00e9tricas e busca de configura\u00e7\u00e3o do controlador Bloco IPv4 P\u00fablico M\u00ednimo /29 para o pool de prefixos DZ (veja abaixo)"},{"location":"pt/contribute-provisioning/#instalar-o-cli-do-doublezero","title":"Instalar o CLI do DoubleZero","text":"

O CLI do DoubleZero (doublezero) \u00e9 usado ao longo do provisionamento para registrar dispositivos, criar links e gerenciar sua contribui\u00e7\u00e3o. Deve ser instalado em um servidor ou VM de gerenciamento \u2014 n\u00e3o no pr\u00f3prio switch DZD. O switch executa apenas o Config Agent e o Telemetry Agent (instalados na Fase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verificar se o daemon est\u00e1 em execu\u00e7\u00e3o:

sudo systemctl status doublezerod\n

"},{"location":"pt/contribute-provisioning/#entendendo-seu-prefixo-dz","title":"Entendendo seu Prefixo DZ","text":"

Seu prefixo DZ \u00e9 um bloco de endere\u00e7os IP p\u00fablicos que o protocolo DoubleZero gerencia para aloca\u00e7\u00e3o de IP.

flowchart LR\n    subgraph \"Seu Bloco /29 (8 IPs)\"\n        IP1[\"Primeiro IP<br/>Reservado para<br/>seu dispositivo\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Atribu\u00eddo a| LO[Loopback100<br/>no seu DZD]\n    IP2 -->|Alocado para| U1[Usu\u00e1rio 1]\n    IP3 -->|Alocado para| U2[Usu\u00e1rio 2]

Como os prefixos DZ s\u00e3o usados:

Regras de Prefixo DZ

Voc\u00ea N\u00c3O PODE usar esses endere\u00e7os para:

Requisitos:

Se voc\u00ea precisar de endere\u00e7os para seu pr\u00f3prio equipamento (IPs de interface DIA, gerenciamento, etc.), use um pool de endere\u00e7os separado.

"},{"location":"pt/contribute-provisioning/#fase-2-configuracao-de-conta","title":"Fase 2: Configura\u00e7\u00e3o de Conta","text":"

Nesta fase, voc\u00ea cria as chaves criptogr\u00e1ficas que identificam voc\u00ea e seus dispositivos na rede.

"},{"location":"pt/contribute-provisioning/#onde-executar-o-cli","title":"Onde Executar o CLI","text":"

N\u00c3O instale o CLI no seu switch

O CLI do DoubleZero (doublezero) deve ser instalado em um servidor ou VM de gerenciamento, n\u00e3o no seu switch Arista.

flowchart LR\n    subgraph \"Servidor/VM de Gerenciamento\"\n        CLI[CLI DoubleZero]\n        KEYS[Seus Keypairs]\n    end\n\n    subgraph \"Seu Switch DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|Cria dispositivos, links| BC[Blockchain]\n    CA -->|Busca config| CTRL[Controlador]\n    TA -->|Envia m\u00e9tricas| BC
Instalar no Servidor de Gerenciamento Instalar no Switch CLI doublezero Config Agent Seu keypair de servi\u00e7o Telemetry Agent Seu keypair do editor de m\u00e9tricas Keypair do editor de m\u00e9tricas (c\u00f3pia)"},{"location":"pt/contribute-provisioning/#o-que-sao-chaves","title":"O Que S\u00e3o Chaves?","text":"

Pense nas chaves como credenciais de login seguras:

Ambas s\u00e3o keypairs criptogr\u00e1ficos (uma chave p\u00fablica que voc\u00ea compartilha, uma chave privada que voc\u00ea mant\u00e9m em segredo).

flowchart LR\n    subgraph \"Suas Chaves\"\n        SK[Chave de Servi\u00e7o<br/>~/.config/solana/id.json]\n        MK[Chave do Editor de M\u00e9tricas<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Usada para| CLI[Comandos CLI<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Usada para| TEL[Telemetry Agent<br/>Envia m\u00e9tricas onchain]
"},{"location":"pt/contribute-provisioning/#passo-21-gerar-sua-chave-de-servico","title":"Passo 2.1: Gerar Sua Chave de Servi\u00e7o","text":"

Esta \u00e9 sua identidade principal para interagir com o DoubleZero.

doublezero keygen\n

Isso cria um keypair no local padr\u00e3o. A sa\u00edda mostra sua chave p\u00fablica \u2014 isso \u00e9 o que voc\u00ea compartilhar\u00e1 com a DZF.

"},{"location":"pt/contribute-provisioning/#passo-22-gerar-sua-chave-do-editor-de-metricas","title":"Passo 2.2: Gerar Sua Chave do Editor de M\u00e9tricas","text":"

Esta chave \u00e9 usada pelo Telemetry Agent para assinar envios de m\u00e9tricas.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"pt/contribute-provisioning/#passo-23-enviar-chaves-para-a-dzf","title":"Passo 2.3: Enviar Chaves para a DZF","text":"

Entre em contato com a DoubleZero Foundation ou Malbec Labs e forne\u00e7a:

  1. Sua chave p\u00fablica de servi\u00e7o
  2. Seu nome de usu\u00e1rio GitHub (para acesso ao reposit\u00f3rio)

Eles ir\u00e3o:

"},{"location":"pt/contribute-provisioning/#passo-24-verificar-sua-conta","title":"Passo 2.4: Verificar Sua Conta","text":"

Uma vez confirmado, verifique se sua conta de contribuidor existe:

doublezero contributor list\n

Voc\u00ea deve ver seu c\u00f3digo de contribuidor na lista.

"},{"location":"pt/contribute-provisioning/#passo-25-acessar-o-repositorio-de-contribuidores","title":"Passo 2.5: Acessar o Reposit\u00f3rio de Contribuidores","text":"

O reposit\u00f3rio malbeclabs/contributors cont\u00e9m:

Siga as instru\u00e7\u00f5es l\u00e1 para configura\u00e7\u00e3o espec\u00edfica do dispositivo.

"},{"location":"pt/contribute-provisioning/#fase-3-provisionamento-de-dispositivos","title":"Fase 3: Provisionamento de Dispositivos","text":"

Agora voc\u00ea registrar\u00e1 seu dispositivo f\u00edsico no blockchain e configurar\u00e1 suas interfaces.

"},{"location":"pt/contribute-provisioning/#entendendo-os-tipos-de-dispositivos","title":"Entendendo os Tipos de Dispositivos","text":"
flowchart TB\n    subgraph \"Dispositivo Edge\"\n        E[DZD Edge]\n        EU[Usu\u00e1rios se conectam aqui]\n        EU --> E\n        E <-->|Link DZX| ED[Outro DZD]\n    end\n\n    subgraph \"Dispositivo Transit\"\n        T[DZD Transit]\n        T <-->|Link WAN| T2[Outro DZD]\n        T <-->|Link DZX| TD[Outro DZD]\n    end\n\n    subgraph \"Dispositivo Hybrid\"\n        H[DZD Hybrid]\n        HU[Usu\u00e1rios se conectam aqui]\n        HU --> H\n        H <-->|Link WAN| H2[Outro DZD]\n        H <-->|Link DZX| HD[Outro DZD]\n    end
Tipo O Que Faz Quando Usar Edge Aceita conex\u00f5es de usu\u00e1rios apenas Localiza\u00e7\u00e3o \u00fanica, voltado apenas para usu\u00e1rios Transit Move tr\u00e1fego entre dispositivos Conectividade de backbone, sem usu\u00e1rios Hybrid Conex\u00f5es de usu\u00e1rios E backbone Mais comum \u2014 faz tudo"},{"location":"pt/contribute-provisioning/#passo-31-encontrar-sua-localizacao-e-exchange","title":"Passo 3.1: Encontrar Sua Localiza\u00e7\u00e3o e Exchange","text":"

Antes de criar seu dispositivo, consulte os c\u00f3digos para sua localiza\u00e7\u00e3o de data center e exchange mais pr\u00f3xima:

# Listar localiza\u00e7\u00f5es dispon\u00edveis (data centers)\ndoublezero location list\n\n# Listar exchanges dispon\u00edveis (pontos de interconex\u00e3o)\ndoublezero exchange list\n
"},{"location":"pt/contribute-provisioning/#passo-32-criar-seu-dispositivo-onchain","title":"Passo 3.2: Criar Seu Dispositivo Onchain","text":"

Registrar seu dispositivo no blockchain:

doublezero device create \\\n  --code <SEU_CODIGO_DE_DISPOSITIVO> \\\n  --contributor <SEU_CODIGO_DE_CONTRIBUIDOR> \\\n  --device-type hybrid \\\n  --location <CODIGO_DE_LOCALIZACAO> \\\n  --exchange <CODIGO_DE_EXCHANGE> \\\n  --public-ip <IP_PUBLICO_DO_DISPOSITIVO> \\\n  --dz-prefixes <SEU_PREFIXO_DZ>\n

Exemplo:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Sa\u00edda esperada:

Signature: 4vKz8H...truncated...7xPq2\n

Verificar se seu dispositivo foi criado:

doublezero device list | grep nyc-dz001\n

Par\u00e2metros explicados:

Par\u00e2metro O Que Significa --code Um nome \u00fanico para seu dispositivo (por exemplo, nyc-dz001) --contributor Seu c\u00f3digo de contribuidor (fornecido pela DZF) --device-type hybrid, transit ou edge --location C\u00f3digo do data center em location list --exchange C\u00f3digo da exchange mais pr\u00f3xima em exchange list --public-ip O IP p\u00fablico onde os usu\u00e1rios se conectam ao seu dispositivo via internet --dz-prefixes Seu bloco de IP alocado para usu\u00e1rios"},{"location":"pt/contribute-provisioning/#passo-33-criar-interfaces-loopback-necessarias","title":"Passo 3.3: Criar Interfaces Loopback Necess\u00e1rias","text":"

Todo dispositivo precisa de duas interfaces loopback para roteamento interno:

# Loopback VPNv4\ndoublezero device interface create <CODIGO_DO_DISPOSITIVO> Loopback255 --loopback-type vpnv4\n\n# Loopback IPv4\ndoublezero device interface create <CODIGO_DO_DISPOSITIVO> Loopback256 --loopback-type ipv4\n

Sa\u00edda esperada (para cada comando):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"pt/contribute-provisioning/#passo-34-criar-interfaces-fisicas","title":"Passo 3.4: Criar Interfaces F\u00edsicas","text":"

Registrar as portas f\u00edsicas que voc\u00ea usar\u00e1:

# Interface b\u00e1sica\ndoublezero device interface create <CODIGO_DO_DISPOSITIVO> Ethernet1/1\n

Sa\u00edda esperada:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"pt/contribute-provisioning/#passo-35-criar-interface-cyoa-para-dispositivos-edgehybrid","title":"Passo 3.5: Criar Interface CYOA (para dispositivos Edge/Hybrid)","text":"

Se seu dispositivo aceita conex\u00f5es de usu\u00e1rios, voc\u00ea precisa de uma interface CYOA (Choose Your Own Adventure). Isso informa ao sistema como os usu\u00e1rios se conectam a voc\u00ea.

Tipos CYOA Explicados:

Tipo Em Portugu\u00eas Claro Usar Quando gre-over-dia Usu\u00e1rios se conectam via internet regular Mais comum \u2014 usu\u00e1rios se conectam via DIA ao seu DZD gre-over-private-peering Usu\u00e1rios se conectam via link privado Usu\u00e1rios t\u00eam conex\u00e3o direta com sua rede gre-over-public-peering Usu\u00e1rios se conectam via IX Usu\u00e1rios fazem peering com voc\u00ea em uma internet exchange gre-over-fabric Usu\u00e1rios na mesma rede local Usu\u00e1rios no mesmo data center gre-over-cable Cabo direto ao usu\u00e1rio \u00danico usu\u00e1rio dedicado

Exemplo \u2014 Usu\u00e1rios padr\u00e3o de internet:

doublezero device interface create <CODIGO_DO_DISPOSITIVO> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Sa\u00edda esperada:

Signature: 2wLp8N...truncated...5vHt3\n

Par\u00e2metros explicados:

Par\u00e2metro O Que Significa --interface-cyoa Como os usu\u00e1rios se conectam (consulte a tabela acima) --interface-dia dia se esta \u00e9 uma porta voltada para a internet --bandwidth Velocidade da porta em Mbps (10000 = 10Gbps) --cir Taxa comprometida em Mbps (largura de banda garantida) --user-tunnel-endpoint Esta porta aceita t\u00faneis de usu\u00e1rios"},{"location":"pt/contribute-provisioning/#passo-36-verificar-seu-dispositivo","title":"Passo 3.6: Verificar Seu Dispositivo","text":"
doublezero device list\n

Exemplo de sa\u00edda:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Seu dispositivo deve aparecer com status activated.

"},{"location":"pt/contribute-provisioning/#fase-4-estabelecimento-de-link-instalacao-de-agentes","title":"Fase 4: Estabelecimento de Link & Instala\u00e7\u00e3o de Agentes","text":"

Os links conectam seu dispositivo ao restante da rede DoubleZero.

"},{"location":"pt/contribute-provisioning/#entendendo-os-links","title":"Entendendo os Links","text":"
flowchart LR\n    subgraph \"Sua Rede\"\n        D1[Seu DZD 1<br/>NYC]\n        D2[Seu DZD 2<br/>LAX]\n    end\n\n    subgraph \"Outro Contribuidor\"\n        O1[DZD deles<br/>NYC]\n    end\n\n    D1 ---|Link WAN<br/>Mesmo contribuidor| D2\n    D1 ---|Link DZX<br/>Contribuidores diferentes| O1
Tipo de Link Conecta Aceita\u00e7\u00e3o Link WAN Dois dos SEUS dispositivos Autom\u00e1tica (voc\u00ea \u00e9 dono de ambos) Link DZX Seu dispositivo com OUTRO contribuidor Requer aceita\u00e7\u00e3o deles"},{"location":"pt/contribute-provisioning/#passo-41-criar-links-wan-se-voce-tiver-multiplos-dispositivos","title":"Passo 4.1: Criar Links WAN (se voc\u00ea tiver m\u00faltiplos dispositivos)","text":"

Links WAN conectam seus pr\u00f3prios dispositivos:

doublezero link create wan \\\n  --code <CODIGO_DO_LINK> \\\n  --contributor <SEU_CONTRIBUIDOR> \\\n  --side-a <CODIGO_DISPOSITIVO_1> \\\n  --side-a-interface <INTERFACE_NO_DISPOSITIVO_1> \\\n  --side-z <CODIGO_DISPOSITIVO_2> \\\n  --side-z-interface <INTERFACE_NO_DISPOSITIVO_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Exemplo:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Sa\u00edda esperada:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"pt/contribute-provisioning/#passo-42-criar-links-dzx","title":"Passo 4.2: Criar Links DZX","text":"

Os links DZX conectam seu dispositivo diretamente ao DZD de outro contribuidor:

doublezero link create dzx \\\n  --code <CODIGO_DISPOSITIVO_A:CODIGO_DISPOSITIVO_Z> \\\n  --contributor <SEU_CONTRIBUIDOR> \\\n  --side-a <SEU_CODIGO_DE_DISPOSITIVO> \\\n  --side-a-interface <SUA_INTERFACE> \\\n  --side-z <CODIGO_DISPOSITIVO_OUTRO> \\\n  --bandwidth <LARGURA_DE_BANDA em Kbps, Mbps ou Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <ATRASO> \\\n  --jitter-ms <JITTER>\n

Sa\u00edda esperada:

Signature: 8mKp3W...truncated...2nRx7\n

Ap\u00f3s criar um link DZX, o outro contribuidor deve aceit\u00e1-lo:

# O OUTRO contribuidor executa isso\ndoublezero link accept \\\n  --code <CODIGO_DO_LINK> \\\n  --side-z-interface <INTERFACE_DELES>\n

Sa\u00edda esperada (para o contribuidor que aceita):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"pt/contribute-provisioning/#passo-43-verificar-links","title":"Passo 4.3: Verificar Links","text":"
doublezero link list\n

Exemplo de sa\u00edda:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Os links devem mostrar status activated uma vez que ambos os lados estejam configurados.

"},{"location":"pt/contribute-provisioning/#instalacao-de-agentes","title":"Instala\u00e7\u00e3o de Agentes","text":"

Dois agentes de software s\u00e3o executados no seu DZD:

flowchart TB\n    subgraph \"Seu DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[Hardware/Software do Switch]\n    end\n\n    CA -->|Busca config| CTRL[Servi\u00e7o Controlador]\n    CA -->|Aplica config| HW\n\n    HW -->|M\u00e9tricas| TA\n    TA -->|Envia onchain| BC[Ledger DoubleZero]
Agente O Que Faz Config Agent Busca configura\u00e7\u00e3o do controlador, aplica ao seu switch Telemetry Agent Mede lat\u00eancia/perda para outros dispositivos, reporta m\u00e9tricas onchain"},{"location":"pt/contribute-provisioning/#passo-44-instalar-config-agent","title":"Passo 4.4: Instalar Config Agent","text":""},{"location":"pt/contribute-provisioning/#habilitar-a-api-no-seu-switch","title":"Habilitar a API no seu switch","text":"

Adicionar \u00e0 configura\u00e7\u00e3o EOS:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Nota sobre VRF

Substitua default pelo nome do seu VRF de gerenciamento se for diferente (por exemplo, management).

"},{"location":"pt/contribute-provisioning/#baixar-e-instalar-o-agente","title":"Baixar e instalar o agente","text":"
# Entrar no bash no switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extens\u00e3o EOS\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-provisioning/#verificar-a-extensao","title":"Verificar a extens\u00e3o","text":"
switch# show extensions\n

O Status deve ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"pt/contribute-provisioning/#configurar-e-iniciar-o-agente","title":"Configurar e iniciar o agente","text":"

Adicionar \u00e0 configura\u00e7\u00e3o EOS:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <SUA_CHAVE_PUBLICA_DO_DISPOSITIVO>\n    no shut\n

Nota sobre VRF

Se seu VRF de gerenciamento n\u00e3o for default (ou seja, o namespace n\u00e3o \u00e9 ns-default), prefixe o comando exec com exec /sbin/ip netns exec ns-<VRF>. Por exemplo, se seu VRF for management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <SUA_CHAVE_PUBLICA_DO_DISPOSITIVO>\n    no shut\n

Obtenha a pubkey do seu dispositivo com doublezero device list (coluna account).

"},{"location":"pt/contribute-provisioning/#verificar-se-esta-em-execucao","title":"Verificar se est\u00e1 em execu\u00e7\u00e3o","text":"
switch# show agent doublezero-agent logs\n

Voc\u00ea deve ver \"Starting doublezero-agent\" e conex\u00f5es bem-sucedidas ao controlador.

"},{"location":"pt/contribute-provisioning/#passo-45-instalar-telemetry-agent","title":"Passo 4.5: Instalar Telemetry Agent","text":""},{"location":"pt/contribute-provisioning/#copiar-a-chave-do-editor-de-metricas-para-o-seu-dispositivo","title":"Copiar a chave do editor de m\u00e9tricas para o seu dispositivo","text":"
scp ~/.config/doublezero/metrics-publisher.json <IP_DO_SWITCH>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"pt/contribute-provisioning/#registrar-o-editor-de-metricas-onchain","title":"Registrar o editor de m\u00e9tricas onchain","text":"
doublezero device update \\\n  --pubkey <CONTA_DO_DISPOSITIVO> \\\n  --metrics-publisher <CHAVE_PUBLICA_DO_EDITOR_DE_METRICAS>\n

Obtenha a pubkey do seu arquivo metrics-publisher.json.

"},{"location":"pt/contribute-provisioning/#baixar-e-instalar-o-agente_1","title":"Baixar e instalar o agente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extens\u00e3o EOS\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"pt/contribute-provisioning/#verificar-a-extensao_1","title":"Verificar a extens\u00e3o","text":"
switch# show extensions\n

O Status deve ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"pt/contribute-provisioning/#configurar-e-iniciar-o-agente_1","title":"Configurar e iniciar o agente","text":"

Adicionar \u00e0 configura\u00e7\u00e3o EOS:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <CONTA_DO_DISPOSITIVO> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Nota sobre VRF

Se seu VRF de gerenciamento n\u00e3o for default (ou seja, o namespace n\u00e3o \u00e9 ns-default), adicione --management-namespace ns-<VRF> ao comando exec. Por exemplo, se seu VRF for management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <CONTA_DO_DISPOSITIVO> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"pt/contribute-provisioning/#verificar-se-esta-em-execucao_1","title":"Verificar se est\u00e1 em execu\u00e7\u00e3o","text":"
switch# show agent doublezero-telemetry logs\n

Voc\u00ea deve ver \"Starting telemetry collector\" e \"Starting submission loop\".

"},{"location":"pt/contribute-provisioning/#fase-5-rodagem-do-link","title":"Fase 5: Rodagem do Link","text":"

Todos os novos links devem passar por rodagem antes de transportar tr\u00e1fego

Novos links devem ser drenados por pelo menos 24 horas antes de serem ativados para tr\u00e1fego de produ\u00e7\u00e3o. Este requisito de rodagem \u00e9 definido no RFC12: Provisionamento de Rede, que especifica ~200.000 slots do DZ Ledger (~20 horas) de m\u00e9tricas limpas antes que um link esteja pronto para servi\u00e7o.

Com os agentes instalados e em execu\u00e7\u00e3o, monitore seus links em metrics.doublezero.xyz por pelo menos 24 horas consecutivas:

Remova o dreno do link apenas depois que o per\u00edodo de rodagem mostrar um link limpo com zero perda e zero erros.

"},{"location":"pt/contribute-provisioning/#fase-6-verificacao-ativacao","title":"Fase 6: Verifica\u00e7\u00e3o & Ativa\u00e7\u00e3o","text":"

Percorra esta lista de verifica\u00e7\u00e3o para confirmar que tudo est\u00e1 funcionando.

Seu dispositivo come\u00e7a bloqueado (max_users = 0)

Quando um dispositivo \u00e9 criado, max_users \u00e9 definido como 0 por padr\u00e3o. Isso significa que nenhum usu\u00e1rio pode se conectar a ele ainda. Isso \u00e9 intencional \u2014 voc\u00ea deve verificar se tudo funciona antes de aceitar tr\u00e1fego de usu\u00e1rios.

Antes de definir max_users acima de 0, voc\u00ea deve:

  1. Confirmar que todos os links completaram sua rodagem de 24 horas com zero perda/erros em metrics.doublezero.xyz
  2. Coordenar com DZ/Malbec Labs para executar um teste de conectividade:
    • Um usu\u00e1rio de teste pode se conectar ao seu dispositivo?
    • O usu\u00e1rio recebe rotas pela rede DZ?
    • O usu\u00e1rio pode rotear tr\u00e1fego pela rede DZ de ponta a ponta?
  3. Somente ap\u00f3s o DZ/ML confirmar que os testes passaram, defina max_users como 96:
doublezero device update --pubkey <CONTA_DO_DISPOSITIVO> --max-users 96\n
"},{"location":"pt/contribute-provisioning/#verificacoes-do-dispositivo","title":"Verifica\u00e7\u00f5es do Dispositivo","text":"
# Seu dispositivo deve aparecer com status \"activated\"\ndoublezero device list | grep <SEU_CODIGO_DE_DISPOSITIVO>\n

Sa\u00edda esperada:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Suas interfaces devem estar listadas\ndoublezero device interface list | grep <SEU_CODIGO_DE_DISPOSITIVO>\n

Sa\u00edda esperada:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"pt/contribute-provisioning/#verificacoes-de-link","title":"Verifica\u00e7\u00f5es de Link","text":"
# Os links devem mostrar status \"activated\"\ndoublezero link list | grep <SEU_CODIGO_DE_DISPOSITIVO>\n

Sa\u00edda esperada:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"pt/contribute-provisioning/#verificacoes-de-agente","title":"Verifica\u00e7\u00f5es de Agente","text":"

No switch:

# O config agent deve mostrar extra\u00e7\u00f5es de configura\u00e7\u00e3o bem-sucedidas\nswitch# show agent doublezero-agent logs | tail -20\n\n# O telemetry agent deve mostrar envios bem-sucedidos\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"pt/contribute-provisioning/#diagrama-de-verificacao-final","title":"Diagrama de Verifica\u00e7\u00e3o Final","text":"
flowchart TB\n    subgraph \"Lista de Verifica\u00e7\u00e3o\"\n        D[Status do Dispositivo: activated?]\n        I[Interfaces: registradas?]\n        L[Links: activated?]\n        CA[Config Agent: buscando config?]\n        TA[Telemetry Agent: enviando m\u00e9tricas?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[Todas as Verifica\u00e7\u00f5es Passaram] --> NOTIFY[Notifique DZF/Malbec Labs<br/>Voc\u00ea est\u00e1 tecnicamente pronto!]
"},{"location":"pt/contribute-provisioning/#resolucao-de-problemas","title":"Resolu\u00e7\u00e3o de Problemas","text":""},{"location":"pt/contribute-provisioning/#criacao-de-dispositivo-falha","title":"Cria\u00e7\u00e3o de dispositivo falha","text":""},{"location":"pt/contribute-provisioning/#link-preso-em-status-requested","title":"Link preso em status \"requested\"","text":""},{"location":"pt/contribute-provisioning/#config-agent-nao-se-conecta","title":"Config Agent n\u00e3o se conecta","text":""},{"location":"pt/contribute-provisioning/#telemetry-agent-nao-envia","title":"Telemetry Agent n\u00e3o envia","text":""},{"location":"pt/contribute-provisioning/#proximas-etapas","title":"Pr\u00f3ximas Etapas","text":""},{"location":"pt/contribute/","title":"Requisitos e Arquitetura para Contribuidores","text":"

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.

"},{"location":"pt/contribute/#resumo","title":"Resumo","text":"

Qualquer pessoa que deseje monetizar seus cabos de fibra \u00f3tica e hardware de rede subutilizados pode contribuir para a rede DoubleZero. Os contribuidores de rede devem fornecer largura de banda dedicada entre dois pontos, operar dispositivos compat\u00edveis com DoubleZero (DZDs) em cada extremidade e ter conex\u00e3o com a internet p\u00fablica em cada extremidade. Os contribuidores de rede tamb\u00e9m devem executar software DoubleZero em cada DZD para fornecer servi\u00e7os como multicast, pesquisa de usu\u00e1rios e filtragem de borda.

O contrato inteligente DoubleZero \u00e9 a pedra angular para garantir que a rede mantenha links de alta qualidade que possam ser medidos e integrados \u00e0 topologia, permitindo que nossos controladores de rede desenvolvam o caminho mais eficiente de ponta a ponta entre nossos diferentes usu\u00e1rios e endpoints. Ap\u00f3s a execu\u00e7\u00e3o do contrato inteligente e a implanta\u00e7\u00e3o do equipamento de rede e da largura de banda, uma entidade \u00e9 classificada como contribuidor de rede. Consulte Economia do DoubleZero para entender melhor a economia por tr\u00e1s da participa\u00e7\u00e3o no DoubleZero como contribuidor de rede.

"},{"location":"pt/contribute/#requisitos-para-ser-um-contribuidor-de-rede-doublezero","title":"Requisitos para ser um Contribuidor de Rede DoubleZero","text":""},{"location":"pt/contribute/#guia-de-inicio-rapido","title":"Guia de In\u00edcio R\u00e1pido","text":"

Como contribuidor de rede, a maneira mais simples de come\u00e7ar no DoubleZero \u00e9 identificar capacidade em sua rede que possa ser dedicada ao DoubleZero. Uma vez identificados, os DZDs devem ser implantados, facilitando a rede overlay DoubleZero que requer apenas alcan\u00e7abilidade IPv4 e um MTU m\u00ednimo de 2048 bytes como depend\u00eancias da rede do contribuidor.

A Figura 1 destaca o modelo mais simples para contribui\u00e7\u00e3o de largura de banda e servi\u00e7os de envio e processamento de pacotes. Um DZD \u00e9 implantado em cada data center, conectando-se \u00e0 rede interna do contribuidor de rede para fornecer conectividade WAN DoubleZero. Isso \u00e9 complementado pela internet local, tipicamente uma solu\u00e7\u00e3o de Acesso Direto \u00e0 Internet (DIA), que \u00e9 usada como pontos de entrada para usu\u00e1rios DoubleZero. Embora se espere que o DIA seja a op\u00e7\u00e3o preferida para facilitar o acesso aos usu\u00e1rios do DoubleZero, v\u00e1rios modelos de conectividade s\u00e3o poss\u00edveis, como cabeamento f\u00edsico para servidores, extens\u00e3o de fabric de rede, etc. Nos referimos a essas op\u00e7\u00f5es como Choose Your Own Adventure (CYOA), fornecendo ao contribuidor flexibilidade para conectar usu\u00e1rios locais ou remotos de uma forma que melhor se adapte \u00e0s suas pol\u00edticas de rede internas.

Como em qualquer rede, a alcan\u00e7abilidade \u00e9 uma parte fundamental da arquitetura, pois os contribuidores de rede n\u00e3o podem viver isolados. Como tal, o DZD deve ter um link para uma DoubleZero Exchange (DZX) para criar uma rede cont\u00edgua entre os participantes.

Figura 1: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 2 Data Centers - Contribuidor \u00danico"},{"location":"pt/contribute/#exemplos-de-contribuicoes","title":"Exemplos de Contribui\u00e7\u00f5es","text":"

As formas pelas quais um contribuidor de rede pode expandir suas contribui\u00e7\u00f5es DoubleZero s\u00e3o muitas, incluindo:

"},{"location":"pt/contribute/#exemplo-1-contribuidor-unico-3-data-centers-dois-links","title":"Exemplo 1: Contribuidor \u00danico, 3 Data Centers, Dois Links","text":"Figura 2: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 3 Data Centers - Contribuidor \u00danico

Um \u00fanico DZD pode suportar m\u00faltiplos links contribu\u00eddos ao DoubleZero. A Figura 2 ilustra uma topologia potencial se um \u00fanico data center, denominado 1, terminar largura de banda para dois data centers remotos diferentes 2 e 3. Neste cen\u00e1rio, cada data center cont\u00e9m apenas 1 DZD. Todos os DZDs est\u00e3o usando DIA para pontos de entrada de usu\u00e1rios como sua interface CYOA.

"},{"location":"pt/contribute/#exemplo-2-contribuidor-unico-3-data-centers-tres-links","title":"Exemplo 2: Contribuidor \u00danico, 3 Data Centers, Tr\u00eas Links","text":"

A Figura 3 descreve a topologia DoubleZero quando um \u00fanico contribuidor implanta tr\u00eas links em uma topologia triangular entre 3 data centers. Em um cen\u00e1rio semelhante ao exemplo 1, um \u00fanico DZD \u00e9 implantado nos data centers 1, 2 e 3, cada um suportando 2 links de rede independentes. A topologia resultante \u00e9 um tri\u00e2ngulo ou anel entre os data centers.

Figura 3: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 3 Data Centers - Contribuidor \u00danico"},{"location":"pt/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

A cria\u00e7\u00e3o de uma rede cont\u00edgua \u00e9 um bloco fundamental da arquitetura DoubleZero. Os contribuidores se conectam via uma DoubleZero Exchange (DZX) dentro de uma \u00e1rea metropolitana, que \u00e9 uma cidade como Nova York (NYC), Londres (LON) ou T\u00f3quio (TYO). Uma DZX \u00e9 um fabric de rede semelhante a uma Internet Exchange, permitindo peering e troca de rotas.

Na Figura 4, o contribuidor de rede 1 opera nos data centers 1, 2 e 3, enquanto o contribuidor de rede 2 opera nos data centers 2, 4 e 5. Ao interconectar no data center 2, o alcance da rede DoubleZero aumenta para 5 data centers cont\u00edguos.

Figura 4: Contribui\u00e7\u00e3o de Largura de Banda da Rede DoubleZero Entre 2 Contribuidores de Largura de Banda de Rede"},{"location":"pt/contribute/#opcoes-de-contribuicao-de-largura-de-banda","title":"Op\u00e7\u00f5es de Contribui\u00e7\u00e3o de Largura de Banda","text":"

O DoubleZero requer que um contribuidor de rede ofere\u00e7a conectividade integrada via um perfil garantido de largura de banda, lat\u00eancia e jitter entre DZDs em dois data centers terminadores, expresso via contrato inteligente. O DoubleZero n\u00e3o determina como um contribuidor de rede implementa sua contribui\u00e7\u00e3o; no entanto, nas se\u00e7\u00f5es a seguir, fornecemos op\u00e7\u00f5es indicativas para uso a seu exclusivo crit\u00e9rio.

\u00c1reas importantes a considerar para um contribuidor de rede podem ser:

"},{"location":"pt/contribute/#largura-de-banda-camada-1","title":"Largura de Banda Camada 1","text":"Figura 5: Servi\u00e7os \u00d3pticos de Camada 1

A largura de banda de Camada 1, mais formalmente descrita como servi\u00e7os de comprimento de onda, pode ver capacidade dedicada provisionada em uma infraestrutura \u00f3ptica existente, como DWDM, CWDM ou via multiplexadores \u00f3pticos (MUX). Na Figura 5, os DZDs usam uma \u00f3ptica colorida que \u00e9 cabeada para um MUX L1, que intercala o comprimento de onda do DZD em uma fibra escura existente.

Esta solu\u00e7\u00e3o tem in\u00fameros benef\u00edcios para contribuidores de rede que j\u00e1 operam uma rede principal existente. As mudan\u00e7as operacionais iterativas, bem como os requisitos adicionais de CAPEX e OPEX, s\u00e3o modestos. Esta op\u00e7\u00e3o \u00e9 particularmente robusta em oferecer segrega\u00e7\u00e3o dos servi\u00e7os de rede do contribuidor.

"},{"location":"pt/contribute/#largura-de-banda-em-redes-comutadas-por-pacotes","title":"Largura de Banda em Redes Comutadas por Pacotes","text":"

As redes comutadas por pacotes podem ser consideradas uma rede empresarial t\u00edpica, executando protocolos padr\u00e3o de roteamento e comuta\u00e7\u00e3o que suportam aplica\u00e7\u00f5es de neg\u00f3cios. Existem in\u00fameras tecnologias de rede que alcan\u00e7am conectividade, por exemplo, extens\u00f5es de camada 2 (L2) usando tags VLAN.

"},{"location":"pt/contribute/#extensao-l2","title":"Extens\u00e3o L2","text":"Figura 6: Redes Comutadas por Pacotes - Extens\u00e3o L2

Uma extens\u00e3o L2 como mostrado na Figura 6 pode ser facilitada atrav\u00e9s de marca\u00e7\u00e3o VLAN. A porta de um DZD pode ser cabeada para um switch de rede interna do contribuidor, com a porta do switch sendo configurada como porta de acesso em, por exemplo, VLAN 10. Atrav\u00e9s de marca\u00e7\u00e3o 802.1q, esta VLAN pode ser transportada por m\u00faltiplos saltos de switch na rede do contribuidor, terminando no switch que se conecta ao DZD remoto.

Esta solu\u00e7\u00e3o se beneficia de ser amplamente suportada e relativamente f\u00e1cil de implementar, ao mesmo tempo em que cria segmenta\u00e7\u00e3o entre o DoubleZero e os servi\u00e7os de camada 3 internos. A largura de banda pode ser controlada com base na velocidade de interface do switch ou roteador interno do contribuidor. Considera\u00e7\u00e3o cuidadosa deve ser dada ao desempenho na rede L2 interna compartilhada por meio de tecnologias como Qualidade de Servi\u00e7o (QoS) ou outras pol\u00edticas de gerenciamento de tr\u00e1fego. No entanto, investimentos adicionais em CAPEX e OPEX devem ser modestos se houver capacidade existente dispon\u00edvel na rede principal do contribuidor.

"},{"location":"pt/contribute/#largura-de-banda-dedicada-de-terceiros","title":"Largura de Banda Dedicada de Terceiros","text":"Figura 7: Largura de Banda Dedicada de Terceiros

Embora a reutiliza\u00e7\u00e3o de capacidade dispon\u00edvel seja atraente para muitos contribuidores de rede, tamb\u00e9m \u00e9 poss\u00edvel dedicar largura de banda rec\u00e9m-adquirida ao DoubleZero. Nesse cen\u00e1rio, o DZD se conectaria diretamente \u00e0 operadora terceirizada sem quaisquer dispositivos internos do contribuidor em linha (Figura 7).

Esta op\u00e7\u00e3o \u00e9 atraente pois garante largura de banda dedicada para o DoubleZero, \u00e9 simples operacionalmente e garante segmenta\u00e7\u00e3o completa de quaisquer outros servi\u00e7os de rede. Esta op\u00e7\u00e3o provavelmente ter\u00e1 o maior aumento de OPEX e requer novos contratos de servi\u00e7o com operadoras terceirizadas.

"},{"location":"pt/contribute/#requisitos-de-hardware","title":"Requisitos de Hardware","text":""},{"location":"pt/contribute/#contribuicao-de-largura-de-banda-de-100gbps","title":"Contribui\u00e7\u00e3o de Largura de Banda de 100Gbps","text":"

Observe que as quantidades abaixo refletem o equipamento necess\u00e1rio em dois data centers, ou seja, o total de hardware necess\u00e1rio para implantar 1 cabo de fibra \u00f3tica para contribui\u00e7\u00e3o de largura de banda.

*Todos os FPGAs est\u00e3o sujeitos a testes finais. Contribui\u00e7\u00f5es de 10G podem ser suportadas usando switches Arista 7130LBR com FPGAs Virtex\u00ae UltraScale+\u2122 duplos embutidos (se voc\u00ea tiver alguma d\u00favida, a DoubleZero Foundation / Malbec Labs ter\u00e1 prazer em fornecer mais informa\u00e7\u00f5es)."},{"location":"pt/contribute/#requisitos-de-funcao-e-porta","title":"Requisitos de Fun\u00e7\u00e3o e Porta","text":"Fun\u00e7\u00e3o Velocidade da Porta Requisito DZ QTD Nota Largura de Banda Privada 100G Sim 1 Acesso Direto \u00e0 Internet (DIA) 10G Sim 2 DoubleZero eXchange (DZX) 100G Sim* 1 Deve ser suportado quando mais de 3 provedores operam na mesma \u00e1rea metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar outros provedores. Gerenciamento N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor. Console N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor."},{"location":"pt/contribute/#hardware-de-rede-dzd","title":"Hardware de Rede DZD","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota AMD* V80* 24540474 Sim 4 Arista 7280CR3A DCS-7280CR3A-32S Sim 2 Alternativas podem ser poss\u00edveis se os prazos de entrega forem desafiadores."},{"location":"pt/contribute/#optica-100g","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 100GBASE-LR QSFP-100G-LR N\u00e3o 16 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. 100G necess\u00e1rio para conectar FPGAs."},{"location":"pt/contribute/#optica-10g","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 10GBASE-LR SFP-10G-LR N\u00e3o 2 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA N\u00e3o 2 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor."},{"location":"pt/contribute/#enderecamento-ip","title":"Endere\u00e7amento IP","text":"Endere\u00e7amento IP Tamanho M\u00ednimo de Sub-rede Requisito DZ Nota IPv4 P\u00fablico /29 Sim (para DZDs edge/hybrid) Deve ser rote\u00e1vel via DIA. Podemos eliminar a necessidade disso ao longo do tempo.

Certifique-se de que o pool completo /29 esteja dispon\u00edvel para o protocolo DZ. Quaisquer requisitos para endere\u00e7amento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados via um pool de endere\u00e7os diferente.

"},{"location":"pt/contribute/#contribuicao-de-largura-de-banda-de-10gbps","title":"Contribui\u00e7\u00e3o de Largura de Banda de 10Gbps","text":"

Observe que as quantidades refletem o equipamento de dois data centers, ou seja, o total de hardware necess\u00e1rio para implantar 1 contribui\u00e7\u00e3o de largura de banda.

"},{"location":"pt/contribute/#requisitos-de-funcao-e-porta_1","title":"Requisitos de Fun\u00e7\u00e3o e Porta","text":"Fun\u00e7\u00e3o Velocidade da Porta Requisito DZ QTD Nota Largura de Banda Privada 10G Sim 1 Acesso Direto \u00e0 Internet (DIA) 10G Sim 2 DoubleZero eXchange (DZX) 100G Sim* 1 Deve ser suportado quando mais de 3 provedores operam na mesma \u00e1rea metropolitana; antes disso, cross-connects ou outros arranjos de peering podem ser usados para interconectar outros provedores. Gerenciamento N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor. Console N\u00e3o 1 Determinado pelas pr\u00f3prias pol\u00edticas de gerenciamento interno do contribuidor."},{"location":"pt/contribute/#hardware","title":"Hardware","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota AMD* V80* 24540474* Sim 4 Arista 7280CR3A DCS-7280CR3A-32S Sim 2 Alternativas podem ser poss\u00edveis se os prazos de entrega forem desafiadores."},{"location":"pt/contribute/#optica-100g_1","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 100GBASE-LR QSFP-100G-LR N\u00e3o 14 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. 100G necess\u00e1rio para conectar FPGAs."},{"location":"pt/contribute/#optica-10g_1","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Pe\u00e7a Requisito DZ QTD Nota Arista 10GBASE-LR SFP-10G-LR N\u00e3o 4 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA N\u00e3o 4 Escolha de cabeamento e \u00f3ptica dispon\u00edvel a crit\u00e9rio do contribuidor. ---"},{"location":"pt/contribute/#enderecamento-ip_1","title":"Endere\u00e7amento IP","text":"Endere\u00e7amento IP Tamanho M\u00ednimo de Sub-rede Requisito DZ Nota IPv4 P\u00fablico /29 Sim (para DZDs edge/hybrid) Deve ser rote\u00e1vel via DIA. Podemos eliminar a necessidade disso ao longo do tempo.

Certifique-se de que o pool completo /29 esteja dispon\u00edvel para o protocolo DZ. Quaisquer requisitos para endere\u00e7amento ponto a ponto, por exemplo, em interfaces DIA, devem ser gerenciados via um pool de endere\u00e7os diferente.

"},{"location":"pt/contribute/#requisitos-de-data-center","title":"Requisitos de Data Center","text":""},{"location":"pt/contribute/#requisitos-de-rack-e-energia","title":"Requisitos de Rack e Energia","text":"Requisito Especifica\u00e7\u00e3o Espa\u00e7o em Rack 4U Energia 4KW (recomendado)"},{"location":"pt/contribute/#proximas-etapas","title":"Pr\u00f3ximas Etapas","text":"

Pronto para provisionar seu primeiro DZD? Continue para o Guia de Provisionamento de Dispositivos.

"},{"location":"pt/glossary/","title":"Gloss\u00e1rio","text":"

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.

Esta p\u00e1gina define a terminologia espec\u00edfica do DoubleZero usada em toda a documenta\u00e7\u00e3o.

"},{"location":"pt/glossary/#infraestrutura-de-rede","title":"Infraestrutura de Rede","text":""},{"location":"pt/glossary/#dzd-dispositivo-doublezero","title":"DZD (Dispositivo DoubleZero)","text":"

O hardware de switching de rede f\u00edsico que termina links DoubleZero e executa o software DoubleZero Agent. Os DZDs s\u00e3o implantados em data centers e fornecem servi\u00e7os de roteamento, processamento de pacotes e conectividade de usu\u00e1rios. Cada DZD requer especifica\u00e7\u00f5es de hardware espec\u00edficas e executa tanto o Config Agent quanto o Telemetry Agent.

"},{"location":"pt/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Pontos de interconex\u00e3o na rede mesh onde diferentes links de contribuidores s\u00e3o conectados. Os DZXs est\u00e3o localizados nas principais \u00e1reas metropolitanas (por exemplo, NYC, LON, TYO) onde ocorrem interse\u00e7\u00f5es de rede. Os contribuidores de rede devem fazer cross-connect de seus links na mesh DoubleZero mais ampla no DZX mais pr\u00f3ximo. Semelhante em conceito a um Internet Exchange (IX).

"},{"location":"pt/glossary/#link-wan","title":"Link WAN","text":"

Um link de Wide Area Network entre dois DZDs operados pelo mesmo contribuidor. Os links WAN fornecem conectividade de backbone dentro da infraestrutura de um \u00fanico contribuidor.

"},{"location":"pt/glossary/#link-dzx","title":"Link DZX","text":"

Um link entre DZDs operados por diferentes contribuidores, estabelecido em um DZX. Os links DZX requerem aceita\u00e7\u00e3o expl\u00edcita de ambas as partes.

"},{"location":"pt/glossary/#prefixo-dz","title":"Prefixo DZ","text":"

Aloca\u00e7\u00f5es de endere\u00e7os IP em formato CIDR atribu\u00eddas a um DZD para endere\u00e7amento de rede overlay. Especificado durante a cria\u00e7\u00e3o de dispositivos usando o par\u00e2metro --dz-prefixes.

"},{"location":"pt/glossary/#tipos-de-dispositivos","title":"Tipos de Dispositivos","text":""},{"location":"pt/glossary/#dispositivo-de-borda","title":"Dispositivo de Borda","text":"

Um DZD que fornece conectividade de usu\u00e1rios \u00e0 rede DoubleZero. Os dispositivos de borda utilizam interfaces CYOA para terminar usu\u00e1rios (validadores, operadores de RPC) e conect\u00e1-los \u00e0 rede.

"},{"location":"pt/glossary/#dispositivo-de-transito","title":"Dispositivo de Tr\u00e2nsito","text":"

Um DZD que fornece conectividade de backbone dentro da rede DoubleZero. Os dispositivos de tr\u00e2nsito movem tr\u00e1fego entre DZDs, mas n\u00e3o terminam conex\u00f5es de usu\u00e1rios diretamente.

"},{"location":"pt/glossary/#dispositivo-hibrido","title":"Dispositivo H\u00edbrido","text":"

Um DZD que combina funcionalidade de borda e tr\u00e2nsito, fornecendo tanto conectividade de usu\u00e1rios quanto roteamento de backbone.

"},{"location":"pt/glossary/#conectividade","title":"Conectividade","text":""},{"location":"pt/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Tipos de interface que permitem aos contribuidores registrar op\u00e7\u00f5es de conectividade para que os usu\u00e1rios se conectem \u00e0 rede DoubleZero. As interfaces CYOA incluem v\u00e1rios m\u00e9todos como DIA, t\u00faneis GRE e peering privado. Consulte Criando Interfaces CYOA para detalhes de configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#dia-acesso-direto-a-internet","title":"DIA (Acesso Direto \u00e0 Internet)","text":"

Um termo de rede padr\u00e3o para conectividade fornecida pela internet p\u00fablica. No DoubleZero, DIA \u00e9 um tipo de interface CYOA onde os usu\u00e1rios (validadores, operadores de RPC) se conectam a um DZD pela sua conex\u00e3o de internet existente.

"},{"location":"pt/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

Um modo de conex\u00e3o que permite que validadores e n\u00f3s RPC se conectem ao DoubleZero sem reiniciar seus clientes blockchain. O IBRL usa o endere\u00e7o IP p\u00fablico existente e estabelece um t\u00fanel overlay para o DZD mais pr\u00f3ximo. Consulte Conex\u00e3o Mainnet-Beta para instru\u00e7\u00f5es de configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#multicast","title":"Multicast","text":"

Um m\u00e9todo de entrega de pacotes um-para-muitos suportado pelo DoubleZero. O modo multicast tem dois pap\u00e9is: publicador (envia pacotes pela rede) e assinante (recebe pacotes do publicador). Usado por equipes de desenvolvimento para distribui\u00e7\u00e3o eficiente de dados. Consulte Outra Conex\u00e3o Multicast para detalhes de conex\u00e3o.

"},{"location":"pt/glossary/#componentes-de-software","title":"Componentes de Software","text":""},{"location":"pt/glossary/#doublezerod","title":"doublezerod","text":"

O servi\u00e7o daemon do DoubleZero que \u00e9 executado em servidores de usu\u00e1rios (validadores, n\u00f3s RPC). Ele gerencia a conex\u00e3o com a rede DoubleZero, lida com o estabelecimento de t\u00faneis e mant\u00e9m a conectividade com os DZDs. Configurado via systemd e controlado pelo CLI doublezero.

"},{"location":"pt/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

A interface de linha de comando para interagir com a rede DoubleZero. Usada para conectar, gerenciar identidades, verificar status e opera\u00e7\u00f5es administrativas. Comunica-se com o daemon doublezerod.

"},{"location":"pt/glossary/#config-agent","title":"Config Agent","text":"

Agente de software executado nos DZDs que gerencia a configura\u00e7\u00e3o do dispositivo. L\u00ea a configura\u00e7\u00e3o do servi\u00e7o Controller e aplica mudan\u00e7as ao dispositivo. Consulte Instala\u00e7\u00e3o do Config Agent para configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Agente de software executado nos DZDs que coleta m\u00e9tricas de desempenho (lat\u00eancia, jitter, perda de pacotes) e as envia ao ledger DoubleZero. Consulte Instala\u00e7\u00e3o do Telemetry Agent para configura\u00e7\u00e3o.

"},{"location":"pt/glossary/#controller","title":"Controller","text":"

Um servi\u00e7o que fornece configura\u00e7\u00e3o para agentes DZD. O Controller deriva as configura\u00e7\u00f5es do dispositivo a partir do estado onchain no ledger DoubleZero.

"},{"location":"pt/glossary/#estados-de-link","title":"Estados de Link","text":""},{"location":"pt/glossary/#ativado","title":"Ativado","text":"

O estado operacional normal de um link. O tr\u00e1fego flui pelo link e ele participa das decis\u00f5es de roteamento.

"},{"location":"pt/glossary/#drenagem-suave","title":"Drenagem Suave","text":"

Um estado de manuten\u00e7\u00e3o onde o tr\u00e1fego ser\u00e1 desencorajado em um link espec\u00edfico. Usado para janelas de manuten\u00e7\u00e3o gradual. Pode transitar para ativado ou drenagem r\u00edgida.

"},{"location":"pt/glossary/#drenagem-rigida","title":"Drenagem R\u00edgida","text":"

Um estado de manuten\u00e7\u00e3o onde o link \u00e9 completamente removido do servi\u00e7o. Nenhum tr\u00e1fego flui pelo link. Deve transitar para drenagem suave antes de retornar para ativado.

"},{"location":"pt/glossary/#organizacoes-e-tokens","title":"Organiza\u00e7\u00f5es e Tokens","text":""},{"location":"pt/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

A DoubleZero Foundation \u00e9 uma empresa de funda\u00e7\u00e3o sem membros nas Ilhas Cayman, sem fins lucrativos, formada para apoiar o desenvolvimento, descentraliza\u00e7\u00e3o, seguran\u00e7a e ado\u00e7\u00e3o da rede DoubleZero.

"},{"location":"pt/glossary/#token-2z","title":"Token 2Z","text":"

O token nativo da rede DoubleZero. Usado para pagar taxas de validadores e distribu\u00eddo como recompensas aos contribuidores. Os validadores podem pagar taxas em 2Z via um programa de swap onchain. Consulte Pagando Taxas com 2Z e Trocando SOL por 2Z.

"},{"location":"pt/glossary/#contribuidor","title":"Contribuidor","text":"

Um provedor de infraestrutura de rede que contribui com largura de banda e hardware para a rede DoubleZero. Os contribuidores operam DZDs, fornecem links WAN e DZX e recebem incentivos em tokens 2Z por sua contribui\u00e7\u00e3o. Consulte a Documenta\u00e7\u00e3o para Contribuidores para come\u00e7ar.

"},{"location":"pt/glossary/#conceitos-de-rede","title":"Conceitos de Rede","text":""},{"location":"pt/glossary/#mtu-unidade-maxima-de-transmissao","title":"MTU (Unidade M\u00e1xima de Transmiss\u00e3o)","text":"

O maior tamanho de pacote (em bytes) que pode ser transmitido por um link de rede. Os links WAN do DoubleZero normalmente usam MTU 9000 (jumbo frames) para efici\u00eancia.

"},{"location":"pt/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

Uma tecnologia que permite que m\u00faltiplas tabelas de roteamento isoladas existam no mesmo roteador f\u00edsico. Os contribuidores frequentemente usam um VRF de gerenciamento separado para isolar o tr\u00e1fego de gerenciamento do switch do tr\u00e1fego de produ\u00e7\u00e3o.

"},{"location":"pt/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

Um protocolo de tunelamento que encapsula pacotes de rede dentro de pacotes IP. Usado por conex\u00f5es IBRL e CYOA para criar t\u00faneis overlay entre usu\u00e1rios e DZDs.

"},{"location":"pt/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

O protocolo de roteamento usado para trocar informa\u00e7\u00f5es de roteamento entre redes na internet. O DoubleZero usa BGP internamente com ASN 65342.

"},{"location":"pt/glossary/#asn-numero-de-sistema-autonomo","title":"ASN (N\u00famero de Sistema Aut\u00f4nomo)","text":"

Um identificador \u00fanico atribu\u00eddo a uma rede para roteamento BGP. Todos os dispositivos DoubleZero usam ASN 65342 para o processo BGP interno.

"},{"location":"pt/glossary/#interface-loopback","title":"Interface Loopback","text":"

Uma interface de rede virtual em um roteador/switch usada para fins de gerenciamento e roteamento. Os DZDs usam Loopback255 (VPNv4) e Loopback256 (IPv4) para roteamento interno.

"},{"location":"pt/glossary/#cidr-roteamento-inter-dominio-sem-classe","title":"CIDR (Roteamento Inter-Dom\u00ednio sem Classe)","text":"

Uma nota\u00e7\u00e3o para especificar intervalos de endere\u00e7os IP. O formato \u00e9 IP/comprimento-prefixo onde o comprimento do prefixo indica o tamanho da rede (por exemplo, /29 = 8 endere\u00e7os, /24 = 256 endere\u00e7os).

"},{"location":"pt/glossary/#jitter","title":"Jitter","text":"

Varia\u00e7\u00e3o na lat\u00eancia de pacotes ao longo do tempo. Baixo jitter \u00e9 cr\u00edtico para aplica\u00e7\u00f5es em tempo real.

"},{"location":"pt/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

O tempo para um pacote viajar da origem ao destino e de volta. Usado para medir a lat\u00eancia de rede entre dispositivos.

"},{"location":"pt/glossary/#twamp-protocolo-de-medicao-ativa-bidirecional","title":"TWAMP (Protocolo de Medi\u00e7\u00e3o Ativa Bidirecional)","text":"

Um protocolo para medir m\u00e9tricas de desempenho de rede como lat\u00eancia e perda de pacotes. O Telemetry Agent usa TWAMP para coletar m\u00e9tricas entre DZDs.

"},{"location":"pt/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

Um protocolo de roteamento de estado de link usado internamente pela rede DoubleZero. As m\u00e9tricas IS-IS s\u00e3o ajustadas durante opera\u00e7\u00f5es de drenagem de link.

"},{"location":"pt/glossary/#blockchain-e-chaves","title":"Blockchain e Chaves","text":""},{"location":"pt/glossary/#onchain","title":"Onchain","text":"

No contexto do DoubleZero, onchain refere-se a dados e opera\u00e7\u00f5es registrados no ledger DoubleZero. Ao contr\u00e1rio das redes tradicionais onde as configura\u00e7\u00f5es de dispositivos e links vivem em sistemas de gerenciamento centralizados, o DoubleZero registra registros de dispositivos, configura\u00e7\u00f5es de links e envios de telemetria onchain \u2014 tornando o estado da rede transparente e verific\u00e1vel por todos os participantes.

"},{"location":"pt/glossary/#chave-de-servico","title":"Chave de Servi\u00e7o","text":"

Um keypair criptogr\u00e1fico usado para autenticar opera\u00e7\u00f5es do CLI. Esta \u00e9 a sua identidade de contribuidor para interagir com o contrato inteligente do DoubleZero. Armazenada em ~/.config/solana/id.json.

"},{"location":"pt/glossary/#chave-do-editor-de-metricas","title":"Chave do Editor de M\u00e9tricas","text":"

Um keypair criptogr\u00e1fico usado pelo Telemetry Agent para assinar envios de m\u00e9tricas \u00e0 blockchain. Separada da chave de servi\u00e7o para isolamento de seguran\u00e7a. Armazenada em ~/.config/doublezero/metrics-publisher.json.

"},{"location":"pt/glossary/#hardware-e-software","title":"Hardware e Software","text":""},{"location":"pt/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

O sistema operacional de rede da Arista que \u00e9 executado nos switches DZD. Os contribuidores instalam o Config Agent e o Telemetry Agent como extens\u00f5es EOS.

"},{"location":"pt/glossary/#extensao-eos","title":"Extens\u00e3o EOS","text":"

Um pacote de software que pode ser instalado em switches Arista EOS. Os agentes DZ s\u00e3o distribu\u00eddos como arquivos .rpm e instalados via o comando extension.

"},{"location":"pt/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"pt/multicast-admin/#gerenciamento-de-grupos-multicast-no-doublezero","title":"Gerenciamento de Grupos Multicast no DoubleZero","text":"

Um grupo multicast \u00e9 uma cole\u00e7\u00e3o l\u00f3gica de dispositivos ou n\u00f3s de rede que compartilham um identificador comum (tipicamente um endere\u00e7o IP multicast) para transmitir dados eficientemente para m\u00faltiplos destinat\u00e1rios. Ao contr\u00e1rio da comunica\u00e7\u00e3o unicast (um para um) ou broadcast (um para todos), o multicast permite que um remetente transmita um \u00fanico fluxo de dados que \u00e9 replicado pela rede apenas para os receptores que ingressaram no grupo.

Esta abordagem otimiza o uso de largura de banda e reduz a carga tanto no remetente quanto na infraestrutura de rede, pois os pacotes s\u00e3o transmitidos apenas uma vez por link e duplicados somente quando necess\u00e1rio para alcan\u00e7ar m\u00faltiplos assinantes. Os grupos multicast s\u00e3o comumente usados em cen\u00e1rios como transmiss\u00e3o de v\u00eddeo ao vivo, confer\u00eancias, distribui\u00e7\u00e3o de dados financeiros e sistemas de mensagens em tempo real.

No DoubleZero, os grupos multicast fornecem um mecanismo seguro e controlado para gerenciar quem pode enviar (publicadores) e receber (assinantes) dados dentro de cada grupo, garantindo uma distribui\u00e7\u00e3o de informa\u00e7\u00f5es eficiente e governada.

flowchart LR\n    subgraph Publishers\n        P1[Publicador 1]\n        P2[Publicador 2]\n        P3[Publicador 3]\n    end\n    subgraph Subscribers\n        S1[Assinante 1]\n        S2[Assinante 2]\n        S3[Assinante 3]\n        S4[Assinante 4]\n    end\n    P1 --> B[Grupo Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

O diagrama acima mostra como m\u00faltiplos usu\u00e1rios podem publicar mensagens em um grupo multicast, e m\u00faltiplos usu\u00e1rios podem assinar para receber essas mensagens. A rede DoubleZero replica eficientemente os pacotes, garantindo que todos os assinantes recebam as mensagens sem sobrecarga de transmiss\u00e3o desnecess\u00e1ria.

"},{"location":"pt/multicast-admin/#1-criacao-e-listagem-de-grupos-multicast","title":"1. Cria\u00e7\u00e3o e Listagem de Grupos Multicast","text":"

Os grupos multicast s\u00e3o a base para a distribui\u00e7\u00e3o segura e eficiente de dados no DoubleZero. Cada grupo \u00e9 identificado de forma \u00fanica e configurado com uma largura de banda e propriet\u00e1rio espec\u00edficos. Apenas os administradores da Funda\u00e7\u00e3o DoubleZero podem criar novos grupos multicast, garantindo uma governan\u00e7a adequada e aloca\u00e7\u00e3o de recursos.

Uma vez criados, os grupos multicast podem ser listados para fornecer uma vis\u00e3o geral de todos os grupos dispon\u00edveis, sua configura\u00e7\u00e3o e seu status atual. Isso \u00e9 essencial para que os operadores de rede e propriet\u00e1rios de grupos monitorem recursos e gerenciem o acesso.

Criando um grupo multicast:

Apenas a Funda\u00e7\u00e3o DoubleZero pode criar novos grupos multicast. O comando de cria\u00e7\u00e3o requer um c\u00f3digo \u00fanico, a largura de banda m\u00e1xima e a chave p\u00fablica do propriet\u00e1rio (ou 'me' para o pagador atual).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Listando todos os grupos multicast:

Para listar todos os grupos multicast e ver informa\u00e7\u00f5es resumidas (incluindo o c\u00f3digo do grupo, IP multicast, largura de banda, n\u00famero de publicadores e assinantes, status e propriet\u00e1rio):

doublezero multicast group list\n

Este comando exibe uma tabela com todos os grupos multicast e suas principais propriedades.

Uma vez criado um grupo, o propriet\u00e1rio pode gerenciar quais usu\u00e1rios podem se conectar como publicadores ou assinantes.

"},{"location":"pt/multicast-admin/#2-gerenciamento-de-listas-de-permissao-de-publicadoresassinantes","title":"2. Gerenciamento de Listas de Permiss\u00e3o de Publicadores/Assinantes","text":"

As listas de permiss\u00e3o de publicadores e assinantes s\u00e3o essenciais para controlar o acesso aos grupos multicast no DoubleZero. Essas listas definem explicitamente quais usu\u00e1rios podem publicar (enviar dados) ou assinar (receber dados) dentro de um grupo multicast espec\u00edfico.

Gerenciar essas listas \u00e9 responsabilidade do propriet\u00e1rio do grupo, que pode adicionar, remover ou visualizar publicadores e assinantes autorizados usando o CLI do DoubleZero.

Nota: Para assinar ou publicar em um grupo multicast, um usu\u00e1rio deve primeiro estar autorizado a se conectar ao DoubleZero seguindo os procedimentos de conex\u00e3o padr\u00e3o. Os comandos de lista de permiss\u00e3o descritos aqui apenas associam um usu\u00e1rio DoubleZero j\u00e1 autorizado com um grupo multicast. Adicionar um novo IP \u00e0 lista de permiss\u00e3o de um grupo multicast n\u00e3o concede por si s\u00f3 acesso ao DoubleZero; o usu\u00e1rio deve ter conclu\u00eddo o processo de autoriza\u00e7\u00e3o geral antes de interagir com grupos multicast.

"},{"location":"pt/multicast-admin/#adicionar-um-publicador-a-lista-de-permissao","title":"Adicionar um publicador \u00e0 lista de permiss\u00e3o","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#remover-um-publicador-da-lista-de-permissao","title":"Remover um publicador da lista de permiss\u00e3o","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#listar-a-lista-de-permissao-de-publicadores-de-um-grupo","title":"Listar a lista de permiss\u00e3o de publicadores de um grupo","text":"

Para listar todos os publicadores na lista de permiss\u00e3o de um grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist publisher list --code <CODE>\n

Este comando exibe todos os publicadores atualmente autorizados a se conectar ao grupo especificado, incluindo sua conta, c\u00f3digo do grupo, IP do cliente e pagador do usu\u00e1rio.

"},{"location":"pt/multicast-admin/#adicionar-um-assinante-a-lista-de-permissao","title":"Adicionar um assinante \u00e0 lista de permiss\u00e3o","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#remover-um-assinante-da-lista-de-permissao","title":"Remover um assinante da lista de permiss\u00e3o","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"pt/multicast-admin/#listar-a-lista-de-permissao-de-assinantes-de-um-grupo","title":"Listar a lista de permiss\u00e3o de assinantes de um grupo","text":"

Para listar todos os assinantes na lista de permiss\u00e3o de um grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Este comando exibe todos os assinantes atualmente autorizados a se conectar ao grupo especificado.

Para mais informa\u00e7\u00f5es sobre conex\u00e3o e uso de multicast, consulte Outras Conex\u00f5es Multicast.

"},{"location":"pt/paying-fees/","title":"Pre\u00e7os e Taxas para Validadores","text":"

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.

Pre\u00e7os simples e alinhados para validadores Solana

As taxas come\u00e7ar\u00e3o na epoch 859, que come\u00e7a no s\u00e1bado, 4 de outubro, \u00e0s 4h ET. Uma taxa plana de 5% \u00e9 cobrada sobre as recompensas de assinatura de bloco e taxas de prioridade.

As taxas financiam diretamente a infraestrutura que torna o DoubleZero poss\u00edvel, incluindo linhas de fibra f\u00edsica e equipamentos em data centers.

Uma explora\u00e7\u00e3o aprofundada de por que as taxas existem e o modelo de pre\u00e7os para validadores pode ser encontrada aqui.

Este guia foca em como as taxas s\u00e3o pagas de uma perspectiva t\u00e9cnica.

"},{"location":"pt/paying-fees/#modelo-de-liquidacao","title":"Modelo de Liquida\u00e7\u00e3o","text":""},{"location":"pt/paying-fees/#estimando-taxas","title":"Estimando Taxas","text":"

Estimativas hist\u00f3ricas e dados por pubkey est\u00e3o dispon\u00edveis no Reposit\u00f3rio de Estimativas de Taxas. O reposit\u00f3rio n\u00e3o substitui os dados on-chain. Voc\u00ea \u00e9 respons\u00e1vel pelo saldo on-chain, n\u00e3o pelo saldo neste reposit\u00f3rio.

D\u00favidas? Entre em contato com Nihar Shah em nihar@doublezero.us

"},{"location":"pt/paying-fees/#detalhes-para-desenvolvedores","title":"Detalhes para Desenvolvedores","text":""},{"location":"pt/paying-fees/#interface-de-linha-de-comando","title":"Interface de Linha de Comando","text":"

O CLI do DoubleZero fornece comandos para gerenciar dep\u00f3sitos de validadores e monitorar saldos. Voc\u00ea precisar\u00e1 de SOL na conta de onde executa esses comandos para pagar o gas.

"},{"location":"pt/paying-fees/#passo-1-entendendo-a-divida-devida","title":"Passo 1: Entendendo a D\u00edvida Devida","text":"

Para visualizar a d\u00edvida em um endere\u00e7o espec\u00edfico voc\u00ea pode usar este formato:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Examinaremos um exemplo de sa\u00edda abaixo:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
Na sa\u00edda de exemplo h\u00e1 duas sa\u00eddas poss\u00edveis diferentes em note. Not funded significa que a conta n\u00e3o foi financiada. No exemplo, 0.632515639 SOL needed \u00e9 o valor pendente de SOL necess\u00e1rio para pagar todas as d\u00edvidas atualmente devidas associadas ao ID do Validador alvo.

"},{"location":"pt/paying-fees/#passo-2-pagando-a-divida-devida","title":"Passo 2: Pagando a D\u00edvida Devida","text":"

Note

Voc\u00ea pode agendar este comando para ser executado em intervalos regulares.

Para pagar a d\u00edvida devida voc\u00ea pode usar o seguinte comando. Isso usar\u00e1 automaticamente o keypair padr\u00e3o em $HOME/.config/solana/id.json

Voc\u00ea pode especificar o keypair com o qual deseja pagar sua d\u00edvida adicionando o argumento -k path/to/keypair.json ao final do comando.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
Um exemplo de sa\u00edda \u00e9 fornecido abaixo

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: retorna a conta de dep\u00f3sito que foi financiada

Funded: retorna o hash da transa\u00e7\u00e3o, que voc\u00ea pode consultar no seu explorador Solana favorito

Node ID: retorna o ID do Validador pelo qual foi pago

Balance: retorna a quantidade de SOL que est\u00e1 na conta de dep\u00f3sito, ap\u00f3s a conclus\u00e3o da transfer\u00eancia

"},{"location":"pt/paying-fees2z/","title":"Paying fees2z","text":"

Revise o Aviso Legal antes de acessar ou usar o c\u00f3digo ou quaisquer materiais relacionados.

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.

Aviso Legal

Este documento e o c\u00f3digo associado s\u00e3o fornecidos apenas para fins informativos e t\u00e9cnicos. A funcionalidade de convers\u00e3o de tokens descrita aqui \u00e9 n\u00e3o custodial \u2014 os usu\u00e1rios interagem diretamente com os contratos inteligentes subjacentes e mant\u00eam controle total de seus ativos em todos os momentos.

O sistema pode depender de ou interagir com c\u00f3digo de terceiros, fontes de dados ou mecanismos de precifica\u00e7\u00e3o e taxas (por exemplo, contratos inteligentes, APIs ou exchanges descentralizadas) que n\u00e3o s\u00e3o desenvolvidos, controlados ou revisados pelo(s) desenvolvedor(es) ou publicador(es). Nenhuma representa\u00e7\u00e3o ou garantia \u00e9 feita quanto \u00e0 precis\u00e3o, funcionalidade ou seguran\u00e7a de qualquer componente de terceiros. O(s) desenvolvedor(es) e publicador(es) deste c\u00f3digo n\u00e3o garantem sua precis\u00e3o, integridade ou disponibilidade cont\u00ednua. O c\u00f3digo e os materiais relacionados s\u00e3o fornecidos \"no estado em que se encontram\" e podem conter bugs, erros ou vulnerabilidades. O uso \u00e9 inteiramente por sua pr\u00f3pria conta e risco. O(s) desenvolvedor(es) e publicador(es) n\u00e3o recebem quaisquer taxas em conex\u00e3o com o uso desses contratos. Eles n\u00e3o t\u00eam obriga\u00e7\u00e3o de manter, atualizar ou suportar o c\u00f3digo ou a documenta\u00e7\u00e3o relacionada.

Este documento n\u00e3o constitui uma oferta de venda, uma solicita\u00e7\u00e3o de compra ou uma recomenda\u00e7\u00e3o para participar de qualquer convers\u00e3o de token, swap ou outra transa\u00e7\u00e3o. Nenhum conselho jur\u00eddico, financeiro ou de investimento \u00e9 fornecido. Os usu\u00e1rios s\u00e3o os \u00fanicos respons\u00e1veis por determinar a legalidade de suas atividades. Eles devem revisar as leis e regulamentos aplic\u00e1veis em sua jurisdi\u00e7\u00e3o e consultar assessores independentes antes de usar o c\u00f3digo ou participar de qualquer convers\u00e3o. O uso \u00e9 proibido onde for ilegal, incluindo por pessoas ou entidades sujeitas a san\u00e7\u00f5es ou em jurisdi\u00e7\u00f5es restritas.

Na extens\u00e3o m\u00e1xima permitida por lei, o(s) desenvolvedor(es) e publicador(es) se isentam de toda responsabilidade por qualquer perda, dano ou reclama\u00e7\u00e3o decorrente ou em conex\u00e3o com o uso do c\u00f3digo ou participa\u00e7\u00e3o na convers\u00e3o.

A revis\u00e3o e o uso deste documento e do c\u00f3digo associado est\u00e3o sujeitos aos Termos e Condi\u00e7\u00f5es do Website e Termos e Condi\u00e7\u00f5es do Protocolo.

Os validadores podem pagar suas taxas em 2Z via um programa de swap onchain. O swap \u00e9 realizado trocando 2Z por SOL. O saldo de SOL em sua conta de dep\u00f3sito ser\u00e1 atualizado de acordo com o swap.

Este processo sempre usar\u00e1 incrementos de 1 SOL. O resultado deste swap sempre ser\u00e1 depositado diretamente em sua conta de dep\u00f3sito. Esta \u00e9 uma via de m\u00e3o \u00fanica \u2014 voc\u00ea n\u00e3o pode recuperar o 2Z ou SOL desta transa\u00e7\u00e3o. Ele ser\u00e1 enviado para um m\u00f3dulo de distribui\u00e7\u00e3o onchain.

"},{"location":"pt/paying-fees2z/#passo-1","title":"Passo 1","text":"

Primeiro determine qual \u00e9 a taxa de convers\u00e3o atual

doublezero-solana revenue-distribution fetch sol-conversion\n

sa\u00edda:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"pt/paying-fees2z/#passo-2","title":"Passo 2","text":"

Fa\u00e7a uma ordem limitada. Voc\u00ea executar\u00e1 este swap por sua pr\u00f3pria conta e risco. N\u00e3o fazemos recomenda\u00e7\u00f5es sobre perfil de risco, e os exemplos fornecidos aqui s\u00e3o apenas para fins educacionais.

"},{"location":"pt/paying-fees2z/#como-estruturar-uma-ordem-limitada","title":"Como estruturar uma ordem limitada","text":"

Com base no exemplo acima, vamos agora fazer uma ordem limitada 5% acima do pre\u00e7o cotado. 797.76 * 1.05 = 837.65

Neste exemplo, vamos assumir que a conta de dep\u00f3sito tem 0 SOL nela.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Observe no comando acima --fund 1 \u2014 isso est\u00e1 explicitamente financiando 1 SOL na conta de dep\u00f3sito.

Se voc\u00ea escolher qualquer n\u00famero diferente de 1, acionar\u00e1 um erro informando o valor incorreto:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Voc\u00ea ser\u00e1 solicitado a confirmar a transa\u00e7\u00e3o:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

sa\u00edda:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Observe que, em um swap bem-sucedido, o Balance: foi atualizado para 1 SOL.

Se um pre\u00e7o estiver fora do seu intervalo especificado, voc\u00ea encontrar\u00e1 um erro como:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"pt/quick-connect/","title":"Conex\u00e3o R\u00e1pida","text":"

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.

Responda algumas perguntas e geraremos um guia de conex\u00e3o personalizado com as etapas e comandos exatos para sua configura\u00e7\u00e3o.

Guia Simplificado

Este assistente fornece trechos principais da documenta\u00e7\u00e3o completa para conect\u00e1-lo o mais r\u00e1pido poss\u00edvel. Para detalhes completos, consulte os guias de Configura\u00e7\u00e3o e Tenant.

A qual rede voc\u00ea est\u00e1 se conectando? Mainnet-Beta Rede de produ\u00e7\u00e3o para validadores ativos e operadores de RPC Testnet Rede de teste e desenvolvimento Qual sistema operacional seu servidor est\u00e1 executando? Ubuntu / Debian Ubuntu 22.04+ ou Debian 11+ Rocky Linux / RHEL Rocky Linux ou RHEL 9+ Qual ecossistema? Solana Validadores e operadores de RPC na Solana Shelby RPCs e N\u00f3s de Armazenamento no Shelby (apenas Testnet) Novo Tenant Outros ecossistemas Qual ferramenta de firewall voc\u00ea usa? iptables Regras diretas de iptables UFW Uncomplicated Firewall Que tipo de n\u00f3 voc\u00ea est\u00e1 executando? Validador Validador Solana com agendamento de l\u00edder e keypair de identidade N\u00e3o-validador (RPC) N\u00f3 RPC ou infraestrutura MEV Qual modo de conex\u00e3o voc\u00ea precisa? Unicast (IBRL) Conex\u00e3o ponto a ponto padr\u00e3o Multicast Entrega de pacotes um-para-muitos (publicador/assinante) Ambos T\u00faneis unicast e multicast simult\u00e2neos Qual \u00e9 o seu papel no multicast? Publicador Enviar dados para um grupo multicast (por exemplo, produtor de bloco) Assinante Receber dados de um grupo multicast"},{"location":"pt/setup/","title":"Como configurar o DoubleZero","text":"

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.

Terminologia

Novo no DoubleZero? Consulte o Gloss\u00e1rio para defini\u00e7\u00f5es de termos como doublezerod, IBRL e DZD.

Ao conectar ao DoubleZero, concordo com os Termos de Servi\u00e7o do DoubleZero

"},{"location":"pt/setup/#pre-requisitos","title":"Pr\u00e9-requisitos","text":"

Warning

Para validadores: o DoubleZero precisa ser instalado diretamente no host do validador, n\u00e3o em um cont\u00eainer.

"},{"location":"pt/setup/#conectando-ao-doublezero","title":"Conectando ao DoubleZero","text":"

O Testnet do DoubleZero e o Mainnet-Beta do DoubleZero s\u00e3o redes fisicamente distintas. Por favor, escolha a rede apropriada durante a instala\u00e7\u00e3o.

Ao integrar ao DoubleZero, voc\u00ea estabelecer\u00e1 uma identidade DoubleZero, representada por uma chave p\u00fablica chamada DoubleZero ID. Essa chave faz parte de como o DoubleZero reconhece sua m\u00e1quina.

"},{"location":"pt/setup/#1-instalar-os-pacotes-do-doublezero","title":"1. Instalar os Pacotes do DoubleZero","text":"

Vers\u00f5es Atuais

Pacote Mainnet-Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Siga estas etapas dependendo do seu sistema operacional:

"},{"location":"pt/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

A implanta\u00e7\u00e3o recomendada atual para Mainnet-Beta \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

A implanta\u00e7\u00e3o recomendada atual para Testnet \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"pt/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

A implanta\u00e7\u00e3o recomendada atual para Mainnet-Beta \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

A implanta\u00e7\u00e3o recomendada atual para Testnet \u00e9:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Apenas Usu\u00e1rios Existentes: Mudar um pacote de Testnet para Mainnet-Beta, ou de Mainnet-Beta para Testnet

Quando voc\u00ea instala a partir de um dos reposit\u00f3rios de pacotes acima, ele \u00e9 espec\u00edfico para o Testnet do DoubleZero ou o DoubleZero Mainnet Beta. Se voc\u00ea trocar de rede em algum momento, precisar\u00e1 remover os reposit\u00f3rios de pacotes instalados anteriormente e atualizar para o reposit\u00f3rio de destino.

Este exemplo mostrar\u00e1 a migra\u00e7\u00e3o do Testnet para o Mainnet-Beta.

As mesmas etapas podem ser conclu\u00eddas para mover do Mainnet-Beta para o Testnet, substituindo o passo 3 pelo comando de instala\u00e7\u00e3o do Testnet acima.

  1. Encontrar Arquivos de Reposit\u00f3rio Antigos

    Primeiro, localize quaisquer arquivos de configura\u00e7\u00e3o de reposit\u00f3rio do DoubleZero existentes em seu sistema:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Remover Arquivos de Reposit\u00f3rio Antigos

    Remova os arquivos de reposit\u00f3rio antigos encontrados na etapa anterior, por exemplo:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Instalar a partir do Novo Reposit\u00f3rio

    Adicione o novo reposit\u00f3rio Mainnet-Beta e instale o pacote mais recente:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<versao_recomendada_atual_acima>\n
"},{"location":"pt/setup/#verificar-o-status-do-doublezerod","title":"Verificar o status do doublezerod","text":"

Ap\u00f3s a instala\u00e7\u00e3o do pacote, uma nova unidade systemd \u00e9 instalada, ativada e iniciada. Para ver o status, execute:

sudo systemctl status doublezerod\n

"},{"location":"pt/setup/#configurar-firewall-para-gre-e-bgp","title":"Configurar Firewall para GRE e BGP","text":"

O DoubleZero usa tunelamento GRE (protocolo IP 47) e roteamento BGP (tcp/179 em endere\u00e7os link-local). Certifique-se de que seu firewall permita esses protocolos:

Permitir GRE e BGP via iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

Ou permitir GRE e BGP via UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"pt/setup/#2-criar-nova-identidade-doublezero","title":"2. Criar Nova Identidade DoubleZero","text":"

Crie uma Identidade DoubleZero em seu servidor com o seguinte comando:

doublezero keygen\n

Info

Se voc\u00ea tiver um ID existente que gostaria de usar, pode seguir estas etapas opcionais.

Criar o diret\u00f3rio de configura\u00e7\u00e3o do doublezero

mkdir -p ~/.config/doublezero\n

Copie ou vincule o id.json que deseja usar com o DoubleZero no diret\u00f3rio de configura\u00e7\u00e3o do doublezero.

sudo cp </caminho/para/id.json> ~/.config/doublezero/\n
"},{"location":"pt/setup/#3-recuperar-a-identidade-doublezero-do-servidor","title":"3. Recuperar a identidade DoubleZero do servidor","text":"

Revise sua Identidade DoubleZero. Esta identidade ser\u00e1 usada para criar a conex\u00e3o entre sua m\u00e1quina e o DoubleZero.

doublezero address\n

Sa\u00edda:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"pt/setup/#4-verificar-se-o-doublezerod-descobriu-os-dispositivos-dz","title":"4. Verificar se o doublezerod descobriu os dispositivos DZ","text":"

Antes de conectar, certifique-se de que o doublezerod tenha descoberto e feito ping em cada um dos switches DZ testnet dispon\u00edveis:

doublezero latency\n

Exemplo de sa\u00edda:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Se nenhum dispositivo for retornado na sa\u00edda, aguarde 10-20 segundos e tente novamente.

"},{"location":"pt/setup/#5-desconectar-do-doublezero","title":"5. Desconectar do DoubleZero","text":"

Nas pr\u00f3ximas se\u00e7\u00f5es, voc\u00ea definir\u00e1 seu Ambiente DoubleZero. Para garantir o sucesso, desconecte a sess\u00e3o atual. Isso evitar\u00e1 problemas relacionados a m\u00faltiplos t\u00faneis abertos em sua m\u00e1quina.

Verifique

doublezero status\n

se estiver up, execute:

doublezero disconnect\n
"},{"location":"pt/setup/#proxima-etapa-tenant","title":"Pr\u00f3xima Etapa: Tenant","text":"

A conex\u00e3o ao DoubleZero ser\u00e1 diferente com base no seu caso de uso. No DoubleZero, Tenants s\u00e3o grupos que t\u00eam perfis de usu\u00e1rio semelhantes. Exemplos incluem Blockchains, Camadas de Transfer\u00eancia de Dados, etc.

"},{"location":"pt/setup/#prossiga-para-escolher-seu-tenant-aqui","title":"Prossiga para escolher seu tenant aqui","text":""},{"location":"pt/setup/#opcional-habilitar-metricas-prometheus","title":"Opcional: Habilitar M\u00e9tricas Prometheus","text":"

Operadores familiarizados com m\u00e9tricas Prometheus podem querer habilit\u00e1-las para monitoramento do DoubleZero. Isso fornece visibilidade sobre o desempenho do cliente DoubleZero, status de conex\u00e3o e sa\u00fade operacional.

"},{"location":"pt/setup/#quais-metricas-estao-disponiveis","title":"Quais M\u00e9tricas Est\u00e3o Dispon\u00edveis","text":"

O DoubleZero exp\u00f5e v\u00e1rias m\u00e9tricas principais: - Informa\u00e7\u00f5es de Build: Vers\u00e3o, hash de commit e data de build - Status da Sess\u00e3o: Se a sess\u00e3o DoubleZero est\u00e1 ativa - M\u00e9tricas de Conex\u00e3o: Informa\u00e7\u00f5es de lat\u00eancia e conectividade - Dados de Desempenho: Throughput e taxas de erro

"},{"location":"pt/setup/#habilitar-metricas-prometheus","title":"Habilitar M\u00e9tricas Prometheus","text":"

Para habilitar m\u00e9tricas Prometheus no cliente DoubleZero, siga estas etapas:

"},{"location":"pt/setup/#1-modificar-o-comando-de-inicializacao-do-servico-systemd-doublezerod","title":"1. Modificar o comando de inicializa\u00e7\u00e3o do servi\u00e7o systemd doublezerod","text":"

Crie ou edite a configura\u00e7\u00e3o de substitui\u00e7\u00e3o do systemd:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Substitua por esta configura\u00e7\u00e3o:

Note que o flag -env precisa apontar para testnet ou mainnet-beta dependendo de qual rede voc\u00ea gostaria de coletar dados. No bloco de exemplo, testnet \u00e9 usado. Voc\u00ea pode substitu\u00ed-lo por mainnet-beta se necess\u00e1rio.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"pt/setup/#2-recarregar-e-reiniciar-o-servico","title":"2. Recarregar e reiniciar o servi\u00e7o","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"pt/setup/#3-verificar-se-as-metricas-estao-disponiveis","title":"3. Verificar se as m\u00e9tricas est\u00e3o dispon\u00edveis","text":"

Teste se o endpoint de m\u00e9tricas est\u00e1 respondendo:

curl -s localhost:2113/metrics | grep doublezero\n

Sa\u00edda esperada:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"pt/setup/#resolucao-de-problemas","title":"Resolu\u00e7\u00e3o de Problemas","text":"

Se as m\u00e9tricas n\u00e3o aparecerem:

  1. Verificar status do servi\u00e7o: sudo systemctl status doublezerod
  2. Verificar configura\u00e7\u00e3o: sudo systemctl cat doublezerod
  3. Verificar logs: sudo journalctl -u doublezerod -f
  4. Testar endpoint: curl -v localhost:2113/metrics
  5. Verificar porta: netstat -tlnp | grep 2113
"},{"location":"pt/setup/#configurar-servidor-prometheus","title":"Configurar Servidor Prometheus","text":"

Configura\u00e7\u00e3o e seguran\u00e7a est\u00e3o al\u00e9m do escopo desta documenta\u00e7\u00e3o. O Grafana \u00e9 uma excelente op\u00e7\u00e3o para visualiza\u00e7\u00e3o e possui documenta\u00e7\u00e3o dispon\u00edvel aqui detalhando como coletar m\u00e9tricas Prometheus.

"},{"location":"pt/setup/#dashboard-grafana-opcional","title":"Dashboard Grafana (Opcional)","text":"

Para visualiza\u00e7\u00e3o, voc\u00ea pode criar um dashboard Grafana usando as m\u00e9tricas do DoubleZero. Pain\u00e9is comuns incluem: - Status da sess\u00e3o ao longo do tempo - Informa\u00e7\u00f5es de build - Tend\u00eancias de lat\u00eancia de conex\u00e3o - Monitoramento de taxa de erros

"},{"location":"pt/tenant/","title":"Tenants","text":"

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.

Os Tenants no DoubleZero s\u00e3o grupos de usu\u00e1rios com perfis e requisitos de conex\u00e3o semelhantes, geralmente representando diferentes ecossistemas de blockchain, camadas de transfer\u00eancia de dados ou sistemas distribu\u00eddos.

Examine a tabela abaixo e escolha o caso de uso que melhor descreve como voc\u00ea planeja interagir com a Rede DoubleZero.

Solana

Caso de Uso Pr\u00f3ximo Passo Validador Mainnet Solana, incluindo backups Conex\u00e3o DoubleZero Mainnet-Beta Validador Testnet Solana, incluindo backups Conex\u00e3o DoubleZero Testnet N\u00e3o-Validadores - RPCs e outros. Conex\u00e3o DoubleZero Mainnet-Beta e Testnet

Shelby

Caso de Uso Pr\u00f3ximo Passo RPCs e N\u00f3s de Armazenamento Shelby Testnet Conex\u00e3o DoubleZero Testnet

Novo Tenant

Caso de Uso Pr\u00f3ximo Passo Voc\u00ea tem um novo protocolo, aplica\u00e7\u00e3o ou outro caso de uso para aproveitar o DoubleZero Adicionar um Novo Tenant"},{"location":"pt/troubleshooting/","title":"Solu\u00e7\u00e3o de Problemas","text":"

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.

Este guia cobrir\u00e1 uma variedade de problemas, e est\u00e1 em andamento. Se voc\u00ea completar o guia, pode buscar suporte adicional no Discord DoubleZero Tech.

"},{"location":"pt/troubleshooting/#comandos-comuns-e-saidas","title":"Comandos Comuns e Sa\u00eddas","text":"

Para come\u00e7ar, examine a sa\u00edda dos seguintes comandos e sua sa\u00edda esperada. Eles ir\u00e3o auxili\u00e1-lo em uma solu\u00e7\u00e3o de problemas mais detalhada. Se voc\u00ea abrir um ticket, pode ser solicitado que voc\u00ea forne\u00e7a a sa\u00edda deles.

"},{"location":"pt/troubleshooting/#1-verificar-versao","title":"1. Verificar Vers\u00e3o","text":"

Comando:

doublezero --version

Exemplo de Sa\u00edda:

DoubleZero 0.6.3\n

"},{"location":"pt/troubleshooting/#2-verificar-endereco-doublezero","title":"2. Verificar Endere\u00e7o DoubleZero","text":"

Comando:

doublezero address

Exemplo de Sa\u00edda:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"pt/troubleshooting/#3-verificar-seu-passe-de-acesso","title":"3. Verificar seu Passe de Acesso","text":"

Pubkey de exemplo: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 \u2014 substitua pela sua pubkey ao executar o comando.

Comando:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Sa\u00edda:

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"pt/troubleshooting/#4-verificar-creditos-do-ledger-doublezero","title":"4. Verificar Cr\u00e9ditos do Ledger DoubleZero","text":"

Comando:

doublezero balance

Exemplo de Sa\u00edda:

0.78 Credits\n

"},{"location":"pt/troubleshooting/#5-verificar-status-da-conexao","title":"5. Verificar Status da Conex\u00e3o","text":"

Comando:

doublezero status

Exemplo de Sa\u00edda:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"pt/troubleshooting/#6-verificar-latencia","title":"6. Verificar Lat\u00eancia","text":"

Comando:

doublezero latency

Exemplo de Sa\u00edda:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"pt/troubleshooting/#exemplos-de-solucao-de-problemas","title":"Exemplos de Solu\u00e7\u00e3o de Problemas","text":"

Agora que examinamos as sa\u00eddas b\u00e1sicas e o que \u00e9 esperado em uma implanta\u00e7\u00e3o saud\u00e1vel, podemos examinar alguns exemplos comuns de solu\u00e7\u00e3o de problemas.

"},{"location":"pt/troubleshooting/#problema-error-creating-user","title":"Problema: \u274c Error creating user","text":"

Este problema geralmente est\u00e1 relacionado a uma incompatibilidade entre o par pubkey/IP esperado e o par pubkey/IP que o usu\u00e1rio est\u00e1 tentando usar para acessar o DoubleZero.

Sintomas: - Ao conectar com doublezero connect ibrl, o usu\u00e1rio encontra \u274c Error creating user

Solu\u00e7\u00f5es: 1. Verifique

`doublezero address`\n\nExemplo de Sa\u00edda:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. Verifique se este endere\u00e7o est\u00e1 na lista de permitidos:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Exemplo de Sa\u00edda:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    A pubkey de doublezero address deve corresponder \u00e0 pubkey do user_payer e o endere\u00e7o IP do qual voc\u00ea est\u00e1 tentando se conectar deve corresponder ao IP no Passe de Acesso. doublezero address \u00e9 obtido do arquivo id.json em ~/.config/doublezero/ por padr\u00e3o. Consulte o passo 6 aqui

  2. Se o acima parece correto e voc\u00ea est\u00e1 recebendo um erro ao conectar ou se o mapeamento acima estiver incorreto, entre em contato com o suporte em DoubleZero Tech

"},{"location":"pt/troubleshooting/#problema-error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Problema: \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

Este erro indica que um dispositivo j\u00e1 est\u00e1 conectado ao DoubleZero.

Sintomas: - O usu\u00e1rio tenta se conectar ao DoubleZero - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time \u00e9 encontrado.

Solu\u00e7\u00f5es: 1. Verifique doublezero status

Sa\u00edda:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up indica uma conex\u00e3o saud\u00e1vel.
  2. O erro aparece porque um t\u00fanel para o DoubleZero com o IP DoubleZero espec\u00edfico j\u00e1 est\u00e1 ativo nesta m\u00e1quina.

    Este erro \u00e9 frequentemente encontrado ap\u00f3s uma atualiza\u00e7\u00e3o do cliente DoubleZero. As atualiza\u00e7\u00f5es do DoubleZero reiniciam automaticamente o servi\u00e7o doublezerod e reconectar\u00e3o voc\u00ea se voc\u00ea estivesse conectado antes da reinicializa\u00e7\u00e3o do servi\u00e7o.

"},{"location":"pt/troubleshooting/#problema-status-do-doublezero-esta-unknown-ou-down","title":"Problema: Status do DoubleZero est\u00e1 unknown ou down","text":"

Este problema est\u00e1 frequentemente relacionado ao t\u00fanel GRE sendo ativado com sucesso entre o servidor e o Dispositivo DoubleZero, mas um firewall impedindo o estabelecimento da sess\u00e3o BGP. Por causa disso, voc\u00ea n\u00e3o est\u00e1 recebendo rotas da rede nem enviando tr\u00e1fego pelo DoubleZero.

Sintomas: - doublezero connect ibrl foi bem-sucedido. No entanto, doublezero status retorna down ou unknown

Solu\u00e7\u00f5es: 1. Verifique suas regras de firewall!

O DoubleZero usa o espa\u00e7o de endere\u00e7os link local: 169.254.0.0/16 para as interfaces de t\u00fanel GRE entre sua m\u00e1quina e o Dispositivo DoubleZero. 169.254.0.0/16 \u00e9 tipicamente espa\u00e7o \"n\u00e3o rote\u00e1vel\" e, portanto, as boas pr\u00e1ticas de seguran\u00e7a recomendam bloquear as comunica\u00e7\u00f5es para/deste espa\u00e7o. Voc\u00ea precisar\u00e1 permitir uma regra em seu firewall que habilite src 169.254.0.0/16 para se comunicar com dst 169.254.0.0/16 na porta tcp 179. Essa regra precisar\u00e1 ser colocada acima de quaisquer regras que Neguem tr\u00e1fego para 169.254.0.0/16.

Em um firewall como ufw voc\u00ea pode executar `sudo ufw status` para visualizar as regras do firewall.\n\nExecute `sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` para inserir a regra na posi\u00e7\u00e3o <N>. ou seja, se N = 1, ent\u00e3o voc\u00ea inserir\u00e1 esta regra como a primeira regra.\n`sudo ufw status numbered` mostrar\u00e1 a ordena\u00e7\u00e3o num\u00e9rica das regras.\n
"},{"location":"pt/troubleshooting/#problema-o-dispositivo-doublezero-mais-proximo-mudou","title":"Problema: O dispositivo DoubleZero mais pr\u00f3ximo mudou","text":"

Isso n\u00e3o \u00e9 um erro, mas pode ser uma otimiza\u00e7\u00e3o. Abaixo est\u00e1 uma pr\u00e1tica recomendada que pode ser executada de tempos em tempos, ou automatizada.

Solu\u00e7\u00f5es:

  1. Verifique a lat\u00eancia para o dispositivo mais pr\u00f3ximo

    • Execute doublezero latency
  2. Determine se voc\u00ea j\u00e1 est\u00e1 conectado ao dispositivo alvo

    • Execute doublezero user list --env testnet | grep 111.11.11.11 substituindo 111.11.11.11 pelo endere\u00e7o IPv4 p\u00fablico do seu dispositivo conectado ao DoubleZero.
  3. Opcional: examine a rede para dispositivos dispon\u00edveis

    • Execute doublezero device list para uma lista completa de dispositivos.
  4. Determine se o dispositivo alvo tem uma conex\u00e3o dispon\u00edvel

    • Execute doublezero device list | grep dz-ny7-sw01 substituindo dz-ny7-sw01 pelo seu dispositivo alvo.
  5. Conecte-se ao Dispositivo DoubleZero mais pr\u00f3ximo

    Desconecte e reconecte ao DoubleZero: - doublezero disconnect - doublezero status (confirme a desconex\u00e3o) - doublezero connect ibrl

"},{"location":"pt/troubleshooting/#problema-doublezero-status-retorna-alguns-campos-com-na","title":"Problema: doublezero status retorna alguns campos com N/A","text":"

Este problema est\u00e1 geralmente relacionado a uma incompatibilidade entre o daemon e cliente atuais versus o daemon e cliente em que o t\u00fanel DZ conectado foi estabelecido.

Sintomas: - Ao executar doublezero status, o usu\u00e1rio encontra N/A em alguns campos

Solu\u00e7\u00f5es: 1. Execute doublezero status e examine a sa\u00edda.

Se `Current Device` e `Metro` s\u00e3o `N/A`, mas o status do t\u00fanel est\u00e1 `up`, isso indica que seu t\u00fanel aberto est\u00e1 em um ambiente diferente do configurado atualmente.\n
  1. Mude seu ambiente para o oposto do ambiente que retorna N/A:

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Verifique seu status ap\u00f3s mudar os ambientes:

    doublezero status\n

    Com todos os campos preenchidos, voc\u00ea est\u00e1 agora no ambiente correto.

"},{"location":"es/","title":"Bienvenido a DoubleZero","text":"

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 es un protocolo y red descentralizada de alto rendimiento, optimizado para sistemas distribuidos como las blockchains. Los usuarios de DoubleZero disfrutan de un servicio integrado para la transmisi\u00f3n y preprocesamiento altamente optimizados de datos de sistemas distribuidos.

"},{"location":"es/#para-quien-es-doublezero","title":"\u00bfPara qui\u00e9n es DoubleZero?","text":""},{"location":"es/#contribuidores","title":"Contribuidores","text":"

Los contribuidores de DoubleZero disponen de capacidad de red en forma de enlaces de fibra privada y hardware subutilizados (por ejemplo, switches y dispositivos FPGA). Configurar estos recursos para extender la red DoubleZero crea un servicio de informaci\u00f3n integrado. Usando el protocolo DZ, los contribuidores de red unen esta capacidad en una malla global din\u00e1mica y expansiva, y reciben incentivos en tokens por su contribuci\u00f3n.

"},{"location":"es/#usuarios","title":"Usuarios","text":"

Los usuarios de DoubleZero participan en sistemas distribuidos, como blockchains, que requieren conectividad de red de alto rendimiento. Al interconectar un sistema blockchain con DoubleZero, los usuarios obtienen un conjunto de funciones de optimizaci\u00f3n para acelerar su E/S de red.

En su implementaci\u00f3n inicial, la red DoubleZero es compatible con clientes validadores de blockchain, as\u00ed como con proveedores de infraestructura RPC y MEV. Estos sistemas de usuario pasan por un control de admisi\u00f3n que verifica sus direcciones de clave p\u00fablica \u00fanicas en sus respectivos ledgers antes de permitirles el acceso a la red. A medida que la red evolucione para incluir sistemas de usuario de otros ecosistemas, se a\u00f1adir\u00e1n estrategias adicionales de identificaci\u00f3n y autenticaci\u00f3n adaptadas a cada comunidad de proyecto.

"},{"location":"es/#beneficios","title":"Beneficios","text":"

La \u00fanica alternativa a DoubleZero es la internet p\u00fablica. En comparaci\u00f3n con la internet p\u00fablica, la red DoubleZero ofrece dos mejoras para las blockchains.

Primero, las transacciones entrantes pueden ser filtradas en el borde de forma no discrecional a nivel del hardware del contribuidor de red (es decir, eliminaci\u00f3n de spam y duplicados) antes de enviarse a los usuarios (por ejemplo, nodos blockchain) de la red DoubleZero. Esto permite que las blockchains se beneficien de recursos de filtrado compartidos a nivel del sistema, en lugar de que cada validador individual tenga que aprovisionar recursos suficientes. Como resultado, los validadores pueden reasignar sus recursos hacia actividades que generen ingresos directamente. Esta funci\u00f3n a\u00fan no est\u00e1 disponible.

Segundo, los mensajes salientes se enrutan de forma m\u00e1s directa y se priorizan para mejorar la eficiencia. Esto es posible ya que en DoubleZero la l\u00f3gica de enrutamiento del movimiento global de datos est\u00e1 optimizada para la velocidad, a diferencia de la internet p\u00fablica. As\u00ed, los validadores se benefician de un menor jitter, definido como la cantidad de variaci\u00f3n en la latencia entre dos extremos de un cable de datos. En esencia, los nodos blockchain pueden enviar y recibir bloques m\u00e1s r\u00e1pidamente.

En conjunto, estos beneficios de la red DoubleZero pueden alcanzar niveles de rendimiento que de otro modo ser\u00edan inalcanzables a trav\u00e9s de la internet p\u00fablica.

Para m\u00e1s detalles, consulte el whitepaper del Protocolo DoubleZero.

"},{"location":"es/#proximos-pasos","title":"Pr\u00f3ximos Pasos","text":""},{"location":"es/DZ%20Mainnet-beta%20Connection/","title":"Conexi\u00f3n de Validador a Mainnet-Beta en modo IBRL","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#conectando-a-mainnet-beta-en-modo-ibrl","title":"Conectando a Mainnet-Beta en modo IBRL","text":"

Note

El modo IBRL no requiere reiniciar los clientes de validadores, ya que usa su direcci\u00f3n IP p\u00fablica existente.

Los Validadores Mainnet de Solana completar\u00e1n la conexi\u00f3n a DoubleZero Mainnet-beta, que se detalla en esta p\u00e1gina.

Cada validador Solana tiene su propio keypair de identidad; de \u00e9l se extrae la clave p\u00fablica conocida como el node ID. Esta es la huella digital \u00fanica del validador en la red Solana.

Con el DoubleZeroID y el node ID identificados, demostrar\u00e1 la propiedad de su m\u00e1quina. Esto se hace creando un mensaje que incluye el DoubleZeroID firmado con la clave de identidad del validador. La firma criptogr\u00e1fica resultante sirve como prueba verificable de que controla el validador.

Finalmente, enviar\u00e1 una solicitud de conexi\u00f3n a DoubleZero. Esta solicitud comunica: \"Aqu\u00ed est\u00e1 mi identidad, aqu\u00ed est\u00e1 la prueba de propiedad y aqu\u00ed est\u00e1 c\u00f3mo pretendo conectarme.\" DoubleZero valida esta informaci\u00f3n, acepta la prueba y provisiona acceso a la red para el validador en DoubleZero.

Esta gu\u00eda permite que 1 Validador Primario se registre a s\u00ed mismo, y hasta 3 m\u00e1quinas de respaldo/failover al mismo tiempo.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#requisitos-previos","title":"Requisitos Previos","text":"

Info

El ID del Validador se verificar\u00e1 contra el gossip de Solana para determinar la IP objetivo. La IP objetivo y el ID DoubleZero se utilizar\u00e1n luego para abrir un t\u00fanel GRE entre su m\u00e1quina y el Dispositivo DoubleZero objetivo.

Considere: En el caso en que tenga un ID junk y un ID Primario en la misma IP, solo el ID Primario se usar\u00e1 en el registro de la m\u00e1quina. Esto se debe a que el ID junk no aparecer\u00e1 en el gossip y, por lo tanto, no puede usarse para verificar la IP de la m\u00e1quina objetivo.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero mainnet-beta:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Deber\u00eda ver la siguiente salida: \u2705 doublezerod configured for environment mainnet-beta

Despu\u00e9s de aproximadamente 30 segundos ver\u00e1 los dispositivos DoubleZero disponibles:

doublezero latency\n
"},{"location":"es/DZ%20Mainnet-beta%20Connection/#2-abrir-el-puerto-44880","title":"2. Abrir el puerto 44880","text":"

Los usuarios necesitan abrir el puerto 44880 para utilizar algunas funciones de enrutamiento.

Para abrir el puerto 44880 puede actualizar IP tables de la siguiente manera:

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

note los flags -i doublezero0, -o doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

O UFW de la siguiente manera:

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

note los flags in on doublezero0, out on doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#3-atestar-la-propiedad-del-validador","title":"3. Atestar la Propiedad del Validador","text":"

Con su Entorno DoubleZero configurado, es hora de atestar la Propiedad de su Validador.

El ID DoubleZero que cre\u00f3 en la configuraci\u00f3n de su validador primario debe usarse en todas las m\u00e1quinas de respaldo.

El ID en su m\u00e1quina primaria se puede encontrar con doublezero address. El mismo ID debe estar en ~/.config/doublezero/id.json en todas las m\u00e1quinas del cl\u00faster.

Para lograr esto, primero verificar\u00e1 que la m\u00e1quina desde la que ejecuta los comandos sea su Validador Primario con:

doublezero-solana passport find-validator -u mainnet-beta\n

Esto verifica que el validador est\u00e9 registrado en el gossip y aparezca en el cronograma de l\u00edderes.

Salida esperada:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

El mismo flujo de trabajo se usa para una o muchas m\u00e1quinas. Para registrar una m\u00e1quina, excluya los argumentos \"--backup-validator-ids\" o \"backup_ids=\" de cualquier comando en esta p\u00e1gina.

Ahora, en todas las m\u00e1quinas de respaldo en las que planea ejecutar su Validador Primario, ejecute lo siguiente:

doublezero-solana passport find-validator -u mainnet-beta\n

Esta salida es esperada. El nodo de respaldo no puede estar en el cronograma de l\u00edderes en el momento de la creaci\u00f3n del pase.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#preparar-la-conexion","title":"Preparar la Conexi\u00f3n","text":"

Ejecute el siguiente comando en la m\u00e1quina del Validador Primario. Esta es la m\u00e1quina en la que tiene stake activo, que est\u00e1 en el cronograma de l\u00edderes con su ID de validador primario en el gossip de Solana en la m\u00e1quina desde la que ejecuta el comando:

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

Note la salida al final de este comando. Es la estructura para el siguiente paso.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#4-generar-firma","title":"4. Generar Firma","text":"

Al final del \u00faltimo paso, recibimos una salida preformateada para solana sign-offchain-message.

Desde la salida anterior ejecutaremos este comando en la m\u00e1quina del Validador Primario.

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

Salida:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"es/DZ%20Mainnet-beta%20Connection/#5-iniciar-una-solicitud-de-conexion-en-doublezero","title":"5. Iniciar una Solicitud de Conexi\u00f3n en DoubleZero","text":"

Use el comando request-validator-access para crear una cuenta en Solana para la solicitud de conexi\u00f3n. El agente Sentinel de DoubleZero detecta la nueva cuenta, valida su identidad y firma, y crea el pase de acceso en DoubleZero para que el servidor pueda establecer una conexi\u00f3n.

Use el node ID, el DoubleZeroID y la firma.

Note

En este ejemplo usamos -k /home/user/.config/solana/id.json para encontrar la Identidad del validador. Use la ubicaci\u00f3n apropiada para su despliegue local.

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

Salida:

Esta salida puede usarse para ver la transacci\u00f3n en un explorador Solana. Aseg\u00farese de cambiar el explorador a mainnet. Esta verificaci\u00f3n es opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Si tiene \u00e9xito, DoubleZero registrar\u00e1 el primario con sus respaldos. Ahora puede hacer failover entre las IPs registradas en el pase de acceso. DoubleZero mantendr\u00e1 la conectividad autom\u00e1ticamente al cambiar a nodos de respaldo registrados de esta manera.

"},{"location":"es/DZ%20Mainnet-beta%20Connection/#6-conectarse-en-modo-ibrl","title":"6. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel GRE termine de configurarse. Hasta que el t\u00fanel GRE est\u00e9 configurado, su salida de estado puede devolver \"down\" o \"Unknown\".

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Note

Examine esta salida. Note que Tunnel src y DoubleZero IP coinciden con la direcci\u00f3n IPv4 p\u00fablica de su m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
"},{"location":"es/DZ%20Mainnet-beta%20Connection/#siguiente-paso-publicar-shreds-mediante-multicast","title":"Siguiente Paso: Publicar Shreds mediante Multicast","text":"

Si ha completado esta configuraci\u00f3n y planea publicar shreds mediante multicast, contin\u00fae a la siguiente p\u00e1gina.

"},{"location":"es/DZ%20Testnet%20Connection/","title":"Conexi\u00f3n de Validador a Testnet en modo IBRL","text":"

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.

Al conectarme a DoubleZero testnet acepto los t\u00e9rminos del Acuerdo de Evaluaci\u00f3n establecido aqu\u00ed (haga clic para expandir)

DoubleZero Testnet Acuerdo de Evaluaci\u00f3n

Al acceder o usar la Soluci\u00f3n (definida a continuaci\u00f3n), usted acepta a partir de la primera fecha de dicho acceso (la \"Fecha de Vigencia\") que este Acuerdo de Evaluaci\u00f3n (el \"Acuerdo\") establece los t\u00e9rminos y condiciones bajo los cuales la Fundaci\u00f3n DoubleZero (\"DZF\") le proporcionar\u00e1 acceso a la Soluci\u00f3n en base de evaluaci\u00f3n. En consideraci\u00f3n de las promesas mutuas aqu\u00ed contenidas, usted acepta lo siguiente:

1. DEFINICIONES.

1.1 \"Informaci\u00f3n Confidencial\" significa cualquier y toda la informaci\u00f3n divulgada por cualquiera de las partes a la otra que est\u00e9 designada como confidencial, o que de otra manera deba entenderse como confidencial, incluyendo pero no limitado a, la Soluci\u00f3n, planes de productos, planes de negocios, secretos comerciales, tecnolog\u00eda, u otra informaci\u00f3n propietaria.

1.2 \"Soluci\u00f3n\" significa la versi\u00f3n testnet de la infraestructura de red de alto rendimiento de DoubleZero para proyectos web3 (\"Testnet\") y el servicio de filtrado de borde integrado con ancho de banda (\"Servicio de Informaci\u00f3n\") el Software DZ (definido a continuaci\u00f3n), todos y cada uno de los materiales proporcionados por DZF en relaci\u00f3n con el Software DZ (\"Documentaci\u00f3n\"), y otros materiales que DZF proporciona al Usuario en virtud del presente.

2. ACCESO.

2.1 Acceso a la Soluci\u00f3n. Sujeto a los t\u00e9rminos y condiciones de este Acuerdo, DZF proporcionar\u00e1 al Usuario acceso a la Soluci\u00f3n a trav\u00e9s de Internet. El acceso del Usuario es un uso no exclusivo, no transferible y limitado de la Soluci\u00f3n para permitir al Usuario evaluar el Servicio de Informaci\u00f3n \u00fanicamente. Con respecto a cualquier software que comprenda la Soluci\u00f3n (\"Software DZ\"), DZF otorga al Usuario una licencia limitada y revocable, durante el Per\u00edodo de Evaluaci\u00f3n, para copiar, descargar, hacer un n\u00famero razonable de copias, ejecutar y desplegar (seg\u00fan corresponda) dicho Software DZ \u00fanicamente seg\u00fan lo contemplado en la Documentaci\u00f3n.

2.2 Restricciones. El Usuario puede usar la Soluci\u00f3n de acuerdo con este Acuerdo desde la Fecha de Vigencia hasta que DZF lo termine (el \"Per\u00edodo de Evaluaci\u00f3n\"). El Usuario entiende que cualquier derecho a usar la Soluci\u00f3n m\u00e1s all\u00e1 del Per\u00edodo de Evaluaci\u00f3n estar\u00e1 sujeto a un acuerdo comercial separado entre las partes al respecto, incluyendo el pago de tarifas. El Usuario no deber\u00e1, y no permitir\u00e1 que ning\u00fan tercero: (i) modifique o cree obras derivadas basadas en la Soluci\u00f3n o cualquier parte de ella; (ii) reproduzca la Soluci\u00f3n excepto seg\u00fan lo permitido expresamente por este Acuerdo; (iii) sublicencie, distribuya, venda, preste, arriende, transfiera o conceda cualquier derecho sobre toda o cualquier parte de la Soluci\u00f3n o proporcione acceso a la Soluci\u00f3n a terceros, ya sea mediante servicios o de otra manera, excepto como oferta de los Servicios de Informaci\u00f3n a trav\u00e9s de o en conexi\u00f3n con la plataforma o producto del Usuario y no de forma independiente; o (iv) use la Soluci\u00f3n de otra forma que no sea la prevista en el presente.

2.3 Propiedad. DZF conserva todos los derechos, t\u00edtulos e intereses, incluidos los derechos de propiedad intelectual, sobre la Soluci\u00f3n.

3 COMENTARIOS. DZF puede solicitar peri\u00f3dicamente que el Usuario proporcione, y el Usuario acepta proporcionar a DZF, comentarios sobre el uso, operaci\u00f3n y funcionalidad de la Soluci\u00f3n (\"Comentarios\"). El Usuario otorga a DZF un derecho y licencia no exclusivos, mundiales, perpetuos, irrevocables, libres de regal\u00edas, totalmente pagados, completamente sublicenciables y transferibles para usar e incorporar los Comentarios en cualquier producto y servicio, para fabricar, usar, vender, ofrecer en venta, importar y explotar de otra manera dichos productos y servicios, y para usar, copiar, distribuir y explotar de otra manera los Comentarios sin restricci\u00f3n.

4. PLAZO Y RESCISI\u00d3N.

4.1 Plazo. Este Acuerdo comenzar\u00e1 a partir de la Fecha de Vigencia y permanecer\u00e1 en pleno vigor y efecto durante el Per\u00edodo de Evaluaci\u00f3n. Cualquiera de las partes puede rescindir este Acuerdo de inmediato por conveniencia, por cualquier raz\u00f3n o sin raz\u00f3n alguna, mediante notificaci\u00f3n escrita a la otra parte (el correo electr\u00f3nico ser\u00e1 suficiente).

4.1 Efectos de la Rescisi\u00f3n. Al momento de la rescisi\u00f3n de este Acuerdo por cualquier raz\u00f3n: (i) los derechos otorgados al Usuario en el presente terminar\u00e1n de inmediato; (ii) el Usuario deber\u00e1 cesar de inmediato cualquier uso de la Soluci\u00f3n y deber\u00e1 devolver o destruir toda la Documentaci\u00f3n y cualquier Software DZ bajo su control; (iii) cada parte devolver\u00e1 o destruir\u00e1 de inmediato toda la Informaci\u00f3n Confidencial y propiedad de la otra parte; y (iv) las Secciones 2.2, 2.3, 3, 4.2 y 5 a 8 sobrevivir\u00e1n.

5. CONFIDENCIALIDAD. Cada parte acepta que usar\u00e1 la Informaci\u00f3n Confidencial de la otra parte \u00fanicamente para cumplir con sus obligaciones y ejercer sus derechos bajo este Acuerdo y no divulgar\u00e1, ni permitir\u00e1 que se divulgue, la misma, excepto seg\u00fan se permita de otra manera en el presente. Sin embargo, cualquiera de las partes puede divulgar Informaci\u00f3n Confidencial a su personal, abogados y otros representantes que tengan necesidad de conocerla y est\u00e9n sujetos a obligaciones de confidencialidad no menos protectoras que las establecidas en este Acuerdo; y seg\u00fan lo requiera la ley (en cuyo caso la parte receptora proporcionar\u00e1 a la parte divulgadora notificaci\u00f3n previa al respecto y oportunidad de impugnar dicha divulgaci\u00f3n, y minimizar\u00e1 dicha divulgaci\u00f3n en la medida permitida por la ley aplicable). Las obligaciones de confidencialidad en esta Secci\u00f3n 5 no se aplicar\u00e1n a la informaci\u00f3n que: (a) sea o se vuelva generalmente conocida o est\u00e9 disponible p\u00fablicamente sin culpa de la parte receptora; (b) era conocida apropiadamente por la parte receptora, sin restricci\u00f3n, antes de la divulgaci\u00f3n por la parte divulgadora; (c) fue apropiadamente divulgada a la parte receptora, sin restricci\u00f3n, por otra persona con la autoridad legal para hacerlo; o (d) es desarrollada de forma independiente por la parte receptora sin uso de ni referencia a la Informaci\u00f3n Confidencial de la parte divulgadora.

6. DESCARGO DE GARANT\u00cdAS; LIMITACI\u00d3N DE RESPONSABILIDAD.

6.1 DESCARGO DE GARANT\u00cdAS. LA SOLUCI\u00d3N SE PROPORCIONA \"TAL CUAL\" SIN GARANT\u00cdA DE NING\u00daN TIPO. DZF NO OFRECE GARANT\u00cdAS, YA SEAN EXPRESAS, IMPL\u00cdCITAS, ESTATUTARIAS O DE OTRO TIPO CON RESPECTO A LA SOLUCI\u00d3N Y LA DOCUMENTACI\u00d3N, INCLUYENDO SU CONDICI\u00d3N, CONFORMIDAD CON CUALQUIER REPRESENTACI\u00d3N O DESCRIPCI\u00d3N, Y DZF RECHAZA ESPEC\u00cdFICAMENTE TODAS LAS GARANT\u00cdAS IMPL\u00cdCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROP\u00d3SITO PARTICULAR, T\u00cdTULO Y NO INFRACCI\u00d3N.

6.2 LIMITACI\u00d3N DE RESPONSABILIDAD. EXCEPTO POR UNA VIOLACI\u00d3N DE LAS SECCIONES 2.1, 2.2 Y 5, EN NING\u00daN CASO NINGUNA DE LAS PARTES SER\u00c1 RESPONSABLE ANTE LA OTRA POR DA\u00d1OS INDIRECTOS, INCIDENTALES, ESPECIALES U OTROS DA\u00d1OS CONSECUENTES, INCLUYENDO SIN LIMITACI\u00d3N DA\u00d1OS POR P\u00c9RDIDA DE GANANCIAS O USO O P\u00c9RDIDA DE DATOS, INCURRIDOS POR USTED O CUALQUIER TERCERO, QUE SURJAN DE O EST\u00c9N RELACIONADOS CON ESTE ACUERDO, YA SEA EN UNA ACCI\u00d3N CONTRACTUAL, POR AGRAVIO O DE OTRO MODO, INCLUSO SI LA OTRA PARTE HA SIDO ADVERTIDA DE LA POSIBILIDAD DE DICHOS DA\u00d1OS. EN NING\u00daN CASO LA RESPONSABILIDAD AGREGADA DE DZF QUE SURJA DE O EST\u00c9 RELACIONADA CON ESTE ACUERDO EXCEDER\u00c1 CIEN D\u00d3LARES ($100), YA SEA EN UNA ACCI\u00d3N CONTRACTUAL, POR AGRAVIO O DE OTRO MODO.

7. LEY APLICABLE. Este Acuerdo y todos los asuntos que surjan de o est\u00e9n relacionados con este Acuerdo se regir\u00e1n, interpretar\u00e1n y construir\u00e1n de acuerdo con las leyes de las Islas Caim\u00e1n.

8. DISPOSICIONES GENERALES. Este Acuerdo no puede ser transferido o cedido por el Usuario sin el consentimiento previo por escrito de DZF. DZF puede ceder libremente este Acuerdo. Todos los avisos que deban enviarse en virtud del presente se enviar\u00e1n por correo electr\u00f3nico (a DZF: legal@doublezero.xyz) y se considerar\u00e1n recibidos el d\u00eda siguiente al env\u00edo (con confirmaci\u00f3n de transmisi\u00f3n).

"},{"location":"es/DZ%20Testnet%20Connection/#conexion-a-testnet-en-modo-ibrl","title":"Conexi\u00f3n a Testnet en modo IBRL","text":"

Note

El modo IBRL no requiere reiniciar los clientes de validadores, ya que usa su direcci\u00f3n IP p\u00fablica existente.

Los Validadores de Testnet de Solana completar\u00e1n la conexi\u00f3n a DoubleZero Testnet, que se detalla en esta p\u00e1gina.

Cada validador Solana tiene su propio keypair de identidad; de \u00e9l se extrae la clave p\u00fablica conocida como el node ID. Esta es la huella digital \u00fanica del validador en la red Solana.

Con el DoubleZeroID y el node ID identificados, demostrar\u00e1 la propiedad de su m\u00e1quina. Esto se hace creando un mensaje que incluye el DoubleZeroID firmado con la clave de identidad del validador. La firma criptogr\u00e1fica resultante sirve como prueba verificable de que controla el validador.

Finalmente, enviar\u00e1 una solicitud de conexi\u00f3n a DoubleZero. Esta solicitud comunica: \"Aqu\u00ed est\u00e1 mi identidad, aqu\u00ed est\u00e1 la prueba de propiedad y aqu\u00ed est\u00e1 c\u00f3mo pretendo conectarme.\" DoubleZero valida esta informaci\u00f3n, acepta la prueba y provisiona acceso a la red para el validador en DoubleZero.

Esta gu\u00eda permite que 1 Validador Primario se registre a s\u00ed mismo, y hasta 3 m\u00e1quinas de respaldo/failover al mismo tiempo.

"},{"location":"es/DZ%20Testnet%20Connection/#requisitos-previos","title":"Requisitos Previos","text":"

Info

El ID del Validador se verificar\u00e1 contra el gossip de Solana para determinar la IP objetivo. La IP objetivo y el ID DoubleZero se utilizar\u00e1n luego para abrir un t\u00fanel GRE entre su m\u00e1quina y el Dispositivo DoubleZero objetivo.

Considere: En el caso en que tenga un ID junk y un ID Primario en la misma IP, solo el ID Primario se usar\u00e1 en el registro de la m\u00e1quina. Esto se debe a que el ID junk no aparecer\u00e1 en el gossip y, por lo tanto, no puede usarse para verificar la IP de la m\u00e1quina objetivo.

"},{"location":"es/DZ%20Testnet%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Deber\u00eda ver la siguiente salida:
\u2705 doublezerod configured for environment testnet\n

Despu\u00e9s de aproximadamente 30 segundos ver\u00e1 los dispositivos DoubleZero disponibles:

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

La salida de mainnet tendr\u00e1 la misma estructura, pero con muchos m\u00e1s dispositivos disponibles.

"},{"location":"es/DZ%20Testnet%20Connection/#2-abrir-el-puerto-44880","title":"2. Abrir el puerto 44880","text":"

Los usuarios necesitan abrir el puerto 44880 para utilizar algunas funciones de enrutamiento.

Para abrir el puerto 44880 puede actualizar IP tables de la siguiente manera:

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

note los flags -i doublezero0, -o doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

O UFW de la siguiente manera:

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

note los flags in on doublezero0, out on doublezero0 que restringen esta regla \u00fanicamente a la interfaz DoubleZero

"},{"location":"es/DZ%20Testnet%20Connection/#3-atestar-la-propiedad-del-validador","title":"3. Atestar la Propiedad del Validador","text":"

Con su Entorno DoubleZero configurado, es hora de atestar la Propiedad de su Validador.

El ID DoubleZero que cre\u00f3 en la configuraci\u00f3n de su validador primario debe usarse en todas las m\u00e1quinas de respaldo.

El ID en su m\u00e1quina primaria se puede encontrar con doublezero address. El mismo ID debe estar en ~/.config/doublezero/id.json en todas las m\u00e1quinas del cl\u00faster.

Para lograr esto, primero verificar\u00e1 que la m\u00e1quina desde la que ejecuta los comandos sea su Validador Primario con:

doublezero-solana passport find-validator -ut\n

Esto verifica que el validador est\u00e9 registrado en el gossip y aparezca en el cronograma de l\u00edderes.

Salida esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

El mismo flujo de trabajo se usa para una o muchas m\u00e1quinas. Para registrar una m\u00e1quina, excluya los argumentos \"--backup-validator-ids\" o \"backup_ids=\" de cualquier comando en esta p\u00e1gina.

Ahora, en todas las m\u00e1quinas de respaldo en las que planea ejecutar su Validador Primario, ejecute lo siguiente:

doublezero-solana passport find-validator -ut\n

Salida esperada:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Esta salida es esperada. El nodo de respaldo no puede estar en el cronograma de l\u00edderes en el momento de la creaci\u00f3n del pase.

Ahora ejecutar\u00e1 este comando en todas las m\u00e1quinas de respaldo que planea usar con la cuenta de votaci\u00f3n e identidad de su Validador Primario.

"},{"location":"es/DZ%20Testnet%20Connection/#preparar-la-conexion","title":"Preparar la Conexi\u00f3n","text":"

Ejecute el siguiente comando en la m\u00e1quina del Validador Primario. Esta es la m\u00e1quina en la que tiene stake activo, que est\u00e1 en el cronograma de l\u00edderes con su ID de validador primario en el gossip de Solana en la m\u00e1quina desde la que ejecuta el comando:

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

Ejemplo de salida:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Note la salida al final de este comando. Es la estructura para el siguiente paso.

"},{"location":"es/DZ%20Testnet%20Connection/#4-generar-firma","title":"4. Generar Firma","text":"

Al final del \u00faltimo paso, recibimos una salida preformateada para solana sign-offchain-message.

Desde la salida anterior ejecutaremos este comando en la m\u00e1quina del Validador Primario.

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

Salida:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"es/DZ%20Testnet%20Connection/#5-iniciar-una-solicitud-de-conexion-en-doublezero","title":"5. Iniciar una Solicitud de Conexi\u00f3n en DoubleZero","text":"

Use el comando request-validator-access para crear una cuenta en Solana para la solicitud de conexi\u00f3n. El agente Sentinel de DoubleZero detecta la nueva cuenta, valida su identidad y firma, y crea el pase de acceso en DoubleZero para que el servidor pueda establecer una conexi\u00f3n.

Use el node ID, el DoubleZeroID y la firma.

Note

En este ejemplo usamos -k /home/user/.config/solana/id.json para encontrar la Identidad del validador. Use la ubicaci\u00f3n apropiada para su despliegue local.

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

Salida:

Esta salida puede usarse para ver la transacci\u00f3n en un explorador Solana. Aseg\u00farese de cambiar el explorador a testnet. Esta verificaci\u00f3n es opcional.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Si tiene \u00e9xito, DoubleZero registrar\u00e1 el primario con sus respaldos. Ahora puede hacer failover entre las IPs registradas en el pase de acceso. DoubleZero mantendr\u00e1 la conectividad autom\u00e1ticamente al cambiar a nodos de respaldo registrados de esta manera.

"},{"location":"es/DZ%20Testnet%20Connection/#6-conectarse-en-modo-ibrl","title":"6. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel GRE termine de configurarse. Hasta que el t\u00fanel GRE est\u00e9 configurado, su salida de estado puede devolver \"down\" o \"Unknown\".

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Note

Examine esta salida. Note que Tunnel src y DoubleZero IP coinciden con la direcci\u00f3n IPv4 p\u00fablica de su m\u00e1quina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"es/DZ%20Testnet%20Connection/#siguiente-paso-publicar-shreds-mediante-multicast","title":"Siguiente Paso: Publicar Shreds mediante Multicast","text":"

Si ha completado esta configuraci\u00f3n y planea publicar shreds mediante multicast, contin\u00fae a la siguiente p\u00e1gina.

"},{"location":"es/New%20Tenant/","title":"Nuevo Inquilino","text":"

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.

Si desea que su sistema distribuido aproveche la red DoubleZero, con gusto le ayudaremos con cualquier pregunta t\u00e9cnica que tenga.

Formulario de Contacto

"},{"location":"es/Other%20Multicast%20Connection/","title":"Otras Conexiones Multicast","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

Caso de Uso Primer Paso Cuando se apruebe, con\u00e9ctese mediante: Suscribirse a Jito Shredstream Contacte a Jito para obtener aprobaci\u00f3n. doublezero connect multicast --subscribe jito-shredstream

Informaci\u00f3n de conexi\u00f3n detallada:

"},{"location":"es/Other%20Multicast%20Connection/#1-instalacion-del-cliente-doublezero","title":"1. Instalaci\u00f3n del Cliente DoubleZero","text":"

Siga las instrucciones de configuraci\u00f3n para instalar y configurar el cliente DoubleZero.

"},{"location":"es/Other%20Multicast%20Connection/#2-instrucciones-de-conexion","title":"2. Instrucciones de Conexi\u00f3n","text":"

Con\u00e9ctese a DoubleZero en modo Multicast

Como publicador:

doublezero connect multicast --publish <nombre del feed>

o como suscriptor:

doublezero connect multicast --subscribe <nombre del feed>

o para publicar y suscribirse:

doublezero connect multicast --publish <nombre del feed> --subscribe <nombre del feed>

Para publicar o suscribirse a m\u00faltiples feeds puede incluir m\u00faltiples nombres de feed separados por espacios. Esto tambi\u00e9n se puede usar para publicar y suscribirse a feeds de publicaci\u00f3n. Por ejemplo: doublezero connect multicast --subscribe feed1 feed2 feed3

Deber\u00eda ver una salida similar a la siguiente:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"es/Other%20Multicast%20Connection/#3-verifique-su-conexion-multicast-activa","title":"3. Verifique su conexi\u00f3n multicast activa.","text":"

Espere 60 segundos y luego ejecute:

doublezero status\n
Resultado esperado: - Sesi\u00f3n BGP activa en la red DoubleZero correcta - Si es publicador, su IP DoubleZero ser\u00e1 diferente a su IP Tunnel Src. Esto es esperado. - Si solo es suscriptor, su IP DoubleZero ser\u00e1 igual a su IP Tunnel Src.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verifique los grupos a los que est\u00e1 conectado:

doublezero user list --client-ip <su ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"es/Permissioned%20Connection/","title":"Conexi\u00f3n con Permisos a DoubleZero en modo IBRL para no validadores","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/Permissioned%20Connection/#descripcion-general-del-proceso-de-incorporacion-con-permisos","title":"Descripci\u00f3n General del Proceso de Incorporaci\u00f3n con Permisos","text":"

La incorporaci\u00f3n de usuarios est\u00e1 actualmente sujeta a permisos para no validadores y RPCs. Para iniciar el proceso con permisos, complete este formulario. Esto es lo que puede esperar durante este proceso:

"},{"location":"es/Permissioned%20Connection/#conexion-a-mainnet-beta-y-testnet-en-modo-ibrl","title":"Conexi\u00f3n a Mainnet-Beta y Testnet en modo IBRL","text":"

Note

El modo IBRL no requiere reiniciar los clientes de validadores, ya que usa su direcci\u00f3n IP p\u00fablica existente.

Los Usuarios con Permisos completar\u00e1n la conexi\u00f3n a DoubleZero Mainnet-beta, que se detalla en esta p\u00e1gina.

"},{"location":"es/Permissioned%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero testnet:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Para configurar el CLI DoubleZero (doublezero) y el daemon (doublezerod) para conectarse a DoubleZero mainnet-beta:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Deber\u00eda ver la siguiente salida:

\u2705 doublezerod configured for environment mainnet-beta\n

Despu\u00e9s de aproximadamente 30 segundos ver\u00e1 los dispositivos DoubleZero disponibles:

doublezero latency\n
"},{"location":"es/Permissioned%20Connection/#2-contactar-a-la-fundacion-doublezero","title":"2. Contactar a la Fundaci\u00f3n DoubleZero","text":"

La Fundaci\u00f3n DoubleZero. Deber\u00e1 proporcionar su DoubleZeroID, su ID de Validador (node ID) y la direcci\u00f3n IPv4 p\u00fablica desde la que se conectar\u00e1.

"},{"location":"es/Permissioned%20Connection/#3-conectarse-en-modo-ibrl","title":"3. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel se complete. Hasta que el t\u00fanel est\u00e9 completado, su salida de estado puede devolver \"down\" o \"Unknown\"

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
Salida:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"es/Permissioned%20Connection/#siguiente-paso-multicast","title":"Siguiente Paso: Multicast","text":"

Si ha completado esta configuraci\u00f3n y planea usar Multicast, contin\u00fae a la siguiente p\u00e1gina.

"},{"location":"es/Shelby%20Permissioned%20Connection/","title":"Conexi\u00f3n a DoubleZero en modo IBRL para usuarios de Shelby Testnet","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/Shelby%20Permissioned%20Connection/#obtenga-su-doublezeroid","title":"Obtenga su DoubleZeroID","text":"

Deber\u00e1 proporcionar su DoubleZeroID y la direcci\u00f3n IPv4 p\u00fablica en este formulario

"},{"location":"es/Shelby%20Permissioned%20Connection/#conexion-a-testnet-en-modo-ibrl","title":"Conexi\u00f3n a Testnet en modo IBRL","text":"

Los usuarios con permisos de Shelby completar\u00e1n la conexi\u00f3n a DoubleZero Testnet, que se detalla en esta p\u00e1gina.

"},{"location":"es/Shelby%20Permissioned%20Connection/#1-configuracion-del-entorno","title":"1. Configuraci\u00f3n del Entorno","text":"

Siga las instrucciones de configuraci\u00f3n antes de continuar.

El \u00faltimo paso en la configuraci\u00f3n fue desconectarse de la red. Esto es para asegurar que solo un t\u00fanel est\u00e9 abierto en su m\u00e1quina hacia DoubleZero, y que ese t\u00fanel est\u00e9 en la red correcta.

Para configurar el CLI DoubleZero (doublezero) para conectarse al inquilino Shelby en DoubleZero:

doublezero config set --tenant shelby\n

Aplique reglas de firewall adicionales espec\u00edficas de Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"es/Shelby%20Permissioned%20Connection/#2-contactar-a-la-fundacion-doublezero","title":"2. Contactar a la Fundaci\u00f3n DoubleZero","text":"

La Fundaci\u00f3n DoubleZero. Deber\u00e1 proporcionar su DoubleZeroID y la direcci\u00f3n IPv4 p\u00fablica desde la que se conectar\u00e1.

"},{"location":"es/Shelby%20Permissioned%20Connection/#3-conectarse-en-modo-ibrl","title":"3. Conectarse en modo IBRL","text":"

En el servidor, con el usuario que se conectar\u00e1 a DoubleZero, ejecute el comando connect para establecer la conexi\u00f3n a DoubleZero.

doublezero connect ibrl\n

Deber\u00eda ver una salida que indique el aprovisionamiento, como:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Espere un minuto para que el t\u00fanel se complete. Hasta que el t\u00fanel est\u00e9 completado, su salida de estado puede devolver \"down\" o \"Unknown\"

Verifique su conexi\u00f3n:

doublezero status\n

Salida:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un estado de up significa que est\u00e1 conectado correctamente.

Podr\u00e1 ver las rutas propagadas por otros usuarios en DoubleZero ejecutando:

ip route\n
Salida:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"es/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Revise el Descargo de Responsabilidad antes de acceder o usar el c\u00f3digo o cualquier material relacionado.

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.

Descargo de Responsabilidad

Este documento y el c\u00f3digo asociado se proporcionan \u00fanicamente con fines informativos y t\u00e9cnicos. La funcionalidad de conversi\u00f3n de tokens descrita aqu\u00ed es sin custodia: los usuarios interact\u00faan directamente con los contratos inteligentes subyacentes y retienen el control total de sus activos en todo momento.

El sistema puede depender de o interactuar con c\u00f3digo, fuentes de datos o mecanismos de precios y tarifas de terceros (por ejemplo, contratos inteligentes, APIs o exchanges descentralizados) que no son desarrollados, controlados ni revisados por los desarrolladores o publicadores. No se hace ninguna declaraci\u00f3n o garant\u00eda sobre la precisi\u00f3n, funcionalidad o seguridad de ning\u00fan componente de terceros. Los desarrolladores y publicadores de este c\u00f3digo no garantizan su exactitud, integridad o disponibilidad continua. El c\u00f3digo y los materiales relacionados se proporcionan \"tal cual\" y pueden contener errores, bugs o vulnerabilidades. El uso es completamente bajo su propio riesgo. Los desarrolladores y publicadores no reciben ninguna tarifa en conexi\u00f3n con el uso de estos contratos. No tienen ninguna obligaci\u00f3n de mantener, actualizar o apoyar el c\u00f3digo o la documentaci\u00f3n relacionada.

Este documento no constituye una oferta de venta, una solicitud de compra ni una recomendaci\u00f3n para participar en ninguna conversi\u00f3n de tokens, swap u otra transacci\u00f3n. No se proporciona asesoramiento legal, financiero ni de inversi\u00f3n. Los usuarios son los \u00fanicos responsables de determinar la legalidad de sus actividades. Deben revisar las leyes y regulaciones aplicables en su jurisdicci\u00f3n y consultar asesores independientes antes de usar el c\u00f3digo o participar en cualquier conversi\u00f3n. El uso est\u00e1 prohibido donde sea ilegal, incluso por personas o entidades sujetas a sanciones o en jurisdicciones restringidas.

En la medida m\u00e1xima permitida por la ley, los desarrolladores y publicadores rechazan toda responsabilidad por cualquier p\u00e9rdida, da\u00f1o o reclamaci\u00f3n que surja de o en relaci\u00f3n con el uso del c\u00f3digo o la participaci\u00f3n en la conversi\u00f3n.

La revisi\u00f3n y el uso de este documento y el c\u00f3digo asociado est\u00e1n sujetos a los T\u00e9rminos y Condiciones del Sitio Web y los T\u00e9rminos y Condiciones del Protocolo.

El protocolo DoubleZero recauda ingresos denominados en SOL de sus validadores usuarios, pero distribuye recompensas denominadas en 2Z a los contribuidores. Por lo tanto, debe convertir SOL en 2Z.

Para hacerlo, los participantes elegibles pueden operar contra un contrato de swap de DoubleZero, comprando SOL del contrato y vendi\u00e9ndolo a 2Z. Los precios se basan en feeds de precios de Pyth con un mecanismo de descuento program\u00e1tico.

Esta breve gu\u00eda explica c\u00f3mo usar el programa.

Revise el Descargo de Responsabilidad al final de este documento antes de acceder o usar el c\u00f3digo o cualquier material relacionado.

"},{"location":"es/Swapping-sol-to-2z/#diseno-del-programa","title":"Dise\u00f1o del Programa","text":"

El programa de swap es efectivamente un pool de liquidez unilateral que vende SOL en un tama\u00f1o de lote fijo de 1 SOL por operaci\u00f3n. Cualquier participante elegible puede retirar SOL del programa depositando 2Z, a un precio determinado por un precio de or\u00e1culo de Pyth y un descuento din\u00e1mico. Con el tiempo, esto ejecuta el objetivo del programa de convertir tokens nativos en 2Z.

Para utilizarlo, un trader debe proporcionar dos precios recientes de Pyth (SOL/USD y 2Z/USD) y una cantidad de 2Z. Luego el programa calcula el 2Z necesario para comprar ese 1 SOL bas\u00e1ndose en el precio impl\u00edcito SOL/2Z. Luego realiza algunos pasos adicionales:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

En este punto, si el trader ha proporcionado suficiente 2Z para ejecutar la transacci\u00f3n a este precio calculado (incluyendo el descuento), se ejecuta a este precio calculado. Devuelve al trader la cantidad de SOL comprada y cualquier 2Z excedente.

Luego el contrato no permite m\u00e1s operaciones para ese slot. Esto es para evitar que el contrato pague un slippage excesivamente alto si el precio de Pyth est\u00e1 muy lejos del precio real en un momento dado de maneras que los filtros existentes no detectan.

"},{"location":"es/Swapping-sol-to-2z/#ejecucion-atomica-sin-gas","title":"Ejecuci\u00f3n At\u00f3mica Sin Gas","text":"

Esta secci\u00f3n detallar\u00e1 c\u00f3mo usar el comando harvest-dz. Este comando realizar\u00e1 at\u00f3micamente 2 acciones. 1. El comando solicita una cotizaci\u00f3n de Jupiter frente al programa de conversi\u00f3n nativo SOL <> 2Z. 2. Cuando la ruta de Jupiter produce m\u00e1s 2Z por SOL de lo que requiere el programa de conversi\u00f3n nativo, harvest-2z ejecuta un swap, devolviendo a su billetera 1 SOL m\u00e1s la diferencia en 2Z.

"},{"location":"es/Swapping-sol-to-2z/#cosechar-2z","title":"Cosechar 2Z","text":"

Para ejecutar, ejecute lo siguiente:

doublezero-solana revenue-distribution harvest-2z\n
La salida se parecer\u00e1 a:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
El comando tambi\u00e9n puede simularse con el argumento --dry-run. La ejecuci\u00f3n en seco producir\u00e1 logs del programa y una salida que se asemejar\u00e1 a:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"es/Swapping-sol-to-2z/#conversion-de-protocolo","title":"Conversi\u00f3n de Protocolo","text":"

Esta secci\u00f3n analiza la verificaci\u00f3n de las tasas de conversi\u00f3n y la ejecuci\u00f3n de la conversi\u00f3n usando el CLI doublezero-solana. Y al final, analizamos la interfaz para integraciones personalizadas con el contrato de swap de DoubleZero.

"},{"location":"es/Swapping-sol-to-2z/#como-verificar-el-precio-de-conversion-sol2z-a-traves-de-doublezero-solana","title":"C\u00f3mo verificar el precio de conversi\u00f3n SOL/2Z a trav\u00e9s de doublezero-solana","text":"

Para encontrar las tasas de conversi\u00f3n SOL/2Z en mainnet-beta, ejecute el siguiente comando:

doublezero-solana revenue-distribution fetch sol-conversion\n

Y la salida que ver\u00eda se parecer\u00e1 a:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

El Saldo del Diario informa al usuario cu\u00e1nta liquidez SOL hay en el contrato inteligente de Distribuci\u00f3n de Ingresos. Un usuario puede operar siempre que el Saldo del Diario supere el tama\u00f1o de operaci\u00f3n fijo de 1 SOL.

La primera fila muestra el precio de conversi\u00f3n SOL/2Z \"verdadero\" a trav\u00e9s de un or\u00e1culo offchain. La segunda fila es el precio de conversi\u00f3n utilizado en cadena para el swap, que simplemente ajusta el precio verdadero por el descuento algor\u00edtmico.

"},{"location":"es/Swapping-sol-to-2z/#como-convertir-su-2z-a-sol-a-traves-de-doublezero-solana","title":"C\u00f3mo convertir su 2Z a SOL a trav\u00e9s de doublezero-solana","text":"

Para convertir sus tokens 2Z a SOL, ejecute el siguiente comando:

doublezero-solana revenue-distribution convert-2z\n

Por defecto, si hay suficiente liquidez de SOL y su ATA tiene suficiente 2Z para realizar el swap, esta transacci\u00f3n tendr\u00e1 \u00e9xito. Puede ajustar m\u00e1s finamente el swap especificando los siguientes argumentos:

      --limit-price <DECIMAL>                    El precio l\u00edmite por defecto es el precio de or\u00e1culo actual SOL/2Z\n      --source-2z-account <PUBKEY>               La cuenta de tokens debe ser propiedad del firmante. Por defecto es el ATA del firmante si no se especifica\n      --checked-sol-amount <SOL>                 Verificar expl\u00edcitamente la cantidad de SOL. Cuando se especifica, esta cantidad se verificar\u00e1 contra la cantidad de relleno fija\n

El precio l\u00edmite especificado determina el precio en el peor caso que est\u00e1 dispuesto a aceptar al realizar la conversi\u00f3n SOL/2Z. Por ejemplo, supongamos que el precio descontado de 2Z para SOL es 800, lo que significa 800 tokens 2Z por 1 SOL. Si especifica un precio l\u00edmite de 790, no est\u00e1 dispuesto a realizar el swap porque est\u00e1 requiriendo intercambiar como m\u00e1ximo 790 tokens 2Z por 1 SOL. Pero si especifica 810, la operaci\u00f3n se realizar\u00e1 porque estaba dispuesto a intercambiar como m\u00e1ximo 810 tokens 2Z (y en este caso, solo habr\u00e1 intercambiado 800 tokens 2Z en esta transacci\u00f3n).

La cuenta de tokens 2Z de origen reemplaza el ATA por defecto usando el firmante como propietario de este ATA de 2Z. Pero si tiene otra cuenta de tokens que desea usar para realizar el swap, proporcione la pubkey con este argumento.

Opcionalmente, puede especificar la cantidad de SOL verificada al tama\u00f1o de relleno est\u00e1ndar (establecido en 1 SOL al lanzamiento). Si no coincide con el tama\u00f1o de relleno del programa, el swap falla. Esto mitiga el riesgo de que el tama\u00f1o de relleno del programa cambie y usted no lo note.

"},{"location":"es/Swapping-sol-to-2z/#interfaz-para-comprar-sol","title":"Interfaz para Comprar SOL","text":"

La interfaz y el CLI doublezero-solana viven en este repositorio. El c\u00f3digo fuente de la interfaz del contrato de swap de DoubleZero se puede encontrar aqu\u00ed. El ID del programa es 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Una forma conveniente de generar las cuentas necesarias para la instrucci\u00f3n de compra de SOL es usar el m\u00e9todo new (que se encuentra en instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

La fill_registry_key se puede obtener ya sea del ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // esta clave\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternativamente, puede llamar a getProgramAccounts a trav\u00e9s del RPC de Solana con su discriminador. Pero recomendamos almacenar en cach\u00e9 esta pubkey ya que nunca cambiar\u00e1.

La user_key es un firmante para la instrucci\u00f3n de compra de SOL y debe ser el propietario de la user_token_account_key. Como se describi\u00f3 anteriormente, esto NO necesita ser un ATA. Siempre que su cuenta de tokens 2Z sea propiedad de la user_key, esta instrucci\u00f3n tendr\u00e1 \u00e9xito.

La estructura BuySolAccounts implementa Into<Vec<AccountMeta>> para que pueda generar todos los metadatos de cuenta que necesita para construir la instrucci\u00f3n.

Los datos de instrucci\u00f3n son:

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Estos datos de instrucci\u00f3n est\u00e1n serializados en Borsh y tienen un selector Anchor de 8 bytes, que todo se serializar\u00e1 cuando se use BorshSerialize::serialize.

Los datos de precio del or\u00e1culo se pueden obtener desde este endpoint p\u00fablico: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. Los datos son deserializables con serde usando la estructura OraclePriceData que se encuentra en oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Ejemplo de c\u00f3mo obtener usando el crate reqwest:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Con el ID del programa, las cuentas y los datos de instrucci\u00f3n, deber\u00eda poder construir la instrucci\u00f3n para comprar SOL del contrato de swap de DoubleZero.

"},{"location":"es/Validator%20Multicast%20Connection/","title":"Conexi\u00f3n Multicast para Validadores","text":"

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.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

Si a\u00fan no est\u00e1 conectado a DoubleZero, complete primero la documentaci\u00f3n de Configuraci\u00f3n y de conexi\u00f3n para validadores Mainnet-Beta.

Si ya es un validador conectado a DoubleZero puede continuar con esta gu\u00eda.

"},{"location":"es/Validator%20Multicast%20Connection/#jito-agave-version-319-o-superior","title":"Jito-Agave (versi\u00f3n 3.1.9 o superior)","text":"
  1. En el script de inicio de su validador, a\u00f1ada: --shred-receiver-address 233.84.178.1:7733

    Puede enviar a Jito y al grupo bebop al mismo tiempo.

    ejemplo:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...El resto de su configuraci\u00f3n...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Reinicie su validador.

  3. Con\u00e9ctese al grupo multicast bebop de DoubleZero como publicador: doublezero connect multicast --publish bebop

"},{"location":"es/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. En config.toml, a\u00f1ada:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Reinicie su validador.

  3. Con\u00e9ctese al grupo multicast bebop de DoubleZero como publicador: doublezero connect multicast --publish bebop

Note

Los usuarios de Frankendancer en modo driver XDP no pueden usar tcpdump. Actualmente no hay forma de confirmar que est\u00e1 publicando, pero pronto habr\u00e1 una soluci\u00f3n disponible.

"},{"location":"es/Validator%20Multicast%20Connection/#confirme-que-esta-publicando","title":"Confirme que est\u00e1 publicando","text":"

Durante su pr\u00f3ximo slot de l\u00edder, use tcpdump para confirmar que est\u00e1 publicando al grupo multicast. Deber\u00eda ver un heartbeat cada 10 segundos para verificar que est\u00e1 publicando shreds.

Ejecute: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Ejemplo de salida cuando se est\u00e1 publicando:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"es/architecture/","title":"Arquitectura","text":"

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.

\u00bfQu\u00e9 compone los diferentes actores y componentes de la red DoubleZero?

Figura 1: Componentes de la arquitectura de red"},{"location":"es/architecture/#contribuidores","title":"Contribuidores","text":"

La red DoubleZero est\u00e1 formada por contribuciones de conectividad y procesamiento de paquetes de una creciente comunidad de proveedores de infraestructura de red distribuida en ciudades de todo el mundo. Los contribuidores aportan enlaces de fibra \u00f3ptica y recursos de procesamiento de informaci\u00f3n al protocolo para proporcionar la red de malla descentralizada.

"},{"location":"es/architecture/#contribuidores-de-ancho-de-banda-de-red","title":"Contribuidores de Ancho de Banda de Red","text":"

Los contribuidores de red deben proporcionar ancho de banda dedicado entre dos puntos, operar dispositivos compatibles con DoubleZero (DZDs) en cada extremo y una conexi\u00f3n a internet en cada extremo. Los contribuidores de red tambi\u00e9n deben ejecutar el software DoubleZero en cada DZD para proporcionar servicios como multicast, b\u00fasqueda de usuarios y servicios de filtrado en el borde.

Los enlaces f\u00edsicos de la red DoubleZero se proporcionan en forma de cables de fibra \u00f3ptica, com\u00fanmente denominados servicios de longitud de onda. Los contribuidores de red comprometen enlaces de red subutilizados, propios o arrendados de proveedores de infraestructura, entre dos o m\u00e1s centros de datos. Estos enlaces se terminan en ambos extremos por Dispositivos DoubleZero, que son recintos f\u00edsicos de conmutaci\u00f3n de red que ejecutan instancias del software Agente DoubleZero.

"},{"location":"es/architecture/#doublezero-exchange-dzx-sitio-de-interconexion","title":"DoubleZero Exchange (DZX / Sitio de Interconexi\u00f3n)","text":"

Los Exchanges DoubleZero (DZXs) son puntos de interconexi\u00f3n en la red de malla donde se unen diferentes enlaces de contribuidores. Los DZXs est\u00e1n ubicados en las principales \u00e1reas metropolitanas del mundo donde se producen intersecciones de red. Los contribuidores de red deben interconectar sus enlaces a la red de malla DoubleZero m\u00e1s amplia en los DZXs geogr\u00e1ficamente m\u00e1s cercanos a los extremos de sus enlaces.

"},{"location":"es/architecture/#contribuidores-de-recursos-computacionales","title":"Contribuidores de Recursos Computacionales","text":"

Aparte de los contribuidores de red, los contribuidores de recursos son un grupo descentralizado de participantes de la red que realizan diversas tareas de mantenimiento y monitoreo necesarias para sostener la integridad t\u00e9cnica y la funcionalidad continua de la red DoubleZero. Espec\u00edficamente, ellos (i) rastrean las transacciones y pagos de los usuarios; (ii) calculan las tarifas para los contribuidores de red; (iii) registran los resultados de (i) y (ii); (iv) administran, estrictamente de forma no discrecional, los contratos inteligentes que controlan la token\u00f3mica del protocolo; (v) transmiten attestations a la blockchain aplicable; y (vi) publican datos de telemetr\u00eda sobre la calidad y utilizaci\u00f3n de los enlaces para proporcionar m\u00e9tricas de rendimiento transparentes y en tiempo real para todos los contribuidores de red.

"},{"location":"es/architecture/#componentes","title":"Componentes","text":""},{"location":"es/architecture/#daemon-doublezero","title":"Daemon DoubleZero","text":"

El software Daemon DoubleZero se ejecuta en servidores que necesitan comunicarse a trav\u00e9s de la red DoubleZero. El daemon interact\u00faa con la pila de red del kernel del host para crear y gestionar interfaces de t\u00fanel, tablas de enrutamiento y rutas.

"},{"location":"es/architecture/#activador","title":"Activador","text":"

El servicio Activador, alojado por uno o m\u00e1s miembros contribuidores de recursos computacionales de la comunidad DoubleZero, monitorea los eventos de contrato que requieren asignaciones de direcciones IP y cambios de estado, y gestiona esos cambios en nombre de la red.

"},{"location":"es/architecture/#controlador","title":"Controlador","text":"

El servicio Controlador, alojado por uno o m\u00e1s contribuidores de recursos computacionales de la comunidad DoubleZero, sirve como la interfaz de configuraci\u00f3n para que los Agentes de Dispositivos DoubleZero representen su configuraci\u00f3n actual basada en eventos de contratos inteligentes.

"},{"location":"es/architecture/#agente","title":"Agente","text":"

El software Agente se ejecuta directamente en los Dispositivos DoubleZero y aplica los cambios de configuraci\u00f3n a los dispositivos seg\u00fan lo interpretado por el servicio Controlador. El software Agente consulta al Controlador para detectar cambios de configuraci\u00f3n, calcula las diferencias entre la versi\u00f3n can\u00f3nica on-chain del estado del Dispositivo y la configuraci\u00f3n activa en el dispositivo, y aplica los cambios necesarios para reconciliar la configuraci\u00f3n activa.

"},{"location":"es/architecture/#dispositivo","title":"Dispositivo","text":"

El recinto f\u00edsico del dispositivo que proporciona el enrutamiento y la terminaci\u00f3n de enlaces para la red DoubleZero. Los DZDs ejecutan el software Agente DoubleZero y se configuran bas\u00e1ndose en los datos le\u00eddos del servicio Controlador.

"},{"location":"es/connect/","title":"Connect","text":"

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.

Si no es redirigido, haga clic aqu\u00ed.

"},{"location":"es/contribute-operations/","title":"Gu\u00eda de Operaciones para Contribuidores","text":"

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.

Esta gu\u00eda cubre las tareas operativas continuas para mantener sus Dispositivos DoubleZero (DZDs), incluyendo actualizaciones de agentes, actualizaciones de dispositivos/interfaces y gesti\u00f3n de enlaces.

Requisitos previos: Antes de usar esta gu\u00eda, aseg\u00farese de haber:

"},{"location":"es/contribute-operations/#actualizaciones-de-dispositivos","title":"Actualizaciones de Dispositivos","text":"

Use doublezero device update para modificar la configuraci\u00f3n del dispositivo despu\u00e9s del aprovisionamiento inicial.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Opciones de actualizaci\u00f3n comunes:

Opci\u00f3n Descripci\u00f3n --device-type <TYPE> Cambiar el modo de operaci\u00f3n: hybrid, transit, edge (consulte Tipos de Dispositivos) --location <LOCATION> Mover el dispositivo a una ubicaci\u00f3n diferente --metrics-publisher <PUBKEY> Cambiar la clave de editor de m\u00e9tricas"},{"location":"es/contribute-operations/#actualizaciones-de-interfaces","title":"Actualizaciones de Interfaces","text":"

Use doublezero device interface update para modificar las interfaces existentes. Este comando acepta las mismas opciones que interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

Para obtener la lista completa de opciones de interfaz incluyendo configuraciones CYOA/DIA, consulte Creaci\u00f3n de Interfaces.

Ejemplo - A\u00f1adir configuraciones CYOA a una interfaz existente:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"es/contribute-operations/#listar-interfaces","title":"Listar Interfaces","text":"
doublezero device interface list              # Todas las interfaces en todos los dispositivos\ndoublezero device interface list <DEVICE>     # Interfaces de un dispositivo espec\u00edfico\n
"},{"location":"es/contribute-operations/#actualizacion-del-agente-de-configuracion","title":"Actualizaci\u00f3n del Agente de Configuraci\u00f3n","text":"

Cuando se lanza una nueva versi\u00f3n del Agente de Configuraci\u00f3n, siga estos pasos para actualizar.

"},{"location":"es/contribute-operations/#1-descargar-la-ultima-version","title":"1. Descargar la \u00faltima versi\u00f3n","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"es/contribute-operations/#2-apagar-el-agente","title":"2. Apagar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#3-eliminar-la-version-anterior","title":"3. Eliminar la versi\u00f3n anterior","text":"

Primero, encuentre el nombre del archivo de la versi\u00f3n anterior:

switch# show extensions\n

Ejecute los siguientes comandos para eliminar la versi\u00f3n anterior. Reemplace <OLD_VERSION> con la versi\u00f3n anterior de la salida anterior:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"es/contribute-operations/#4-instalar-la-nueva-version","title":"4. Instalar la nueva versi\u00f3n","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-operations/#5-reactivar-el-agente","title":"5. Reactivar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#6-verificar-la-actualizacion","title":"6. Verificar la actualizaci\u00f3n","text":"

El estado debe ser \"A, I, B\".

switch# show extensions\n

"},{"location":"es/contribute-operations/#7-verificar-la-salida-del-log-del-agente-de-configuracion","title":"7. Verificar la salida del log del Agente de Configuraci\u00f3n","text":"
show agent doublezero-agent log\n
"},{"location":"es/contribute-operations/#actualizacion-del-agente-de-telemetria","title":"Actualizaci\u00f3n del Agente de Telemetr\u00eda","text":"

Cuando se lanza una nueva versi\u00f3n del Agente de Telemetr\u00eda, siga estos pasos para actualizar.

"},{"location":"es/contribute-operations/#1-descargar-la-ultima-version_1","title":"1. Descargar la \u00faltima versi\u00f3n","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"es/contribute-operations/#2-apagar-el-agente_1","title":"2. Apagar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#3-eliminar-la-version-anterior_1","title":"3. Eliminar la versi\u00f3n anterior","text":"

Primero, encuentre el nombre del archivo de la versi\u00f3n anterior:

switch# show extensions\n

Ejecute los siguientes comandos para eliminar la versi\u00f3n anterior. Reemplace <OLD_VERSION> con la versi\u00f3n anterior de la salida anterior:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"es/contribute-operations/#4-instalar-la-nueva-version_1","title":"4. Instalar la nueva versi\u00f3n","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-operations/#5-reactivar-el-agente_1","title":"5. Reactivar el agente","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"es/contribute-operations/#6-verificar-la-actualizacion_1","title":"6. Verificar la actualizaci\u00f3n","text":"

El estado debe ser \"A, I, B\".

switch# show extensions\n

"},{"location":"es/contribute-operations/#7-verificar-la-salida-del-log-del-agente-de-telemetria","title":"7. Verificar la salida del log del Agente de Telemetr\u00eda","text":"
show agent doublezero-telemetry log\n
"},{"location":"es/contribute-operations/#monitoreo","title":"Monitoreo","text":"

\u26a0\ufe0f Importante:

  1. Para los ejemplos de configuraci\u00f3n a continuaci\u00f3n, tenga en cuenta si sus agentes est\u00e1n usando un VRF de gesti\u00f3n.
  2. El agente de configuraci\u00f3n y el agente de telemetr\u00eda usan el mismo puerto de escucha (:8080) para su endpoint de m\u00e9tricas por defecto. Si est\u00e1 habilitando m\u00e9tricas en ambos, use el flag -metrics-addr para establecer puertos de escucha \u00fanicos para cada agente.
"},{"location":"es/contribute-operations/#metricas-del-agente-de-configuracion","title":"M\u00e9tricas del Agente de Configuraci\u00f3n","text":"

El agente de configuraci\u00f3n en el dispositivo DoubleZero tiene la capacidad de exponer m\u00e9tricas compatibles con Prometheus configurando el flag -metrics-enable en la configuraci\u00f3n del daemon doublezero-agent. El puerto de escucha predeterminado es tcp/8080 pero puede cambiarse para adaptarse al entorno mediante -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

"},{"location":"es/contribute-operations/#errores-de-alta-senal","title":"Errores de Alta Se\u00f1al","text":""},{"location":"es/contribute-operations/#metricas-del-agente-de-telemetria","title":"M\u00e9tricas del Agente de Telemetr\u00eda","text":"

El agente de telemetr\u00eda en el dispositivo DoubleZero tiene la capacidad de exponer m\u00e9tricas compatibles con Prometheus configurando el flag -metrics-enable en la configuraci\u00f3n del daemon doublezero-telemetry. El puerto de escucha predeterminado es tcp/8080 pero puede cambiarse para adaptarse al entorno mediante -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

"},{"location":"es/contribute-operations/#errores-de-alta-senal_1","title":"Errores de Alta Se\u00f1al","text":""},{"location":"es/contribute-operations/#gestion-de-enlaces","title":"Gesti\u00f3n de Enlaces","text":""},{"location":"es/contribute-operations/#drenado-de-enlaces","title":"Drenado de Enlaces","text":"

El drenado de enlaces permite a los contribuidores retirar gradualmente un enlace del servicio activo para mantenimiento o soluci\u00f3n de problemas. Hay dos estados de drenado:

Estado Comportamiento IS-IS Descripci\u00f3n soft-drained M\u00e9trica establecida en 1,000,000 El enlace se desprioriza. El tr\u00e1fico usar\u00e1 rutas alternativas si est\u00e1n disponibles, pero a\u00fan usar\u00e1 este enlace si es la \u00fanica opci\u00f3n. hard-drained Establecido como pasivo El enlace se retira completamente del enrutamiento. Ning\u00fan tr\u00e1fico atravesar\u00e1 este enlace."},{"location":"es/contribute-operations/#transiciones-de-estado","title":"Transiciones de Estado","text":"

Se permiten las siguientes transiciones de estado:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (debe pasar primero por soft-drained)\n

\u26a0\ufe0f Nota: No puede ir directamente de hard-drained a activated. Primero debe transitar a soft-drained, luego a activated.

"},{"location":"es/contribute-operations/#drenar-suavemente-un-enlace","title":"Drenar Suavemente un Enlace","text":"

El drenado suave desprioriza un enlace estableciendo su m\u00e9trica IS-IS en 1,000,000. El tr\u00e1fico preferir\u00e1 rutas alternativas pero a\u00fan puede usar este enlace si es necesario.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"es/contribute-operations/#drenar-duramente-un-enlace","title":"Drenar Duramente un Enlace","text":"

El drenado duro elimina el enlace del enrutamiento por completo estableciendo IS-IS en modo pasivo. Ning\u00fan tr\u00e1fico atravesar\u00e1 este enlace.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"es/contribute-operations/#restaurar-un-enlace-a-activo","title":"Restaurar un Enlace a Activo","text":"

Para devolver un enlace drenado a operaci\u00f3n normal:

# Desde soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# Desde hard-drained (debe pasar primero por soft-drained)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"es/contribute-operations/#anulacion-de-retardo","title":"Anulaci\u00f3n de Retardo","text":"

La funci\u00f3n de anulaci\u00f3n de retardo permite a los contribuidores cambiar temporalmente el retardo efectivo de un enlace sin modificar el valor de retardo medido real. Esto es \u00fatil para demotar temporalmente un enlace de ruta primaria a secundaria.

"},{"location":"es/contribute-operations/#establecer-una-anulacion-de-retardo","title":"Establecer una Anulaci\u00f3n de Retardo","text":"

Para anular el retardo de un enlace (haci\u00e9ndolo menos preferido en el enrutamiento):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

Los valores v\u00e1lidos son de 0.01 a 1000 milisegundos.

"},{"location":"es/contribute-operations/#borrar-una-anulacion-de-retardo","title":"Borrar una Anulaci\u00f3n de Retardo","text":"

Para eliminar la anulaci\u00f3n y volver a usar el retardo medido real:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Nota: Cuando un enlace est\u00e1 en soft-drained, tanto delay_ms como delay_override_ms se anulan a 1000ms (1 segundo) para garantizar la desriorizaci\u00f3n.

"},{"location":"es/contribute-overview/","title":"Documentaci\u00f3n para Contribuidores","text":"

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.

Terminolog\u00eda

\u00bfNuevo en DoubleZero? Consulte el Glosario para definiciones de t\u00e9rminos clave como DZD, DZX y CYOA.

Bienvenido a la documentaci\u00f3n para contribuidores de DoubleZero. Esta secci\u00f3n cubre todo lo que necesita para convertirse en un contribuidor de red.

\u00bfInteresado en convertirse en contribuidor de red?

Revise la p\u00e1gina de Requisitos y Arquitectura para comprender el hardware, el ancho de banda y la conectividad necesarios para contribuir a la red DoubleZero.

"},{"location":"es/contribute-overview/#lista-de-verificacion-de-incorporacion","title":"Lista de Verificaci\u00f3n de Incorporaci\u00f3n","text":"

Use esta lista de verificaci\u00f3n para hacer seguimiento de su progreso. Todos los elementos deben estar completados antes de que su contribuci\u00f3n sea t\u00e9cnicamente operativa.

"},{"location":"es/contribute-overview/#fase-1-requisitos-previos","title":"Fase 1: Requisitos Previos","text":""},{"location":"es/contribute-overview/#fase-2-configuracion-de-cuenta","title":"Fase 2: Configuraci\u00f3n de Cuenta","text":""},{"location":"es/contribute-overview/#fase-3-aprovisionamiento-de-dispositivos","title":"Fase 3: Aprovisionamiento de Dispositivos","text":""},{"location":"es/contribute-overview/#fase-4-establecimiento-de-enlace-e-instalacion-de-agentes","title":"Fase 4: Establecimiento de Enlace e Instalaci\u00f3n de Agentes","text":""},{"location":"es/contribute-overview/#fase-5-rodaje-del-enlace","title":"Fase 5: Rodaje del Enlace","text":""},{"location":"es/contribute-overview/#fase-6-verificacion-y-activacion","title":"Fase 6: Verificaci\u00f3n y Activaci\u00f3n","text":""},{"location":"es/contribute-overview/#obtener-ayuda","title":"Obtener Ayuda","text":"

Como parte de la incorporaci\u00f3n, DZF le a\u00f1adir\u00e1 a los canales Slack de contribuidores:

Canal Prop\u00f3sito #dz-contributor-announcements Comunicaciones oficiales de DZF y Malbec Labs \u2014 actualizaciones de CLI/agentes, cambios importantes, anuncios de seguridad. Monitoree para actualizaciones cr\u00edticas; haga preguntas en los hilos. #dz-contributor-incidents Eventos no planificados que afectan el servicio. Los incidentes se publican autom\u00e1ticamente a trav\u00e9s de la API/formulario web con severidad y dispositivos/enlaces afectados. La discusi\u00f3n y soluci\u00f3n de problemas ocurre en los hilos. #dz-contributor-maintenance Actividades de mantenimiento planificadas (actualizaciones, reparaciones). Programadas a trav\u00e9s de la API/formulario web con tiempos de inicio/fin planificados. Discusi\u00f3n en hilos. #dz-contributor-ops Discusi\u00f3n abierta para todos los contribuidores \u2014 preguntas operativas, ayuda con CLI, compartir runbooks y playbooks.

Tambi\u00e9n recibir\u00e1 un canal privado de DZ/Malbec Labs para soporte directo de su organizaci\u00f3n.

"},{"location":"es/contribute-overview/#reglas-de-prefijo-dz","title":"Reglas de Prefijo DZ","text":"

Cr\u00edtico: Uso del Pool de Prefijos DZ

El pool de prefijos DZ que proporciona es gestionado por el protocolo DoubleZero para la asignaci\u00f3n de IP.

C\u00f3mo se usan los prefijos DZ:

NO puede usar estas direcciones para:

Requisitos:

Si necesita direcciones para su propio equipo (IPs de interfaz DIA, gesti\u00f3n, etc.), use un pool de direcciones separado.

"},{"location":"es/contribute-overview/#referencia-rapida-terminos-clave","title":"Referencia R\u00e1pida: T\u00e9rminos Clave","text":"

\u00bfNuevo en DoubleZero? Aqu\u00ed est\u00e1n los t\u00e9rminos esenciales (consulte el Glosario completo):

T\u00e9rmino Definici\u00f3n DZD Dispositivo DoubleZero - su switch f\u00edsico Arista que ejecuta los agentes DZ DZX Exchange DoubleZero - punto de interconexi\u00f3n metropolitana donde los contribuidores se conectan entre s\u00ed CYOA Elige Tu Propia Aventura - m\u00e9todo de conectividad de usuarios (GREOverDIA, GREOverFabric, etc.) DIA Acceso Directo a Internet - conectividad a internet requerida por todos los DZDs para el controlador y la telemetr\u00eda, com\u00fanmente usado como tipo CYOA para la conectividad de usuarios en dispositivos de borde/h\u00edbridos Enlace WAN Enlace entre sus propios DZDs (mismo contribuidor) Enlace DZX Enlace al DZD de otro contribuidor (requiere aceptaci\u00f3n mutua) Agente de Configuraci\u00f3n Consulta el controlador, aplica la configuraci\u00f3n a su DZD Agente de Telemetr\u00eda Recopila m\u00e9tricas de latencia/p\u00e9rdida TWAMP, las env\u00eda al ledger onchain Clave de Servicio Su clave de identidad de contribuidor para operaciones CLI Clave de Editor de M\u00e9tricas Clave para firmar presentaciones de telemetr\u00eda onchain"},{"location":"es/contribute-overview/#estructura-de-la-documentacion","title":"Estructura de la Documentaci\u00f3n","text":"Gu\u00eda Descripci\u00f3n Requisitos y Arquitectura Especificaciones de hardware, arquitectura de red, opciones de ancho de banda Aprovisionamiento de Dispositivos Paso a paso: claves \u2192 acceso al repositorio \u2192 dispositivo \u2192 enlaces \u2192 agentes Operaciones Actualizaciones de agentes, gesti\u00f3n de enlaces, monitoreo Glosario Toda la terminolog\u00eda DoubleZero definida"},{"location":"es/contribute-overview/#conceptos-de-red-para-no-ingenieros-de-red","title":"Conceptos de Red para No Ingenieros de Red","text":"

Si no tiene experiencia en ingenier\u00eda de redes, aqu\u00ed hay una introducci\u00f3n a los conceptos utilizados en esta documentaci\u00f3n:

"},{"location":"es/contribute-overview/#direccionamiento-ip","title":"Direccionamiento IP","text":""},{"location":"es/contribute-overview/#capas-de-red","title":"Capas de Red","text":""},{"location":"es/contribute-overview/#terminos-comunes","title":"T\u00e9rminos Comunes","text":""},{"location":"es/contribute-overview/#especifico-de-doublezero","title":"Espec\u00edfico de DoubleZero","text":"

\u00bfListo para comenzar? Empiece con Requisitos y Arquitectura.

"},{"location":"es/contribute-provisioning/","title":"Gu\u00eda de Aprovisionamiento de Dispositivos","text":"

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.

Esta gu\u00eda le lleva a trav\u00e9s del aprovisionamiento de un Dispositivo DoubleZero (DZD) de principio a fin. Cada fase corresponde a la Lista de Verificaci\u00f3n de Incorporaci\u00f3n.

"},{"location":"es/contribute-provisioning/#como-encaja-todo","title":"C\u00f3mo Encaja Todo","text":"

Antes de entrar en los pasos, aqu\u00ed est\u00e1 el panorama general de lo que est\u00e1 construyendo:

flowchart TB\n    subgraph Onchain\n        SC[Ledger DoubleZero]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[Servidor de Gesti\u00f3n<br/>CLI DoubleZero]\n        DZD[Su DZD<br/>Switch Arista]\n        DZD ---|Enlace WAN| DZD2[Su otro DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[Su DZD]\n    end\n\n    subgraph Users\n        VAL[Validadores]\n        RPC[Nodos RPC]\n    end\n\n    MGMT -.->|Registra dispositivos,<br/>enlaces, interfaces| SC\n    DZD ---|Enlace DZX| OtherDZD\n    VAL ---|Conectar via Internet| DZD\n    RPC ---|Conectar via Internet| DZD
"},{"location":"es/contribute-provisioning/#fase-1-requisitos-previos","title":"Fase 1: Requisitos Previos","text":"

Antes de poder aprovisionar un dispositivo, necesita el hardware f\u00edsico configurado y algunas direcciones IP asignadas.

"},{"location":"es/contribute-provisioning/#lo-que-necesita","title":"Lo Que Necesita","text":"Requisito Por Qu\u00e9 Es Necesario Hardware DZD Switch Arista 7280CR3A (consulte especificaciones de hardware) Espacio en Rack 4U con flujo de aire adecuado Energ\u00eda Alimentaciones redundantes, ~4KW recomendado Acceso de Gesti\u00f3n Acceso SSH/consola para configurar el switch Conectividad a Internet Para publicaci\u00f3n de m\u00e9tricas y para obtener configuraci\u00f3n del controlador Bloque IPv4 P\u00fablico M\u00ednimo /29 para el pool de prefijos DZ (ver abajo)"},{"location":"es/contribute-provisioning/#instalar-el-cli-de-doublezero","title":"Instalar el CLI de DoubleZero","text":"

El CLI de DoubleZero (doublezero) se usa durante todo el aprovisionamiento para registrar dispositivos, crear enlaces y gestionar su contribuci\u00f3n. Debe instalarse en un servidor de gesti\u00f3n o VM, no en el switch DZD en s\u00ed. El switch solo ejecuta el Agente de Configuraci\u00f3n y el Agente de Telemetr\u00eda (instalados en la Fase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verificar que el daemon est\u00e9 ejecut\u00e1ndose:

sudo systemctl status doublezerod\n

"},{"location":"es/contribute-provisioning/#comprendiendo-su-prefijo-dz","title":"Comprendiendo Su Prefijo DZ","text":"

Su prefijo DZ es un bloque de direcciones IP p\u00fablicas que el protocolo DoubleZero gestiona para la asignaci\u00f3n de IP.

flowchart LR\n    subgraph \"Su Bloque /29 (8 IPs)\"\n        IP1[\"Primera IP<br/>Reservada para<br/>su dispositivo\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Asignada a| LO[Loopback100<br/>en su DZD]\n    IP2 -->|Asignada a| U1[Usuario 1]\n    IP3 -->|Asignada a| U2[Usuario 2]

C\u00f3mo se usan los prefijos DZ:

Reglas de Prefijo DZ

NO PUEDE usar estas direcciones para:

Requisitos:

Si necesita direcciones para su propio equipo (IPs de interfaz DIA, gesti\u00f3n, etc.), use un pool de direcciones separado.

"},{"location":"es/contribute-provisioning/#fase-2-configuracion-de-cuenta","title":"Fase 2: Configuraci\u00f3n de Cuenta","text":"

En esta fase, crea las claves criptogr\u00e1ficas que lo identifican a usted y a sus dispositivos en la red.

"},{"location":"es/contribute-provisioning/#donde-ejecutar-el-cli","title":"D\u00f3nde Ejecutar el CLI","text":"

NO instale el CLI en su switch

El CLI de DoubleZero (doublezero) debe instalarse en un servidor de gesti\u00f3n o VM, no en su switch Arista.

flowchart LR\n    subgraph \"Servidor/VM de Gesti\u00f3n\"\n        CLI[CLI DoubleZero]\n        KEYS[Sus Keypairs]\n    end\n\n    subgraph \"Su Switch DZD\"\n        CA[Agente de Configuraci\u00f3n]\n        TA[Agente de Telemetr\u00eda]\n    end\n\n    CLI -->|Crea dispositivos, enlaces| BC[Blockchain]\n    CA -->|Obtiene configuraci\u00f3n| CTRL[Controlador]\n    TA -->|Env\u00eda m\u00e9tricas| BC
Instalar en Servidor de Gesti\u00f3n Instalar en Switch CLI doublezero Agente de Configuraci\u00f3n Su keypair de servicio Agente de Telemetr\u00eda Su keypair de editor de m\u00e9tricas Keypair de editor de m\u00e9tricas (copia)"},{"location":"es/contribute-provisioning/#que-son-las-claves","title":"\u00bfQu\u00e9 Son las Claves?","text":"

Piense en las claves como credenciales de inicio de sesi\u00f3n seguras:

Ambas son keypairs criptogr\u00e1ficos (una clave p\u00fablica que comparte, una clave privada que mantiene en secreto).

flowchart LR\n    subgraph \"Sus Claves\"\n        SK[Clave de Servicio<br/>~/.config/solana/id.json]\n        MK[Clave de Editor de M\u00e9tricas<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Usada para| CLI[Comandos CLI<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Usada para| TEL[Agente de Telemetr\u00eda<br/>Env\u00eda m\u00e9tricas onchain]
"},{"location":"es/contribute-provisioning/#paso-21-generar-su-clave-de-servicio","title":"Paso 2.1: Generar Su Clave de Servicio","text":"

Esta es su identidad principal para interactuar con DoubleZero.

doublezero keygen\n

Esto crea un keypair en la ubicaci\u00f3n predeterminada. La salida muestra su clave p\u00fablica \u2014 esto es lo que compartir\u00e1 con DZF.

"},{"location":"es/contribute-provisioning/#paso-22-generar-su-clave-de-editor-de-metricas","title":"Paso 2.2: Generar Su Clave de Editor de M\u00e9tricas","text":"

Esta clave la usa el Agente de Telemetr\u00eda para firmar env\u00edos de m\u00e9tricas.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"es/contribute-provisioning/#paso-23-enviar-claves-a-dzf","title":"Paso 2.3: Enviar Claves a DZF","text":"

Contacte a la Fundaci\u00f3n DoubleZero o Malbec Labs y proporcione:

  1. Su clave p\u00fablica de la clave de servicio
  2. Su nombre de usuario de GitHub (para acceso al repositorio)

Ellos:

"},{"location":"es/contribute-provisioning/#paso-24-verificar-su-cuenta","title":"Paso 2.4: Verificar Su Cuenta","text":"

Una vez confirmado, verifique que su cuenta de contribuidor existe:

doublezero contributor list\n

Deber\u00eda ver su c\u00f3digo de contribuidor en la lista.

"},{"location":"es/contribute-provisioning/#paso-25-acceder-al-repositorio-de-contribuidores","title":"Paso 2.5: Acceder al Repositorio de Contribuidores","text":"

El repositorio malbeclabs/contributors contiene:

Siga las instrucciones all\u00ed para la configuraci\u00f3n espec\u00edfica del dispositivo.

"},{"location":"es/contribute-provisioning/#fase-3-aprovisionamiento-de-dispositivos","title":"Fase 3: Aprovisionamiento de Dispositivos","text":"

Ahora registrar\u00e1 su dispositivo f\u00edsico en la blockchain y configurar\u00e1 sus interfaces.

"},{"location":"es/contribute-provisioning/#comprendiendo-los-tipos-de-dispositivos","title":"Comprendiendo los Tipos de Dispositivos","text":"
flowchart TB\n    subgraph \"Dispositivo de Borde\"\n        E[DZD de Borde]\n        EU[Los usuarios se conectan aqu\u00ed]\n        EU --> E\n        E <-->|Enlace DZX| ED[Otro DZD]\n    end\n\n    subgraph \"Dispositivo de Tr\u00e1nsito\"\n        T[DZD de Tr\u00e1nsito]\n        T <-->|Enlace WAN| T2[Otro DZD]\n        T <-->|Enlace DZX| TD[Otro DZD]\n    end\n\n    subgraph \"Dispositivo H\u00edbrido\"\n        H[DZD H\u00edbrido]\n        HU[Los usuarios se conectan aqu\u00ed]\n        HU --> H\n        H <-->|Enlace WAN| H2[Otro DZD]\n        H <-->|Enlace DZX| HD[Otro DZD]\n    end
Tipo Qu\u00e9 Hace Cu\u00e1ndo Usar Borde Solo acepta conexiones de usuarios Ubicaci\u00f3n \u00fanica, solo orientado al usuario Tr\u00e1nsito Mueve tr\u00e1fico entre dispositivos Conectividad de backbone, sin usuarios H\u00edbrido Conexiones de usuarios Y backbone Lo m\u00e1s com\u00fan \u2014 hace todo"},{"location":"es/contribute-provisioning/#paso-31-encontrar-su-ubicacion-e-exchange","title":"Paso 3.1: Encontrar Su Ubicaci\u00f3n e Exchange","text":"

Antes de crear su dispositivo, busque los c\u00f3digos de su ubicaci\u00f3n de centro de datos y el exchange m\u00e1s cercano:

# Listar ubicaciones disponibles (centros de datos)\ndoublezero location list\n\n# Listar exchanges disponibles (puntos de interconexi\u00f3n)\ndoublezero exchange list\n
"},{"location":"es/contribute-provisioning/#paso-32-crear-su-dispositivo-onchain","title":"Paso 3.2: Crear Su Dispositivo Onchain","text":"

Registre su dispositivo en la blockchain:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

Ejemplo:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Salida esperada:

Signature: 4vKz8H...truncated...7xPq2\n

Verifique que su dispositivo fue creado:

doublezero device list | grep nyc-dz001\n

Par\u00e1metros explicados:

Par\u00e1metro Qu\u00e9 Significa --code Un nombre \u00fanico para su dispositivo (por ejemplo, nyc-dz001) --contributor Su c\u00f3digo de contribuidor (dado por DZF) --device-type hybrid, transit o edge --location C\u00f3digo del centro de datos de location list --exchange C\u00f3digo del exchange m\u00e1s cercano de exchange list --public-ip La IP p\u00fablica donde los usuarios se conectan a su dispositivo a trav\u00e9s de internet --dz-prefixes Su bloque de IP asignado para usuarios"},{"location":"es/contribute-provisioning/#paso-33-crear-interfaces-loopback-requeridas","title":"Paso 3.3: Crear Interfaces Loopback Requeridas","text":"

Cada dispositivo necesita dos interfaces loopback para el enrutamiento interno:

# Loopback VPNv4\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# Loopback IPv4\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

Salida esperada (para cada comando):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"es/contribute-provisioning/#paso-34-crear-interfaces-fisicas","title":"Paso 3.4: Crear Interfaces F\u00edsicas","text":"

Registre los puertos f\u00edsicos que usar\u00e1:

# Interfaz b\u00e1sica\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

Salida esperada:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"es/contribute-provisioning/#paso-35-crear-interfaz-cyoa-para-dispositivos-de-bordehibridos","title":"Paso 3.5: Crear Interfaz CYOA (para dispositivos de Borde/H\u00edbridos)","text":"

Si su dispositivo acepta conexiones de usuarios, necesita una interfaz CYOA (Elige Tu Propia Aventura). Esto le dice al sistema c\u00f3mo los usuarios se conectan a usted.

Tipos CYOA Explicados:

Tipo En T\u00e9rminos Simples Cu\u00e1ndo Usar gre-over-dia Los usuarios se conectan a trav\u00e9s de internet regular Lo m\u00e1s com\u00fan \u2014 los usuarios se conectan a trav\u00e9s de la DIA a su DZD gre-over-private-peering Los usuarios se conectan a trav\u00e9s de enlace privado Los usuarios tienen conexi\u00f3n directa a su red gre-over-public-peering Los usuarios se conectan a trav\u00e9s de IX Los usuarios se emparejan con usted en un exchange de internet gre-over-fabric Los usuarios en la misma red local Los usuarios en el mismo centro de datos gre-over-cable Cable directo al usuario Usuario dedicado \u00fanico

Ejemplo \u2014 Usuarios est\u00e1ndar de internet:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Salida esperada:

Signature: 2wLp8N...truncated...5vHt3\n

Par\u00e1metros explicados:

Par\u00e1metro Qu\u00e9 Significa --interface-cyoa C\u00f3mo se conectan los usuarios (ver tabla arriba) --interface-dia dia si este es un puerto orientado a internet --bandwidth Velocidad del puerto en Mbps (10000 = 10Gbps) --cir Tasa comprometida en Mbps (ancho de banda garantizado) --user-tunnel-endpoint Este puerto acepta t\u00faneles de usuario"},{"location":"es/contribute-provisioning/#paso-36-verificar-su-dispositivo","title":"Paso 3.6: Verificar Su Dispositivo","text":"
doublezero device list\n

Ejemplo de salida:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Su dispositivo deber\u00eda aparecer con el estado activated.

"},{"location":"es/contribute-provisioning/#fase-4-establecimiento-de-enlace-e-instalacion-de-agentes","title":"Fase 4: Establecimiento de Enlace e Instalaci\u00f3n de Agentes","text":"

Los enlaces conectan su dispositivo al resto de la red DoubleZero.

"},{"location":"es/contribute-provisioning/#comprendiendo-los-enlaces","title":"Comprendiendo los Enlaces","text":"
flowchart LR\n    subgraph \"Su Red\"\n        D1[Su DZD 1<br/>NYC]\n        D2[Su DZD 2<br/>LAX]\n    end\n\n    subgraph \"Otro Contribuidor\"\n        O1[Su DZD<br/>NYC]\n    end\n\n    D1 ---|Enlace WAN<br/>Mismo contribuidor| D2\n    D1 ---|Enlace DZX<br/>Diferentes contribuidores| O1
Tipo de Enlace Conecta Aceptaci\u00f3n Enlace WAN Dos de SUS dispositivos Autom\u00e1tica (usted posee ambos) Enlace DZX Su dispositivo a OTRO contribuidor Requiere su aceptaci\u00f3n"},{"location":"es/contribute-provisioning/#paso-41-crear-enlaces-wan-si-tiene-multiples-dispositivos","title":"Paso 4.1: Crear Enlaces WAN (si tiene m\u00faltiples dispositivos)","text":"

Los enlaces WAN conectan sus propios dispositivos:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Ejemplo:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Salida esperada:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"es/contribute-provisioning/#paso-42-crear-enlaces-dzx","title":"Paso 4.2: Crear Enlaces DZX","text":"

Los enlaces DZX conectan su dispositivo directamente al DZD de otro contribuidor:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

Salida esperada:

Signature: 8mKp3W...truncated...2nRx7\n

Despu\u00e9s de crear un enlace DZX, el otro contribuidor debe aceptarlo:

# El OTRO contribuidor ejecuta esto\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

Salida esperada (para el contribuidor que acepta):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"es/contribute-provisioning/#paso-43-verificar-enlaces","title":"Paso 4.3: Verificar Enlaces","text":"
doublezero link list\n

Ejemplo de salida:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Los enlaces deben mostrar el estado activated una vez que ambos lados est\u00e9n configurados.

"},{"location":"es/contribute-provisioning/#instalacion-de-agentes","title":"Instalaci\u00f3n de Agentes","text":"

Dos agentes de software se ejecutan en su DZD:

flowchart TB\n    subgraph \"Su DZD\"\n        CA[Agente de Configuraci\u00f3n]\n        TA[Agente de Telemetr\u00eda]\n        HW[Hardware/Software del Switch]\n    end\n\n    CA -->|Obtiene configuraci\u00f3n| CTRL[Servicio Controlador]\n    CA -->|Aplica configuraci\u00f3n| HW\n\n    HW -->|M\u00e9tricas| TA\n    TA -->|Env\u00eda onchain| BC[Ledger DoubleZero]
Agente Qu\u00e9 Hace Agente de Configuraci\u00f3n Obtiene configuraci\u00f3n del controlador, la aplica a su switch Agente de Telemetr\u00eda Mide latencia/p\u00e9rdida hacia otros dispositivos, reporta m\u00e9tricas onchain"},{"location":"es/contribute-provisioning/#paso-44-instalar-el-agente-de-configuracion","title":"Paso 4.4: Instalar el Agente de Configuraci\u00f3n","text":""},{"location":"es/contribute-provisioning/#habilitar-la-api-en-su-switch","title":"Habilitar la API en su switch","text":"

Agregar a la configuraci\u00f3n EOS:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Nota sobre VRF

Reemplace default con el nombre de su VRF de gesti\u00f3n si es diferente (por ejemplo, management).

"},{"location":"es/contribute-provisioning/#descargar-e-instalar-el-agente","title":"Descargar e instalar el agente","text":"
# Entrar al bash en el switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extensi\u00f3n EOS\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-provisioning/#verificar-la-extension","title":"Verificar la extensi\u00f3n","text":"
switch# show extensions\n

El estado debe ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"es/contribute-provisioning/#configurar-e-iniciar-el-agente","title":"Configurar e iniciar el agente","text":"

Agregar a la configuraci\u00f3n EOS:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Nota sobre VRF

Si su VRF de gesti\u00f3n no es default (es decir, el espacio de nombres no es ns-default), prefije el comando exec con exec /sbin/ip netns exec ns-<VRF>. Por ejemplo, si su VRF es management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Obtenga la pubkey de su dispositivo desde doublezero device list (la columna account).

"},{"location":"es/contribute-provisioning/#verificar-que-esta-ejecutandose","title":"Verificar que est\u00e1 ejecut\u00e1ndose","text":"
switch# show agent doublezero-agent logs\n

Deber\u00eda ver \"Starting doublezero-agent\" y conexiones exitosas al controlador.

"},{"location":"es/contribute-provisioning/#paso-45-instalar-el-agente-de-telemetria","title":"Paso 4.5: Instalar el Agente de Telemetr\u00eda","text":""},{"location":"es/contribute-provisioning/#copiar-la-clave-de-editor-de-metricas-a-su-dispositivo","title":"Copiar la clave de editor de m\u00e9tricas a su dispositivo","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"es/contribute-provisioning/#registrar-el-editor-de-metricas-onchain","title":"Registrar el editor de m\u00e9tricas onchain","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

Obtenga la pubkey de su archivo metrics-publisher.json.

"},{"location":"es/contribute-provisioning/#descargar-e-instalar-el-agente_1","title":"Descargar e instalar el agente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Instalar como extensi\u00f3n EOS\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"es/contribute-provisioning/#verificar-la-extension_1","title":"Verificar la extensi\u00f3n","text":"
switch# show extensions\n

El estado debe ser \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"es/contribute-provisioning/#configurar-e-iniciar-el-agente_1","title":"Configurar e iniciar el agente","text":"

Agregar a la configuraci\u00f3n EOS:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Nota sobre VRF

Si su VRF de gesti\u00f3n no es default (es decir, el espacio de nombres no es ns-default), agregue --management-namespace ns-<VRF> al comando exec. Por ejemplo, si su VRF es management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"es/contribute-provisioning/#verificar-que-esta-ejecutandose_1","title":"Verificar que est\u00e1 ejecut\u00e1ndose","text":"
switch# show agent doublezero-telemetry logs\n

Deber\u00eda ver \"Starting telemetry collector\" y \"Starting submission loop\".

"},{"location":"es/contribute-provisioning/#fase-5-rodaje-del-enlace","title":"Fase 5: Rodaje del Enlace","text":"

Todos los nuevos enlaces deben rodar antes de transportar tr\u00e1fico

Los nuevos enlaces deben estar drenados durante al menos 24 horas antes de activarse para tr\u00e1fico de producci\u00f3n. Este requisito de rodaje est\u00e1 definido en RFC12: Aprovisionamiento de Red, que especifica ~200,000 slots del Ledger DZ (~20 horas) de m\u00e9tricas limpias antes de que un enlace est\u00e9 listo para servicio.

Con los agentes instalados y funcionando, monitoree sus enlaces en metrics.doublezero.xyz durante al menos 24 horas consecutivas:

Solo quite el drenado del enlace una vez que el per\u00edodo de rodaje muestre un enlace limpio con cero p\u00e9rdidas y cero errores.

"},{"location":"es/contribute-provisioning/#fase-6-verificacion-y-activacion","title":"Fase 6: Verificaci\u00f3n y Activaci\u00f3n","text":"

Repase esta lista de verificaci\u00f3n para confirmar que todo est\u00e1 funcionando.

Su dispositivo comienza bloqueado (max_users = 0)

Cuando se crea un dispositivo, max_users se establece en 0 por defecto. Esto significa que ning\u00fan usuario puede conectarse a \u00e9l todav\u00eda. Esto es intencional: debe verificar que todo funciona antes de aceptar tr\u00e1fico de usuarios.

Antes de establecer max_users por encima de 0, debe:

  1. Confirmar que todos los enlaces han completado su rodaje de 24 horas con cero p\u00e9rdidas/errores en metrics.doublezero.xyz
  2. Coordinar con DZ/Malbec Labs para ejecutar una prueba de conectividad:
    • \u00bfPuede un usuario de prueba conectarse a su dispositivo?
    • \u00bfEl usuario recibe rutas sobre la red DZ?
    • \u00bfPuede el usuario enrutar tr\u00e1fico sobre la red DZ de extremo a extremo?
  3. Solo despu\u00e9s de que DZ/ML confirme que las pruebas pasen, establezca max_users en 96:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"es/contribute-provisioning/#verificaciones-del-dispositivo","title":"Verificaciones del Dispositivo","text":"
# Su dispositivo deber\u00eda aparecer con el estado \"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

Salida esperada:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Sus interfaces deber\u00edan estar listadas\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

Salida esperada:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"es/contribute-provisioning/#verificaciones-de-enlace","title":"Verificaciones de Enlace","text":"
# Los enlaces deben mostrar el estado \"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

Salida esperada:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"es/contribute-provisioning/#verificaciones-de-agentes","title":"Verificaciones de Agentes","text":"

En el switch:

# El agente de configuraci\u00f3n debe mostrar obtenciones de configuraci\u00f3n exitosas\nswitch# show agent doublezero-agent logs | tail -20\n\n# El agente de telemetr\u00eda debe mostrar env\u00edos exitosos\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"es/contribute-provisioning/#diagrama-de-verificacion-final","title":"Diagrama de Verificaci\u00f3n Final","text":"
flowchart TB\n    subgraph \"Lista de Verificaci\u00f3n\"\n        D[Estado del Dispositivo: activated?]\n        I[Interfaces: registradas?]\n        L[Enlaces: activated?]\n        CA[Agente de Configuraci\u00f3n: obteniendo configuraci\u00f3n?]\n        TA[Agente de Telemetr\u00eda: enviando m\u00e9tricas?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[Todas las Verificaciones Pasan] --> NOTIFY[Notificar a DZF/Malbec Labs<br/>\u00a1Est\u00e1 t\u00e9cnicamente listo!]
"},{"location":"es/contribute-provisioning/#solucion-de-problemas","title":"Soluci\u00f3n de Problemas","text":""},{"location":"es/contribute-provisioning/#la-creacion-del-dispositivo-falla","title":"La creaci\u00f3n del dispositivo falla","text":""},{"location":"es/contribute-provisioning/#enlace-atascado-en-estado-requested","title":"Enlace atascado en estado \"requested\"","text":""},{"location":"es/contribute-provisioning/#el-agente-de-configuracion-no-se-conecta","title":"El Agente de Configuraci\u00f3n no se conecta","text":""},{"location":"es/contribute-provisioning/#el-agente-de-telemetria-no-envia","title":"El Agente de Telemetr\u00eda no env\u00eda","text":""},{"location":"es/contribute-provisioning/#proximos-pasos","title":"Pr\u00f3ximos Pasos","text":""},{"location":"es/contribute/","title":"Requisitos y Arquitectura para Contribuidores","text":"

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.

"},{"location":"es/contribute/#resumen","title":"Resumen","text":"

Cualquier persona que desee monetizar sus cables de fibra \u00f3ptica y hardware de red subutilizados puede contribuir a la red DoubleZero. Los contribuidores de red deben proporcionar ancho de banda dedicado entre dos puntos, operar dispositivos compatibles con DoubleZero (DZDs) en cada extremo, y una conexi\u00f3n a internet p\u00fablica en cada extremo. Los contribuidores de red tambi\u00e9n deben ejecutar software DoubleZero en cada DZD para proporcionar servicios como multicast, b\u00fasqueda de usuarios y filtrado de borde.

El contrato inteligente de DoubleZero es la piedra angular para garantizar que la red mantenga enlaces de alta calidad que puedan medirse e integrarse en la topolog\u00eda, permitiendo a nuestros controladores de red desarrollar la ruta m\u00e1s eficiente de extremo a extremo entre nuestros diferentes usuarios y puntos finales. Tras la ejecuci\u00f3n del contrato inteligente y el despliegue del equipo de red y el ancho de banda, una entidad se clasifica como contribuidor de red. Consulte Econom\u00eda de DoubleZero para comprender mejor la econom\u00eda detr\u00e1s de participar en DoubleZero como contribuidor de red.

"},{"location":"es/contribute/#requisitos-para-ser-contribuidor-de-red-doublezero","title":"Requisitos para ser Contribuidor de Red DoubleZero","text":""},{"location":"es/contribute/#guia-de-inicio-rapido","title":"Gu\u00eda de Inicio R\u00e1pido","text":"

Como contribuidor de red, la forma m\u00e1s sencilla de comenzar en DoubleZero es identificando capacidad en su red que pueda dedicarse a DoubleZero. Una vez identificados, los DZDs deben desplegarse, facilitando la red superpuesta DoubleZero que solo requiere alcanzabilidad IPv4 y un MTU m\u00ednimo de 2048 bytes como dependencias de la red del contribuidor.

La Figura 1 destaca el modelo m\u00e1s simple para contribuir con ancho de banda y servicios de env\u00edo y procesamiento de paquetes. Se despliega un DZD en cada centro de datos, interactuando con la red interna del contribuidor de red para proporcionar conectividad WAN de DoubleZero. Esto se complementa con internet local, t\u00edpicamente una soluci\u00f3n de Acceso Directo a Internet (DIA), que se usa como rampas de acceso para los usuarios de DoubleZero. Si bien se espera que DIA sea la opci\u00f3n preferida para facilitar el acceso a los usuarios de DoubleZero, son posibles numerosos modelos de conectividad, por ejemplo, cableado f\u00edsico a servidores, extensi\u00f3n de fabric de red, etc. Nos referimos a estas opciones como Elige Tu Propia Aventura (CYOA), proporcionando al contribuidor flexibilidad para conectar usuarios locales o remotos de una manera que mejor se adapte a sus pol\u00edticas de red internas.

Como con cualquier red, la alcanzabilidad es una parte fundamental de la arquitectura, ya que los contribuidores de red no pueden vivir en aislamiento. Como tal, el DZD debe tener un enlace a un Exchange DoubleZero (DZX) para crear una red contigua entre los participantes.

Figura 1: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 2 Centros de Datos - Contribuidor \u00danico"},{"location":"es/contribute/#ejemplos-de-contribuciones","title":"Ejemplos de Contribuciones","text":"

Las formas en que un contribuidor de red puede hacer crecer sus contribuciones a DoubleZero son muchas, incluyendo:

"},{"location":"es/contribute/#ejemplo-1-contribuidor-unico-3-centros-de-datos-dos-enlaces","title":"Ejemplo 1: Contribuidor \u00danico, 3 Centros de Datos, Dos Enlaces","text":"Figura 2: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 3 Centros de Datos - Contribuidor \u00danico

Un solo DZD puede soportar m\u00faltiples enlaces contribuidos a DoubleZero. La Figura 2 ilustra una topolog\u00eda potencial si un solo centro de datos, denominado 1, termina el ancho de banda hacia dos centros de datos remotos diferentes, 2 y 3. En este escenario, cada centro de datos contiene solo 1 DZD. Todos los DZDs utilizan DIA para las rampas de acceso de usuarios como su interfaz CYOA.

"},{"location":"es/contribute/#ejemplo-2-contribuidor-unico-3-centros-de-datos-tres-enlaces","title":"Ejemplo 2: Contribuidor \u00danico, 3 Centros de Datos, Tres Enlaces","text":"

La Figura 3 describe la topolog\u00eda de DoubleZero cuando un \u00fanico contribuidor despliega tres enlaces en una topolog\u00eda triangular entre 3 centros de datos. En un escenario similar al ejemplo 1, se despliega un \u00fanico DZD en los centros de datos 1, 2 y 3, cada uno soportando 2 enlaces de red independientes. La topolog\u00eda resultante es un tri\u00e1ngulo o anillo entre los centros de datos.

Figura 3: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 3 Centros de Datos - Contribuidor \u00danico"},{"location":"es/contribute/#exchange-doublezero","title":"Exchange DoubleZero","text":"

La creaci\u00f3n de una red contigua es un elemento fundamental de la arquitectura DoubleZero. Los contribuidores se interconectan a trav\u00e9s de un Exchange DoubleZero (DZX) dentro de un \u00e1rea metropolitana, que es una ciudad como Nueva York (NYC), Londres (LON) o Tokio (TYO). Un DZX es un fabric de red similar a un Exchange de Internet, que permite el peering y el intercambio de rutas.

En la figura 4, el contribuidor de red 1 opera en los centros de datos 1, 2 y 3, mientras que el contribuidor de red 2 opera en los centros de datos 2, 4 y 5. Al interconectarse en el centro de datos 2, el alcance de la red DoubleZero aumenta a 5 centros de datos contiguos.

Figura 4: Contribuci\u00f3n de Ancho de Banda de Red DoubleZero Entre 2 Contribuidores de Ancho de Banda de Red"},{"location":"es/contribute/#opciones-de-contribucion-de-ancho-de-banda","title":"Opciones de Contribuci\u00f3n de Ancho de Banda","text":"

DoubleZero requiere que un contribuidor de red ofrezca conectividad integrada mediante un perfil garantizado de ancho de banda, latencia y jitter entre DZDs en dos centros de datos terminales expresado a trav\u00e9s de un contrato inteligente. DoubleZero no exige c\u00f3mo un contribuidor de red implementa su contribuci\u00f3n; sin embargo, en las siguientes secciones proporcionamos opciones indicativas para su uso a su sola discreci\u00f3n.

Las \u00e1reas importantes a considerar para un contribuidor de red podr\u00edan ser:

"},{"location":"es/contribute/#ancho-de-banda-de-capa-1","title":"Ancho de Banda de Capa 1","text":"Figura 5: Servicios \u00d3pticos de Capa 1

El ancho de banda de Capa 1, descrito m\u00e1s formalmente como servicios de longitud de onda, puede ver capacidad dedicada aprovisionada en una infraestructura \u00f3ptica existente, como DWDM, CWDM o mediante multiplexores \u00f3pticos (MUX). En la figura 5, los DZDs utilizan una \u00f3ptica de color que se conecta a un MUX L1, que intercala la longitud de onda del DZD en una fibra oscura existente.

Esta soluci\u00f3n tiene numerosos beneficios para los contribuidores de red que ya operan una red troncal existente. Los cambios operativos iterativos, as\u00ed como los requisitos adicionales de CAPEX y OPEX, son modestos. Esta opci\u00f3n es particularmente robusta para ofrecer segregaci\u00f3n de los servicios de red del contribuidor.

"},{"location":"es/contribute/#ancho-de-banda-de-red-conmutada-por-paquetes","title":"Ancho de Banda de Red Conmutada por Paquetes","text":"

Las redes conmutadas por paquetes pueden considerarse una red empresarial t\u00edpica, ejecutando protocolos est\u00e1ndar de enrutamiento y conmutaci\u00f3n para soportar aplicaciones de negocios. Hay numerosas tecnolog\u00edas de red que logran conectividad, por ejemplo, extensiones de capa 2 (L2) usando etiquetas VLAN.

"},{"location":"es/contribute/#extension-l2","title":"Extensi\u00f3n L2","text":"Figura 6: Redes Conmutadas por Paquetes - Extensi\u00f3n L2

Una extensi\u00f3n L2 como se muestra en la Figura 6 puede facilitarse mediante el etiquetado de VLAN. El puerto de un DZD puede conectarse al switch de red interna de un contribuidor, con el puerto del switch configurado como puerto de acceso en, por ejemplo, VLAN 10. Mediante el etiquetado 802.1q, esta VLAN puede llevarse a trav\u00e9s de m\u00faltiples saltos de switch en la red del contribuidor, terminando en el switch que interact\u00faa con el DZD remoto.

Esta soluci\u00f3n se beneficia de ser ampliamente compatible y relativamente f\u00e1cil de implementar, al tiempo que crea segmentaci\u00f3n entre DoubleZero y los servicios de capa 3 internos. El ancho de banda puede controlarse seg\u00fan la velocidad de interfaz del switch o enrutador interno del contribuidor. Se debe prestar especial atenci\u00f3n al rendimiento a trav\u00e9s de la red L2 interna compartida mediante tecnolog\u00edas como Calidad de Servicio (QoS) u otras pol\u00edticas de gesti\u00f3n de tr\u00e1fico. Sin embargo, las inversiones adicionales de CAPEX y OPEX deber\u00edan ser modestas si hay capacidad disponible dentro de la red troncal del contribuidor.

"},{"location":"es/contribute/#ancho-de-banda-dedicado-de-terceros","title":"Ancho de Banda Dedicado de Terceros","text":"Figura 7: Ancho de Banda Dedicado de Terceros

Si bien reutilizar la capacidad disponible ser\u00e1 atractivo para muchos contribuidores de red, tambi\u00e9n se puede dedicar ancho de banda reci\u00e9n adquirido a DoubleZero. En tal escenario, el DZD se conectar\u00eda directamente al operador de terceros sin ning\u00fan dispositivo interno del contribuidor en l\u00ednea (figura 7).

Esta opci\u00f3n es atractiva ya que garantiza ancho de banda dedicado para DoubleZero, es operativamente simple y asegura una segmentaci\u00f3n completa de cualquier otro servicio de red. Esta opci\u00f3n probablemente tendr\u00e1 el mayor aumento de OPEX y requiere nuevos contratos de servicio con operadores de terceros.

"},{"location":"es/contribute/#requisitos-de-hardware","title":"Requisitos de Hardware","text":""},{"location":"es/contribute/#contribucion-de-ancho-de-banda-de-100-gbps","title":"Contribuci\u00f3n de Ancho de Banda de 100 Gbps","text":"

Tenga en cuenta que las cantidades a continuaci\u00f3n reflejan el equipo necesario en dos centros de datos, es decir, el hardware total necesario para desplegar 1 cable de fibra \u00f3ptica para la contribuci\u00f3n de ancho de banda.

*Todas las FPGAs est\u00e1n sujetas a pruebas finales. Las contribuciones de 10G pueden ser compatibles usando switches Arista 7130LBR con FPGAs Virtex\u00ae UltraScale+\u2122 integradas duales (si tiene alguna pregunta, la Fundaci\u00f3n DoubleZero / Malbec Labs est\u00e1n felices de proporcionar m\u00e1s informaci\u00f3n)."},{"location":"es/contribute/#requisitos-de-funcion-y-puerto","title":"Requisitos de Funci\u00f3n y Puerto","text":"Funci\u00f3n Velocidad de Puerto Requisito DZ CANT Nota Ancho de Banda Privado 100G S\u00ed 1 Acceso Directo a Internet (DIA) 10G S\u00ed 2 DoubleZero eXchange (DZX) 100G S\u00ed* 1 Debe ser compatible cuando m\u00e1s de 3 proveedores operan en la misma \u00e1rea metropolitana; antes de esto, se pueden usar conexiones cruzadas u otros acuerdos de peering para interconectarse con otros proveedores. Gesti\u00f3n No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor. Consola No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor."},{"location":"es/contribute/#hardware-de-red-dzd","title":"Hardware de Red DZD","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota AMD* V80* 24540474 S\u00ed 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ed 2 Pueden ser posibles alternativas si los tiempos de entrega son desafiantes."},{"location":"es/contribute/#optica-100g","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 100GBASE-LR QSFP-100G-LR No 16 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Se requieren 100G para conectar FPGAs."},{"location":"es/contribute/#optica-10g","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 10GBASE-LR SFP-10G-LR No 2 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 2 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor."},{"location":"es/contribute/#direccionamiento-ip","title":"Direccionamiento IP","text":"Direccionamiento IP Tama\u00f1o M\u00ednimo de Subred Requisito DZ Nota IPv4 P\u00fablica /29 S\u00ed (para DZDs de borde/h\u00edbridos) Debe ser enrutable a trav\u00e9s de DIA. Podemos eliminar la necesidad de esto con el tiempo.

Aseg\u00farese de que el pool /29 completo est\u00e9 disponible para el protocolo DZ. Cualquier requisito de direccionamiento punto a punto, por ejemplo, en interfaces DIA, debe gestionarse mediante un pool de direcciones diferente.

"},{"location":"es/contribute/#contribucion-de-ancho-de-banda-de-10-gbps","title":"Contribuci\u00f3n de Ancho de Banda de 10 Gbps","text":"

Tenga en cuenta que las cantidades reflejan el equipo de dos centros de datos, es decir, el hardware total necesario para desplegar 1 contribuci\u00f3n de ancho de banda.

"},{"location":"es/contribute/#requisitos-de-funcion-y-puerto_1","title":"Requisitos de Funci\u00f3n y Puerto","text":"Funci\u00f3n Velocidad de Puerto Requisito DZ CANT Nota Ancho de Banda Privado 10G S\u00ed 1 Acceso Directo a Internet (DIA) 10G S\u00ed 2 DoubleZero eXchange (DZX) 100G S\u00ed* 1 Debe ser compatible cuando m\u00e1s de 3 proveedores operan en la misma \u00e1rea metropolitana; antes de esto, se pueden usar conexiones cruzadas u otros acuerdos de peering para interconectarse con otros proveedores. Gesti\u00f3n No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor. Consola No 1 Determinado por las propias pol\u00edticas de gesti\u00f3n interna del contribuidor."},{"location":"es/contribute/#hardware","title":"Hardware","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota AMD* V80* 24540474* S\u00ed 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ed 2 Pueden ser posibles alternativas si los tiempos de entrega son desafiantes."},{"location":"es/contribute/#optica-100g_1","title":"\u00d3ptica - 100G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 100GBASE-LR QSFP-100G-LR No 14 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Se requieren 100G para conectar FPGAs."},{"location":"es/contribute/#optica-10g_1","title":"\u00d3ptica - 10G","text":"Fabricante Modelo N\u00famero de Parte Requisito DZ CANT Nota Arista 10GBASE-LR SFP-10G-LR No 4 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 4 La elecci\u00f3n de cableado y \u00f3ptica est\u00e1 disponible a discreci\u00f3n del contribuidor. ---"},{"location":"es/contribute/#direccionamiento-ip_1","title":"Direccionamiento IP","text":"Direccionamiento IP Tama\u00f1o M\u00ednimo de Subred Requisito DZ Nota IPv4 P\u00fablica /29 S\u00ed (para DZDs de borde/h\u00edbridos) Debe ser enrutable a trav\u00e9s de DIA. Podemos eliminar la necesidad de esto con el tiempo.

Aseg\u00farese de que el pool /29 completo est\u00e9 disponible para el protocolo DZ. Cualquier requisito de direccionamiento punto a punto, por ejemplo, en interfaces DIA, debe gestionarse mediante un pool de direcciones diferente.

"},{"location":"es/contribute/#requisitos-del-centro-de-datos","title":"Requisitos del Centro de Datos","text":""},{"location":"es/contribute/#requisitos-de-rack-y-energia","title":"Requisitos de Rack y Energ\u00eda","text":"Requisito Especificaci\u00f3n Espacio en Rack 4U Energ\u00eda 4KW (recomendado)"},{"location":"es/contribute/#proximos-pasos","title":"Pr\u00f3ximos Pasos","text":"

\u00bfListo para aprovisionar su primer DZD? Contin\u00fae a la Gu\u00eda de Aprovisionamiento de Dispositivos.

"},{"location":"es/glossary/","title":"Glosario","text":"

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.

Esta p\u00e1gina define la terminolog\u00eda espec\u00edfica de DoubleZero utilizada en toda la documentaci\u00f3n.

"},{"location":"es/glossary/#infraestructura-de-red","title":"Infraestructura de Red","text":""},{"location":"es/glossary/#dzd-dispositivo-doublezero","title":"DZD (Dispositivo DoubleZero)","text":"

El hardware f\u00edsico de conmutaci\u00f3n de red que termina los enlaces DoubleZero y ejecuta el software Agente DoubleZero. Los DZDs se despliegan en centros de datos y proporcionan servicios de enrutamiento, procesamiento de paquetes y conectividad de usuarios. Cada DZD requiere especificaciones de hardware espec\u00edficas y ejecuta tanto el Agente de Configuraci\u00f3n como el Agente de Telemetr\u00eda.

"},{"location":"es/glossary/#dzx-exchange-doublezero","title":"DZX (Exchange DoubleZero)","text":"

Puntos de interconexi\u00f3n en la red de malla donde se unen diferentes enlaces de contribuidores. Los DZXs est\u00e1n ubicados en las principales \u00e1reas metropolitanas (por ejemplo, NYC, LON, TYO) donde se producen intersecciones de red. Los contribuidores de red deben interconectar sus enlaces a la malla DoubleZero m\u00e1s amplia en el DZX m\u00e1s cercano. Concepto similar a un Internet Exchange (IX).

"},{"location":"es/glossary/#enlace-wan","title":"Enlace WAN","text":"

Un enlace de Red de \u00c1rea Amplia entre dos DZDs operados por el mismo contribuidor. Los enlaces WAN proporcionan conectividad de backbone dentro de la infraestructura de un solo contribuidor.

"},{"location":"es/glossary/#enlace-dzx","title":"Enlace DZX","text":"

Un enlace entre DZDs operados por diferentes contribuidores, establecido en un DZX. Los enlaces DZX requieren aceptaci\u00f3n expl\u00edcita de ambas partes.

"},{"location":"es/glossary/#prefijo-dz","title":"Prefijo DZ","text":"

Asignaciones de direcciones IP en formato CIDR asignadas a un DZD para el direccionamiento de la red superpuesta. Se especifica durante la creaci\u00f3n del dispositivo usando el par\u00e1metro --dz-prefixes.

"},{"location":"es/glossary/#tipos-de-dispositivos","title":"Tipos de Dispositivos","text":""},{"location":"es/glossary/#dispositivo-de-borde","title":"Dispositivo de Borde","text":"

Un DZD que proporciona conectividad de usuarios a la red DoubleZero. Los dispositivos de borde utilizan interfaces CYOA para terminar usuarios (validadores, operadores RPC) y conectarlos a la red.

"},{"location":"es/glossary/#dispositivo-de-transito","title":"Dispositivo de Tr\u00e1nsito","text":"

Un DZD que proporciona conectividad de backbone dentro de la red DoubleZero. Los dispositivos de tr\u00e1nsito mueven el tr\u00e1fico entre DZDs pero no terminan conexiones de usuarios directamente.

"},{"location":"es/glossary/#dispositivo-hibrido","title":"Dispositivo H\u00edbrido","text":"

Un DZD que combina funcionalidades de borde y tr\u00e1nsito, proporcionando tanto conectividad de usuarios como enrutamiento de backbone.

"},{"location":"es/glossary/#conectividad","title":"Conectividad","text":""},{"location":"es/glossary/#cyoa-elige-tu-propia-aventura","title":"CYOA (Elige Tu Propia Aventura)","text":"

Tipos de interfaz que permiten a los contribuidores registrar opciones de conectividad para que los usuarios se conecten a la red DoubleZero. Las interfaces CYOA incluyen varios m\u00e9todos como DIA, t\u00faneles GRE y peering privado. Consulte Creaci\u00f3n de Interfaces CYOA para obtener detalles de configuraci\u00f3n.

"},{"location":"es/glossary/#dia-acceso-directo-a-internet","title":"DIA (Acceso Directo a Internet)","text":"

Un t\u00e9rmino de red est\u00e1ndar para la conectividad proporcionada a trav\u00e9s de la internet p\u00fablica. En DoubleZero, DIA es un tipo de interfaz CYOA donde los usuarios (validadores, operadores RPC) se conectan a un DZD a trav\u00e9s de su conexi\u00f3n a internet existente.

"},{"location":"es/glossary/#ibrl-aumentar-ancho-de-banda-reducir-latencia","title":"IBRL (Aumentar Ancho de Banda Reducir Latencia)","text":"

Un modo de conexi\u00f3n que permite a los validadores y nodos RPC conectarse a DoubleZero sin reiniciar sus clientes blockchain. IBRL usa la direcci\u00f3n IP p\u00fablica existente y establece un t\u00fanel superpuesto al DZD m\u00e1s cercano. Consulte Conexi\u00f3n Mainnet-Beta para instrucciones de configuraci\u00f3n.

"},{"location":"es/glossary/#multicast","title":"Multicast","text":"

Un m\u00e9todo de entrega de paquetes de uno a muchos compatible con DoubleZero. El modo multicast tiene dos roles: publicador (env\u00eda paquetes a trav\u00e9s de la red) y suscriptor (recibe paquetes del publicador). Utilizado por equipos de desarrollo para una distribuci\u00f3n eficiente de datos. Consulte Otra Conexi\u00f3n Multicast para obtener detalles de conexi\u00f3n.

"},{"location":"es/glossary/#componentes-de-software","title":"Componentes de Software","text":""},{"location":"es/glossary/#doublezerod","title":"doublezerod","text":"

El servicio daemon DoubleZero que se ejecuta en servidores de usuarios (validadores, nodos RPC). Gestiona la conexi\u00f3n a la red DoubleZero, maneja el establecimiento de t\u00faneles y mantiene la conectividad con los DZDs. Se configura mediante systemd y se controla a trav\u00e9s de la CLI doublezero.

"},{"location":"es/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

La interfaz de l\u00ednea de comandos para interactuar con la red DoubleZero. Se usa para conectarse, gestionar identidades, verificar el estado y realizar operaciones administrativas. Se comunica con el daemon doublezerod.

"},{"location":"es/glossary/#agente-de-configuracion","title":"Agente de Configuraci\u00f3n","text":"

Agente de software que se ejecuta en los DZDs y gestiona la configuraci\u00f3n del dispositivo. Lee la configuraci\u00f3n del servicio Controlador y aplica los cambios al dispositivo. Consulte Instalaci\u00f3n del Agente de Configuraci\u00f3n para la configuraci\u00f3n.

"},{"location":"es/glossary/#agente-de-telemetria","title":"Agente de Telemetr\u00eda","text":"

Agente de software que se ejecuta en los DZDs y recopila m\u00e9tricas de rendimiento (latencia, jitter, p\u00e9rdida de paquetes) y las env\u00eda al ledger DoubleZero. Consulte Instalaci\u00f3n del Agente de Telemetr\u00eda para la configuraci\u00f3n.

"},{"location":"es/glossary/#controlador","title":"Controlador","text":"

Un servicio que proporciona configuraci\u00f3n a los agentes DZD. El Controlador deriva las configuraciones de dispositivos a partir del estado onchain en el ledger DoubleZero.

"},{"location":"es/glossary/#estados-de-enlace","title":"Estados de Enlace","text":""},{"location":"es/glossary/#activado","title":"Activado","text":"

El estado operativo normal de un enlace. El tr\u00e1fico fluye a trav\u00e9s del enlace y participa en las decisiones de enrutamiento.

"},{"location":"es/glossary/#drenado-suave","title":"Drenado Suave","text":"

Un estado de mantenimiento donde el tr\u00e1fico se desalienta en un enlace espec\u00edfico. Se usa para ventanas de mantenimiento controladas. Puede transitar a activado o drenado duro.

"},{"location":"es/glossary/#drenado-duro","title":"Drenado Duro","text":"

Un estado de mantenimiento donde el enlace se retira completamente del servicio. No fluye tr\u00e1fico a trav\u00e9s del enlace. Debe transitar a drenado suave antes de volver a activado.

"},{"location":"es/glossary/#organizaciones-y-tokens","title":"Organizaciones y Tokens","text":""},{"location":"es/glossary/#dzf-fundacion-doublezero","title":"DZF (Fundaci\u00f3n DoubleZero)","text":"

La Fundaci\u00f3n DoubleZero es una empresa de fundaci\u00f3n sin fines de lucro de las Islas Caim\u00e1n que se form\u00f3 para apoyar el desarrollo, la descentralizaci\u00f3n, la seguridad y la adopci\u00f3n de la red DoubleZero.

"},{"location":"es/glossary/#token-2z","title":"Token 2Z","text":"

El token nativo de la red DoubleZero. Se usa para pagar las tarifas de los validadores y se distribuye como recompensas a los contribuidores. Los validadores pueden pagar tarifas en 2Z a trav\u00e9s de un programa de intercambio onchain. Consulte Pagar Tarifas con 2Z e Intercambiar SOL por 2Z.

"},{"location":"es/glossary/#contribuidor","title":"Contribuidor","text":"

Un proveedor de infraestructura de red que aporta ancho de banda y hardware a la red DoubleZero. Los contribuidores operan DZDs, proporcionan enlaces WAN y DZX, y reciben incentivos en tokens 2Z por su contribuci\u00f3n. Consulte la Documentaci\u00f3n para Contribuidores para comenzar.

"},{"location":"es/glossary/#conceptos-de-redes","title":"Conceptos de Redes","text":""},{"location":"es/glossary/#mtu-unidad-maxima-de-transmision","title":"MTU (Unidad M\u00e1xima de Transmisi\u00f3n)","text":"

El tama\u00f1o m\u00e1ximo de paquete (en bytes) que se puede transmitir a trav\u00e9s de un enlace de red. Los enlaces WAN de DoubleZero t\u00edpicamente usan MTU 9000 (tramas jumbo) para mayor eficiencia.

"},{"location":"es/glossary/#vrf-enrutamiento-y-reenvio-virtual","title":"VRF (Enrutamiento y Reenv\u00edo Virtual)","text":"

Una tecnolog\u00eda que permite que existan m\u00faltiples tablas de enrutamiento aisladas en el mismo router f\u00edsico. Los contribuidores a menudo usan un VRF de gesti\u00f3n separado para aislar el tr\u00e1fico de gesti\u00f3n del switch del tr\u00e1fico de producci\u00f3n.

"},{"location":"es/glossary/#gre-encapsulacion-de-enrutamiento-generico","title":"GRE (Encapsulaci\u00f3n de Enrutamiento Gen\u00e9rico)","text":"

Un protocolo de tunelizaci\u00f3n que encapsula paquetes de red dentro de paquetes IP. Usado por conexiones IBRL y CYOA para crear t\u00faneles superpuestos entre usuarios y DZDs.

"},{"location":"es/glossary/#bgp-protocolo-de-puerta-de-enlace-de-borde","title":"BGP (Protocolo de Puerta de Enlace de Borde)","text":"

El protocolo de enrutamiento utilizado para intercambiar informaci\u00f3n de enrutamiento entre redes en internet. DoubleZero usa BGP internamente con ASN 65342.

"},{"location":"es/glossary/#asn-numero-de-sistema-autonomo","title":"ASN (N\u00famero de Sistema Aut\u00f3nomo)","text":"

Un identificador \u00fanico asignado a una red para el enrutamiento BGP. Todos los dispositivos DoubleZero usan ASN 65342 para el proceso BGP interno.

"},{"location":"es/glossary/#interfaz-loopback","title":"Interfaz Loopback","text":"

Una interfaz de red virtual en un router/switch utilizada para gesti\u00f3n y prop\u00f3sitos de enrutamiento. Los DZDs usan Loopback255 (VPNv4) y Loopback256 (IPv4) para el enrutamiento interno.

"},{"location":"es/glossary/#cidr-enrutamiento-entre-dominios-sin-clases","title":"CIDR (Enrutamiento entre Dominios sin Clases)","text":"

Una notaci\u00f3n para especificar rangos de direcciones IP. El formato es IP/longitud-de-prefijo donde la longitud del prefijo indica el tama\u00f1o de la red (por ejemplo, /29 = 8 direcciones, /24 = 256 direcciones).

"},{"location":"es/glossary/#jitter","title":"Jitter","text":"

Variaci\u00f3n en la latencia de los paquetes a lo largo del tiempo. El bajo jitter es cr\u00edtico para aplicaciones en tiempo real.

"},{"location":"es/glossary/#rtt-tiempo-de-ida-y-vuelta","title":"RTT (Tiempo de Ida y Vuelta)","text":"

El tiempo que tarda un paquete en viajar desde el origen hasta el destino y volver. Se usa para medir la latencia de red entre dispositivos.

"},{"location":"es/glossary/#twamp-protocolo-de-medicion-activa-bidireccional","title":"TWAMP (Protocolo de Medici\u00f3n Activa Bidireccional)","text":"

Un protocolo para medir m\u00e9tricas de rendimiento de red como la latencia y la p\u00e9rdida de paquetes. El Agente de Telemetr\u00eda usa TWAMP para recopilar m\u00e9tricas entre DZDs.

"},{"location":"es/glossary/#is-is-sistema-intermedio-a-sistema-intermedio","title":"IS-IS (Sistema Intermedio a Sistema Intermedio)","text":"

Un protocolo de enrutamiento de estado de enlace utilizado internamente por la red DoubleZero. Las m\u00e9tricas IS-IS se ajustan durante las operaciones de drenado de enlaces.

"},{"location":"es/glossary/#blockchain-y-claves","title":"Blockchain y Claves","text":""},{"location":"es/glossary/#onchain","title":"Onchain","text":"

En el contexto de DoubleZero, onchain se refiere a los datos y operaciones registrados en el ledger DoubleZero. A diferencia de las redes tradicionales donde las configuraciones de dispositivos y enlaces viven en sistemas de gesti\u00f3n centralizados, DoubleZero registra las registraciones de dispositivos, las configuraciones de enlaces y las presentaciones de telemetr\u00eda onchain, lo que hace que el estado de la red sea transparente y verificable por todos los participantes.

"},{"location":"es/glossary/#clave-de-servicio","title":"Clave de Servicio","text":"

Un par de claves criptogr\u00e1ficas utilizado para autenticar las operaciones de CLI. Esta es su identidad de contribuidor para interactuar con el contrato inteligente DoubleZero. Se almacena en ~/.config/solana/id.json.

"},{"location":"es/glossary/#clave-de-editor-de-metricas","title":"Clave de Editor de M\u00e9tricas","text":"

Un par de claves criptogr\u00e1ficas utilizado por el Agente de Telemetr\u00eda para firmar las presentaciones de m\u00e9tricas a la blockchain. Separado de la clave de servicio para el aislamiento de seguridad. Se almacena en ~/.config/doublezero/metrics-publisher.json.

"},{"location":"es/glossary/#hardware-y-software","title":"Hardware y Software","text":""},{"location":"es/glossary/#eos-sistema-operativo-extensible","title":"EOS (Sistema Operativo Extensible)","text":"

El sistema operativo de red de Arista que se ejecuta en los switches DZD. Los contribuidores instalan el Agente de Configuraci\u00f3n y el Agente de Telemetr\u00eda como extensiones EOS.

"},{"location":"es/glossary/#extension-eos","title":"Extensi\u00f3n EOS","text":"

Un paquete de software que puede instalarse en switches Arista EOS. Los agentes DZ se distribuyen como archivos .rpm y se instalan mediante el comando extension.

"},{"location":"es/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"es/multicast-admin/#gestion-de-grupos-multicast-en-doublezero","title":"Gesti\u00f3n de Grupos Multicast en DoubleZero","text":"

Un grupo multicast es una colecci\u00f3n l\u00f3gica de dispositivos o nodos de red que comparten un identificador com\u00fan (t\u00edpicamente una direcci\u00f3n IP multicast) para transmitir datos eficientemente a m\u00faltiples destinatarios. A diferencia de la comunicaci\u00f3n unicast (uno a uno) o broadcast (uno a todos), el multicast permite a un remitente transmitir un \u00fanico flujo de datos que es replicado por la red solo para los receptores que se han unido al grupo.

Este enfoque optimiza el uso del ancho de banda y reduce la carga tanto en el remitente como en la infraestructura de red, ya que los paquetes se transmiten solo una vez por enlace y se duplican solo cuando es necesario para llegar a m\u00faltiples suscriptores. Los grupos multicast se usan com\u00fanmente en escenarios como transmisi\u00f3n de video en vivo, conferencias, distribuci\u00f3n de datos financieros y sistemas de mensajer\u00eda en tiempo real.

En DoubleZero, los grupos multicast proporcionan un mecanismo seguro y controlado para gestionar qui\u00e9n puede enviar (publicadores) y recibir (suscriptores) datos dentro de cada grupo, garantizando una distribuci\u00f3n de informaci\u00f3n eficiente y gobernada.

flowchart LR\n    subgraph Publishers\n        P1[Publicador 1]\n        P2[Publicador 2]\n        P3[Publicador 3]\n    end\n    subgraph Subscribers\n        S1[Suscriptor 1]\n        S2[Suscriptor 2]\n        S3[Suscriptor 3]\n        S4[Suscriptor 4]\n    end\n    P1 --> B[Grupo Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

El diagrama anterior muestra c\u00f3mo m\u00faltiples usuarios pueden publicar mensajes en un grupo multicast, y m\u00faltiples usuarios pueden suscribirse para recibir esos mensajes. La red DoubleZero replica eficientemente los paquetes, asegurando que todos los suscriptores reciban los mensajes sin sobrecarga de transmisi\u00f3n innecesaria.

"},{"location":"es/multicast-admin/#1-creacion-y-listado-de-grupos-multicast","title":"1. Creaci\u00f3n y Listado de Grupos Multicast","text":"

Los grupos multicast son la base para la distribuci\u00f3n segura y eficiente de datos en DoubleZero. Cada grupo se identifica de forma \u00fanica y se configura con un ancho de banda y propietario espec\u00edficos. Solo los administradores de la Fundaci\u00f3n DoubleZero pueden crear nuevos grupos multicast, garantizando una gobernanza y asignaci\u00f3n de recursos adecuadas.

Una vez creados, los grupos multicast pueden listarse para proporcionar una visi\u00f3n general de todos los grupos disponibles, su configuraci\u00f3n y su estado actual. Esto es esencial para que los operadores de red y propietarios de grupos monitoreen recursos y gestionen el acceso.

Creaci\u00f3n de un grupo multicast:

Solo la Fundaci\u00f3n DoubleZero puede crear nuevos grupos multicast. El comando de creaci\u00f3n requiere un c\u00f3digo \u00fanico, el ancho de banda m\u00e1ximo y la clave p\u00fablica del propietario (o 'me' para el pagador actual).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Listar todos los grupos multicast:

Para listar todos los grupos multicast y ver informaci\u00f3n resumida (incluyendo el c\u00f3digo del grupo, IP multicast, ancho de banda, n\u00famero de publicadores y suscriptores, estado y propietario):

doublezero multicast group list\n

Este comando muestra una tabla con todos los grupos multicast y sus principales propiedades.

Una vez creado un grupo, el propietario puede gestionar qu\u00e9 usuarios pueden conectarse como publicadores o suscriptores.

"},{"location":"es/multicast-admin/#2-gestion-de-listas-de-permitidos-de-publicadoressuscriptores","title":"2. Gesti\u00f3n de Listas de Permitidos de Publicadores/Suscriptores","text":"

Las listas de permitidos de publicadores y suscriptores son esenciales para controlar el acceso a los grupos multicast en DoubleZero. Estas listas definen expl\u00edcitamente qu\u00e9 usuarios pueden publicar (enviar datos) o suscribirse (recibir datos) dentro de un grupo multicast espec\u00edfico.

Gestionar estas listas es responsabilidad del propietario del grupo, quien puede a\u00f1adir, eliminar o ver publicadores y suscriptores autorizados usando el CLI de DoubleZero.

Nota: Para suscribirse o publicar en un grupo multicast, un usuario debe estar primero autorizado para conectarse a DoubleZero siguiendo los procedimientos de conexi\u00f3n est\u00e1ndar. Los comandos de lista de permitidos descritos aqu\u00ed solo asocian un usuario DoubleZero ya autorizado con un grupo multicast. A\u00f1adir una nueva IP a la lista de permitidos de un grupo multicast no otorga por s\u00ed mismo acceso a DoubleZero; el usuario debe haber completado ya el proceso de autorizaci\u00f3n general antes de interactuar con grupos multicast.

"},{"location":"es/multicast-admin/#anadir-un-publicador-a-la-lista-de-permitidos","title":"A\u00f1adir un publicador a la lista de permitidos","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#eliminar-un-publicador-de-la-lista-de-permitidos","title":"Eliminar un publicador de la lista de permitidos","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#listar-la-lista-de-permitidos-de-publicadores-de-un-grupo","title":"Listar la lista de permitidos de publicadores de un grupo","text":"

Para listar todos los publicadores en la lista de permitidos de un grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist publisher list --code <CODE>\n

Este comando muestra todos los publicadores actualmente autorizados para conectarse al grupo especificado, incluyendo su cuenta, c\u00f3digo de grupo, IP del cliente y pagador de usuario.

"},{"location":"es/multicast-admin/#anadir-un-suscriptor-a-la-lista-de-permitidos","title":"A\u00f1adir un suscriptor a la lista de permitidos","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#eliminar-un-suscriptor-de-la-lista-de-permitidos","title":"Eliminar un suscriptor de la lista de permitidos","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"es/multicast-admin/#listar-la-lista-de-permitidos-de-suscriptores-de-un-grupo","title":"Listar la lista de permitidos de suscriptores de un grupo","text":"

Para listar todos los suscriptores en la lista de permitidos de un grupo multicast espec\u00edfico, use:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Este comando muestra todos los suscriptores actualmente autorizados para conectarse al grupo especificado.

Para m\u00e1s informaci\u00f3n sobre conexi\u00f3n y uso de multicast, consulte Otras Conexiones Multicast.

"},{"location":"es/paying-fees/","title":"Precios y Tarifas para Validadores","text":"

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.

Precios simples y alineados para validadores Solana

Las tarifas comenzar\u00e1n en la \u00e9poca 859, que inicia el s\u00e1bado 4 de octubre a las 4am ET. Se cobra una tarifa plana del 5% sobre las recompensas por firma de bloques y las tarifas de prioridad.

Las tarifas financian directamente la infraestructura que hace posible DoubleZero, incluyendo l\u00edneas de fibra f\u00edsica y equipos en centros de datos.

Una exploraci\u00f3n detallada sobre por qu\u00e9 existen las tarifas y el modelo de precios para validadores se puede encontrar aqu\u00ed.

Esta gu\u00eda se enfoca en c\u00f3mo se pagan las tarifas desde una perspectiva t\u00e9cnica.

"},{"location":"es/paying-fees/#modelo-de-liquidacion","title":"Modelo de Liquidaci\u00f3n","text":""},{"location":"es/paying-fees/#estimacion-de-tarifas","title":"Estimaci\u00f3n de Tarifas","text":"

Las estimaciones hist\u00f3ricas y los datos por pubkey est\u00e1n disponibles en el Repositorio de Estimaciones de Tarifas. El repositorio no reemplaza los datos on-chain. Usted es responsable del saldo on-chain, no del saldo en este repositorio.

\u00bfPreguntas? Contacte a Nihar Shah en nihar@doublezero.us

"},{"location":"es/paying-fees/#detalles-para-desarrolladores","title":"Detalles para Desarrolladores","text":""},{"location":"es/paying-fees/#interfaz-de-linea-de-comandos","title":"Interfaz de L\u00ednea de Comandos","text":"

El CLI de DoubleZero proporciona comandos para gestionar los dep\u00f3sitos de validadores y monitorear saldos. Necesitar\u00e1 SOL en la cuenta desde la que ejecute estos comandos para pagar el gas.

"},{"location":"es/paying-fees/#paso-1-comprender-la-deuda-adeudada","title":"Paso 1: Comprender la Deuda Adeudada","text":"

Para ver la deuda en una direcci\u00f3n espec\u00edfica puede usar este formato:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Examinaremos un ejemplo de salida a continuaci\u00f3n:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
En el ejemplo de salida hay dos posibles resultados bajo note. Not funded significa que la cuenta no ha sido financiada. En el ejemplo, 0.632515639 SOL needed es la cantidad pendiente de SOL necesaria para pagar todas las deudas actualmente adeudadas asociadas con el ID de Validador objetivo.

"},{"location":"es/paying-fees/#paso-2-pagar-la-deuda-adeudada","title":"Paso 2: Pagar la Deuda Adeudada","text":"

Note

Puede programar este comando para que se ejecute a intervalos regulares.

Para pagar la deuda adeudada puede usar el siguiente comando. Esto usar\u00e1 autom\u00e1ticamente el keypair predeterminado en $HOME/.config/solana/id.json

Puede especificar el keypair con el que desea pagar su deuda a\u00f1adiendo el argumento -k path/to/keypair.json al final del comando.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
A continuaci\u00f3n se proporciona un ejemplo de salida:

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: devuelve la cuenta de dep\u00f3sito que fue financiada

Funded: devuelve el hash de la transacci\u00f3n, que puede consultar en su explorador Solana favorito

Node ID: devuelve el ID del Validador por el que se pag\u00f3

Balance: devuelve la cantidad de SOL que hay en la cuenta de dep\u00f3sito, despu\u00e9s de que se complete la transferencia

"},{"location":"es/paying-fees2z/","title":"Paying fees2z","text":"

Revise el Descargo de Responsabilidad antes de acceder o usar el c\u00f3digo o cualquier material relacionado.

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.

Descargo de Responsabilidad

Este documento y el c\u00f3digo asociado se proporcionan \u00fanicamente con fines informativos y t\u00e9cnicos. La funcionalidad de conversi\u00f3n de tokens descrita aqu\u00ed es sin custodia: los usuarios interact\u00faan directamente con los contratos inteligentes subyacentes y retienen el control total de sus activos en todo momento.

El sistema puede depender de o interactuar con c\u00f3digo, fuentes de datos o mecanismos de precios y tarifas de terceros (por ejemplo, contratos inteligentes, APIs o exchanges descentralizados) que no son desarrollados, controlados ni revisados por los desarrolladores o publicadores. No se hace ninguna declaraci\u00f3n o garant\u00eda sobre la precisi\u00f3n, funcionalidad o seguridad de ning\u00fan componente de terceros. Los desarrolladores y publicadores de este c\u00f3digo no garantizan su exactitud, integridad o disponibilidad continua. El c\u00f3digo y los materiales relacionados se proporcionan \"tal cual\" y pueden contener errores, bugs o vulnerabilidades. El uso es completamente bajo su propio riesgo. Los desarrolladores y publicadores no reciben ninguna tarifa en conexi\u00f3n con el uso de estos contratos. No tienen ninguna obligaci\u00f3n de mantener, actualizar o apoyar el c\u00f3digo o la documentaci\u00f3n relacionada.

Este documento no constituye una oferta de venta, una solicitud de compra ni una recomendaci\u00f3n para participar en ninguna conversi\u00f3n de tokens, swap u otra transacci\u00f3n. No se proporciona asesoramiento legal, financiero ni de inversi\u00f3n. Los usuarios son los \u00fanicos responsables de determinar la legalidad de sus actividades. Deben revisar las leyes y regulaciones aplicables en su jurisdicci\u00f3n y consultar asesores independientes antes de usar el c\u00f3digo o participar en cualquier conversi\u00f3n. El uso est\u00e1 prohibido donde sea ilegal, incluso por personas o entidades sujetas a sanciones o en jurisdicciones restringidas.

En la medida m\u00e1xima permitida por la ley, los desarrolladores y publicadores rechazan toda responsabilidad por cualquier p\u00e9rdida, da\u00f1o o reclamaci\u00f3n que surja de o en relaci\u00f3n con el uso del c\u00f3digo o la participaci\u00f3n en la conversi\u00f3n.

La revisi\u00f3n y el uso de este documento y el c\u00f3digo asociado est\u00e1n sujetos a los T\u00e9rminos y Condiciones del Sitio Web y los T\u00e9rminos y Condiciones del Protocolo.

Los validadores pueden pagar sus tarifas en 2Z a trav\u00e9s de un programa de swap onchain. El swap se realiza intercambiando 2Z por SOL. El saldo de SOL en su cuenta de dep\u00f3sito se actualizar\u00e1 seg\u00fan el swap.

Este proceso siempre usar\u00e1 incrementos de 1 SOL. El resultado de este swap siempre se depositar\u00e1 directamente en su cuenta de dep\u00f3sito. Es una v\u00eda de un solo sentido: no puede recuperar el 2Z o SOL de esta transacci\u00f3n. Se enviar\u00e1 a un m\u00f3dulo de distribuci\u00f3n onchain.

"},{"location":"es/paying-fees2z/#paso-1","title":"Paso 1","text":"

Primero determine cu\u00e1l es la tasa de conversi\u00f3n actual

doublezero-solana revenue-distribution fetch sol-conversion\n

salida:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"es/paying-fees2z/#paso-2","title":"Paso 2","text":"

Coloque una orden con l\u00edmite. Ejecutar\u00e1 este swap bajo su propio riesgo. No hacemos recomendaciones sobre el perfil de riesgo, y los ejemplos proporcionados aqu\u00ed son con fines educativos.

"},{"location":"es/paying-fees2z/#como-estructurar-una-orden-con-limite","title":"C\u00f3mo estructurar una orden con l\u00edmite","text":"

Bas\u00e1ndonos en el ejemplo anterior, ahora colocaremos una orden con l\u00edmite un 5% por encima del precio de cotizaci\u00f3n. 797.76 * 1.05 = 837.65

En este ejemplo, asumiremos que la cuenta de dep\u00f3sito tiene 0 SOL.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Note en el comando anterior --fund 1, esto financia expl\u00edcitamente 1 SOL en la cuenta de dep\u00f3sito.

Si elige cualquier n\u00famero diferente a 1 recibir\u00e1 un error indicando la cantidad incorrecta:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Se le pedir\u00e1 confirmar la transacci\u00f3n:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

salida:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Observe que en un swap exitoso el Balance: se ha actualizado a 1 SOL.

Si un precio est\u00e1 fuera de su rango especificado se encontrar\u00e1 con un error como:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"es/quick-connect/","title":"Conexi\u00f3n R\u00e1pida","text":"

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.

Responda algunas preguntas y generaremos una gu\u00eda de conexi\u00f3n personalizada con los pasos y comandos exactos para su configuraci\u00f3n.

Gu\u00eda Simplificada

Este asistente proporciona fragmentos clave de la documentaci\u00f3n completa para conectarle lo m\u00e1s r\u00e1pidamente posible. Para m\u00e1s detalles, consulte las gu\u00edas de Configuraci\u00f3n e Inquilinos.

\u00bfA qu\u00e9 red se est\u00e1 conectando? Mainnet-Beta Red de producci\u00f3n para validadores activos y operadores RPC Testnet Red de pruebas y desarrollo \u00bfQu\u00e9 sistema operativo usa su servidor? Ubuntu / Debian Ubuntu 22.04+ o Debian 11+ Rocky Linux / RHEL Rocky Linux o RHEL 9+ \u00bfQu\u00e9 ecosistema? Solana Validadores y operadores RPC en Solana Shelby RPCs y Nodos de Almacenamiento en Shelby (solo Testnet) Nuevo Inquilino Otros ecosistemas \u00bfQu\u00e9 herramienta de firewall utiliza? iptables Reglas directas de iptables UFW Firewall sin complicaciones (Uncomplicated Firewall) \u00bfQu\u00e9 tipo de nodo est\u00e1 ejecutando? Validador Validador Solana programado como l\u00edder con keypair de identidad No validador (RPC) Nodo RPC o infraestructura MEV \u00bfQu\u00e9 modo de conexi\u00f3n necesita? Unicast (IBRL) Conexi\u00f3n punto a punto est\u00e1ndar Multicast Entrega de paquetes de uno a muchos (publicador/suscriptor) Ambos T\u00faneles unicast y multicast simult\u00e1neos \u00bfCu\u00e1l es su rol en multicast? Publicador Enviar datos a un grupo multicast (por ejemplo, productor de bloques) Suscriptor Recibir datos de un grupo multicast"},{"location":"es/setup/","title":"C\u00f3mo configurar DoubleZero","text":"

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.

Terminolog\u00eda

\u00bfNuevo en DoubleZero? Consulte el Glosario para ver definiciones de t\u00e9rminos como doublezerod, IBRL y DZD.

Al conectarme a DoubleZero acepto los T\u00e9rminos de Servicio de DoubleZero

"},{"location":"es/setup/#requisitos-previos","title":"Requisitos Previos","text":"

Warning

Para validadores: DoubleZero debe instalarse directamente en el host del validador, no en un contenedor.

"},{"location":"es/setup/#conexion-a-doublezero","title":"Conexi\u00f3n a DoubleZero","text":"

DoubleZero Testnet y DoubleZero Mainnet-Beta son redes f\u00edsicamente distintas. Seleccione la red apropiada durante la instalaci\u00f3n.

Al incorporarse a DoubleZero establecer\u00e1 una identidad DoubleZero, representada por una clave p\u00fablica llamada DoubleZero ID. Esta clave forma parte de c\u00f3mo DoubleZero reconoce su m\u00e1quina.

"},{"location":"es/setup/#1-instalar-los-paquetes-de-doublezero","title":"1. Instalar los Paquetes de DoubleZero","text":"

Versiones Actuales

Paquete Mainnet-Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Siga estos pasos dependiendo de su sistema operativo:

"},{"location":"es/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

El despliegue recomendado actualmente para Mainnet-Beta es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

El despliegue recomendado actualmente para Testnet es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"es/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

El despliegue recomendado actualmente para Mainnet-Beta es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

El despliegue recomendado actualmente para Testnet es:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Solo Usuarios Existentes: Cambiar un paquete de Testnet a Mainnet-Beta, o de Mainnet-Beta a Testnet

Cuando instala desde uno de los repositorios de paquetes anteriores, este es espec\u00edfico para DoubleZero Testnet o DoubleZero Mainnet Beta. Si cambia de red en alg\u00fan momento, deber\u00e1 eliminar los repositorios de paquetes instalados previamente y actualizar al repositorio de destino.

Este ejemplo le guiar\u00e1 a trav\u00e9s de la migraci\u00f3n de Testnet a Mainnet-Beta.

Los mismos pasos pueden completarse para pasar de Mainnet-Beta a Testnet, reemplazando el paso 3 con el comando de instalaci\u00f3n para Testnet arriba.

  1. Encontrar los Archivos de Repositorio Antiguos

    Primero, localice cualquier archivo de configuraci\u00f3n de repositorio DoubleZero existente en su sistema:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Eliminar los Archivos de Repositorio Antiguos

    Elimine los archivos de repositorio antiguos encontrados en el paso anterior, por ejemplo:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Instalar desde el Nuevo Repositorio

    Agregue el nuevo repositorio Mainnet-Beta e instale el \u00faltimo paquete:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<current_recomended_version_above>\n
"},{"location":"es/setup/#verificar-el-estado-de-doublezerod","title":"Verificar el estado de doublezerod","text":"

Despu\u00e9s de que el paquete est\u00e9 instalado, se instala, activa e inicia una nueva unidad systemd. Para ver el estado puede ejecutar:

sudo systemctl status doublezerod\n

"},{"location":"es/setup/#configurar-el-firewall-para-gre-y-bgp","title":"Configurar el Firewall para GRE y BGP","text":"

DoubleZero utiliza tunelizaci\u00f3n GRE (protocolo IP 47) y enrutamiento BGP (tcp/179 en direcciones link-local). Aseg\u00farese de que su firewall permita estos protocolos:

Permitir GRE y BGP a trav\u00e9s de iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

O permitir GRE y BGP a trav\u00e9s de UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"es/setup/#2-crear-una-nueva-identidad-doublezero","title":"2. Crear una Nueva Identidad DoubleZero","text":"

Cree una Identidad DoubleZero en su servidor con el siguiente comando:

doublezero keygen\n

Info

Si tiene un ID existente que desea usar, puede seguir estos pasos opcionales.

Crear el directorio de configuraci\u00f3n de doublezero

mkdir -p ~/.config/doublezero\n

Copie o enlace el id.json que desea usar con DoubleZero al directorio de configuraci\u00f3n de doublezero.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"es/setup/#3-recuperar-la-identidad-doublezero-del-servidor","title":"3. Recuperar la identidad DoubleZero del servidor","text":"

Revise su Identidad DoubleZero. Esta identidad se utilizar\u00e1 para crear la conexi\u00f3n entre su m\u00e1quina y DoubleZero.

doublezero address\n

Salida:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"es/setup/#4-verificar-que-doublezerod-ha-descubierto-los-dispositivos-dz","title":"4. Verificar que doublezerod ha descubierto los dispositivos DZ","text":"

Antes de conectarse, aseg\u00farese de que doublezerod haya descubierto y pingueado cada uno de los switches de testnet DZ disponibles:

doublezero latency\n

Ejemplo de salida:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Si no se devuelven dispositivos en la salida, espere 10-20 segundos y vuelva a intentarlo.

"},{"location":"es/setup/#5-desconectarse-de-doublezero","title":"5. Desconectarse de DoubleZero","text":"

En las siguientes secciones configurar\u00e1 su Entorno DoubleZero. Para garantizar el \u00e9xito, desconecte la sesi\u00f3n actual. Esto evitar\u00e1 problemas relacionados con m\u00faltiples t\u00faneles abiertos en su m\u00e1quina.

Verifique

doublezero status\n

si est\u00e1 up ejecute:

doublezero disconnect\n
"},{"location":"es/setup/#siguiente-paso-inquilino","title":"Siguiente Paso: Inquilino","text":"

La conexi\u00f3n a DoubleZero diferir\u00e1 seg\u00fan su caso de uso. En DoubleZero, los Inquilinos son grupos que tienen perfiles de usuario similares. Algunos ejemplos incluyen Blockchains, Capas de Transferencia de Datos, etc.

"},{"location":"es/setup/#proceda-a-elegir-su-inquilino-aqui","title":"Proceda a elegir su inquilino aqu\u00ed","text":""},{"location":"es/setup/#opcional-habilitar-metricas-de-prometheus","title":"Opcional: Habilitar M\u00e9tricas de Prometheus","text":"

Los operadores familiarizados con las m\u00e9tricas de Prometheus pueden querer habilitarlas para el monitoreo de DoubleZero. Esto proporciona visibilidad sobre el rendimiento del cliente DoubleZero, el estado de la conexi\u00f3n y la salud operacional.

"},{"location":"es/setup/#que-metricas-estan-disponibles","title":"Qu\u00e9 M\u00e9tricas Est\u00e1n Disponibles","text":"

DoubleZero expone varias m\u00e9tricas clave: - Informaci\u00f3n de Compilaci\u00f3n: Versi\u00f3n, hash de commit y fecha de compilaci\u00f3n - Estado de Sesi\u00f3n: Si la sesi\u00f3n de DoubleZero est\u00e1 activa - M\u00e9tricas de Conexi\u00f3n: Informaci\u00f3n de latencia y conectividad - Datos de Rendimiento: Rendimiento y tasas de error

"},{"location":"es/setup/#habilitar-metricas-de-prometheus","title":"Habilitar M\u00e9tricas de Prometheus","text":"

Para habilitar las m\u00e9tricas de Prometheus en el cliente DoubleZero, siga estos pasos:

"},{"location":"es/setup/#1-modificar-el-comando-de-inicio-del-servicio-systemd-de-doublezerod","title":"1. Modificar el comando de inicio del servicio systemd de doublezerod","text":"

Cree o edite la configuraci\u00f3n de anulaci\u00f3n de systemd:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Reemplace con esta configuraci\u00f3n:

Tenga en cuenta que el flag -env debe apuntar a testnet o mainnet-beta dependiendo de qu\u00e9 red desea recopilar datos. En el bloque de ejemplo se usa testnet. Puede reemplazarlo por mainnet-beta si es necesario.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"es/setup/#2-recargar-y-reiniciar-el-servicio","title":"2. Recargar y reiniciar el servicio","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"es/setup/#3-verificar-que-las-metricas-esten-disponibles","title":"3. Verificar que las m\u00e9tricas est\u00e9n disponibles","text":"

Compruebe que el endpoint de m\u00e9tricas est\u00e9 respondiendo:

curl -s localhost:2113/metrics | grep doublezero\n

Salida esperada:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"es/setup/#solucion-de-problemas","title":"Soluci\u00f3n de Problemas","text":"

Si las m\u00e9tricas no aparecen:

  1. Verificar el estado del servicio: sudo systemctl status doublezerod
  2. Verificar la configuraci\u00f3n: sudo systemctl cat doublezerod
  3. Revisar los logs: sudo journalctl -u doublezerod -f
  4. Probar el endpoint: curl -v localhost:2113/metrics
  5. Verificar el puerto: netstat -tlnp | grep 2113
"},{"location":"es/setup/#configurar-el-servidor-de-prometheus","title":"Configurar el Servidor de Prometheus","text":"

La configuraci\u00f3n y seguridad est\u00e1n fuera del alcance de esta documentaci\u00f3n. Grafana es una excelente opci\u00f3n para la visualizaci\u00f3n, y tiene documentaci\u00f3n disponible aqu\u00ed que detalla c\u00f3mo recopilar m\u00e9tricas de Prometheus.

"},{"location":"es/setup/#panel-de-grafana-opcional","title":"Panel de Grafana (Opcional)","text":"

Para la visualizaci\u00f3n, puede crear un panel de Grafana usando las m\u00e9tricas de DoubleZero. Los paneles comunes incluyen: - Estado de sesi\u00f3n a lo largo del tiempo - Informaci\u00f3n de compilaci\u00f3n - Tendencias de latencia de conexi\u00f3n - Monitoreo de tasa de errores

"},{"location":"es/tenant/","title":"Inquilinos","text":"

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.

Los inquilinos en DoubleZero son grupos de usuarios con perfiles similares y requisitos de conexi\u00f3n, que t\u00edpicamente representan diferentes ecosistemas blockchain, capas de transferencia de datos u otros sistemas distribuidos.

Examine la tabla a continuaci\u00f3n y elija el caso de uso que mejor describa c\u00f3mo planea interactuar con la red DoubleZero.

Solana

Caso de Uso Siguiente Paso Validador Solana Mainnet, incluyendo respaldos Conexi\u00f3n DoubleZero Mainnet-Beta Validador Solana Testnet, incluyendo respaldos Conexi\u00f3n DoubleZero Testnet No validadores - RPCs y otros. Conexi\u00f3n DoubleZero Mainnet-Beta y Testnet

Shelby

Caso de Uso Siguiente Paso RPCs y Nodos de Almacenamiento Shelby Testnet Conexi\u00f3n DoubleZero Testnet

Nuevo Inquilino

Caso de Uso Siguiente Paso Tienes un nuevo protocolo, aplicaci\u00f3n u otro caso de uso para aprovechar DoubleZero Agregar un Nuevo Inquilino"},{"location":"es/troubleshooting/","title":"Soluci\u00f3n de Problemas","text":"

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.

Esta gu\u00eda cubre una variedad de problemas y est\u00e1 en continuo desarrollo. Si completa la gu\u00eda puede buscar soporte adicional en el Discord de DoubleZero Tech.

"},{"location":"es/troubleshooting/#comandos-comunes-y-salidas","title":"Comandos Comunes y Salidas","text":"

Para comenzar, examine la salida de los siguientes comandos y sus salidas esperadas. Estos le ayudar\u00e1n en una soluci\u00f3n de problemas m\u00e1s detallada. Si abre un ticket, es posible que le pidan sus salidas.

"},{"location":"es/troubleshooting/#1-verificar-version","title":"1. Verificar Versi\u00f3n","text":"

Comando:

doublezero --version

Salida de Ejemplo:

DoubleZero 0.6.3\n

"},{"location":"es/troubleshooting/#2-verificar-direccion-doublezero","title":"2. Verificar Direcci\u00f3n DoubleZero","text":"

Comando:

doublezero address

Salida de Ejemplo:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"es/troubleshooting/#3-verificar-su-pase-de-acceso","title":"3. Verificar su Pase de Acceso","text":"

Pubkey de ejemplo: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 reempl\u00e1cela con su pubkey al ejecutar el comando.

Comando:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Salida: [nota: usamos doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' para mostrarle el encabezado en esta salida]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"es/troubleshooting/#4-verificar-creditos-del-ledger-doublezero","title":"4. Verificar Cr\u00e9ditos del Ledger DoubleZero","text":"

Comando:

doublezero balance

Salida de Ejemplo:

0.78 Credits\n

"},{"location":"es/troubleshooting/#5-verificar-estado-de-conexion","title":"5. Verificar Estado de Conexi\u00f3n","text":"

Comando:

doublezero status

Salida de Ejemplo:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"es/troubleshooting/#6-verificar-latencia","title":"6. Verificar Latencia","text":"

Comando:

doublezero latency

Salida de Ejemplo:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"es/troubleshooting/#ejemplos-de-solucion-de-problemas","title":"Ejemplos de Soluci\u00f3n de Problemas","text":"

Ahora que hemos examinado las salidas b\u00e1sicas y lo que se espera en un despliegue saludable, podemos examinar algunos ejemplos comunes de soluci\u00f3n de problemas.

"},{"location":"es/troubleshooting/#problema-error-al-crear-usuario","title":"Problema: \u274c Error al crear usuario","text":"

Este problema generalmente est\u00e1 relacionado con una discrepancia entre el par pubkey/IP esperado y el par pubkey/IP con el que el usuario intenta acceder a DoubleZero.

S\u00edntomas: - Al conectarse con doublezero connect ibrl el usuario encuentra \u274c Error creating user

Soluciones: 1. Verifique

`doublezero address`\n\nSalida de Ejemplo:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. Verifique que esta direcci\u00f3n est\u00e9 en la lista de permitidos:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Salida de Ejemplo:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    La pubkey de doublezero address debe coincidir con la pubkey user_payer y la direcci\u00f3n IP desde la que intenta conectarse debe coincidir con la IP en el Pase de Acceso. doublezero address proviene del archivo id.json en ~/.config/doublezero/ por defecto. Consulte el paso 6 aqu\u00ed

  2. Si lo anterior parece correcto y est\u00e1 obteniendo un error al conectarse, o si el mapeo anterior es incorrecto, contacte a soporte en DoubleZero Tech

"},{"location":"es/troubleshooting/#problema-error-al-aprovisionar-servicio-cosas-malformadas-no-se-pueden-aprovisionar-multiples-tuneles-al-mismo-tiempo","title":"Problema: \u274c Error al aprovisionar servicio: cosas malformadas: no se pueden aprovisionar m\u00faltiples t\u00faneles al mismo tiempo","text":"

Este error indica que un dispositivo ya est\u00e1 conectado a DoubleZero.

S\u00edntomas: - El usuario intenta conectarse a DoubleZero - Se encuentra \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time.

Soluciones: 1. Verifique doublezero status

Salida:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. up indica una conexi\u00f3n saludable.
  2. El error aparece porque ya hay un t\u00fanel activo hacia DoubleZero con la IP DoubleZero espec\u00edfica en esta m\u00e1quina.

    Este error se encuentra con frecuencia despu\u00e9s de una actualizaci\u00f3n del cliente DoubleZero. Las actualizaciones de DoubleZero reinician autom\u00e1ticamente el servicio doublezerod y le reconectar\u00e1n si estaba conectado antes del reinicio del servicio.

"},{"location":"es/troubleshooting/#problema-el-estado-de-doublezero-es-desconocido-o-caido","title":"Problema: El estado de DoubleZero es desconocido o ca\u00eddo","text":"

Este problema generalmente est\u00e1 relacionado con que el t\u00fanel GRE se activ\u00f3 correctamente entre el servidor y el Dispositivo DoubleZero, pero un firewall impide el establecimiento de la sesi\u00f3n BGP. Por ello no est\u00e1 recibiendo rutas de la red ni enviando tr\u00e1fico a trav\u00e9s de DoubleZero.

S\u00edntomas: - doublezero connect ibrl fue exitoso. Sin embargo, doublezero status devuelve down o unknown

Soluciones: 1. \u00a1Verifique las reglas de su firewall!

DoubleZero utiliza el espacio de direcciones link-local: 169.254.0.0/16 para las interfaces del t\u00fanel GRE entre su m\u00e1quina y el Dispositivo DoubleZero. 169.254.0.0/16 es t\u00edpicamente espacio \"no enrutable\" y por lo tanto las buenas pr\u00e1cticas de seguridad recomendar\u00e1n bloquear las comunicaciones hacia/desde este espacio. Necesitar\u00e1 permitir una regla en su firewall que permita que src 169.254.0.0/16 se comunique con dst 169.254.0.0/16 en el puerto tcp 179. Esa regla debe colocarse por encima de cualquier regla que deniegue tr\u00e1fico a 169.254.0.0/16.

En un firewall como ufw puede ejecutar `sudo ufw status` para ver las reglas del firewall.\n\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` para insertar la regla en la posici\u00f3n <N>. Por ejemplo, si N = 1 insertar\u00e1 esta regla como la primera regla.\n`sudo ufw status numbered` le mostrar\u00e1 el orden num\u00e9rico de las reglas.\n
"},{"location":"es/troubleshooting/#problema-el-dispositivo-doublezero-mas-cercano-ha-cambiado","title":"Problema: El dispositivo DoubleZero m\u00e1s cercano ha cambiado","text":"

Esto no es un error, pero puede ser una optimizaci\u00f3n. A continuaci\u00f3n se muestra una buena pr\u00e1ctica que se puede ejecutar de vez en cuando o automatizar.

Soluciones:

  1. Verifique la latencia al dispositivo m\u00e1s cercano

    • Ejecute doublezero latency
  2. Determine si ya est\u00e1 conectado al dispositivo objetivo

    • Ejecute doublezero user list --env testnet | grep 111.11.11.11 reemplazando 111.11.11.11 con la direcci\u00f3n IPv4 p\u00fablica de su dispositivo conectado a DoubleZero.
  3. Opcional: examine la red para ver los dispositivos disponibles

    • Ejecute doublezero device list para obtener una lista completa de dispositivos.
  4. Determine si el dispositivo objetivo tiene una conexi\u00f3n disponible

    • Ejecute doublezero device list | grep dz-ny7-sw01 reemplazando dz-ny7-sw01 con su dispositivo objetivo.
  5. Con\u00e9ctese al Dispositivo DoubleZero m\u00e1s cercano

    Primero ejecute - doublezero disconnect

    Luego verifique el estado con - doublezero status

    Por \u00faltimo recon\u00e9ctese con - doublezero connect ibrl

"},{"location":"es/troubleshooting/#problema-doublezero-status-devuelve-algunos-campos-con-na","title":"Problema: doublezero status devuelve algunos campos con N/A","text":"

Este problema generalmente est\u00e1 relacionado con una discrepancia entre el daemon y cliente actuales versus el daemon y cliente con los que se estableci\u00f3 el t\u00fanel DZ conectado.

S\u00edntomas: - Al ejecutar doublezero status el usuario encuentra N/A en algunos campos

Soluciones: 1. Ejecute doublezero status

Note que el `Tunnel status` es `up` y `Network` es `mainnet-beta` pero `Current Device` y `Metro` son `N/A`. Esto indica un t\u00fanel abierto en su m\u00e1quina que no est\u00e1 en su entorno actual.\n
  1. Cambie su entorno.

    Para configurar el CLI doublezero y el daemon doublezerod para conectarse a DoubleZero testnet:

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    Para configurar el CLI doublezero y el daemon doublezerod para conectarse a DoubleZero mainnet-beta:

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Verifique su estado

    Despu\u00e9s de cambiar el entorno ejecute:

    doublezero status\n

    Con todos los campos completados ahora est\u00e1 en el entorno correcto.

"},{"location":"fr/","title":"Bienvenue sur DoubleZero","text":"

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 est un protocole et un r\u00e9seau d\u00e9centralis\u00e9 haute performance, optimis\u00e9 pour les syst\u00e8mes distribu\u00e9s, tels que les blockchains. Les utilisateurs de DoubleZero b\u00e9n\u00e9ficient d'un service int\u00e9gr\u00e9 pour la transmission et le pr\u00e9traitement hautement optimis\u00e9s des donn\u00e9es des syst\u00e8mes distribu\u00e9s.

"},{"location":"fr/#a-qui-sadresse-doublezero","title":"\u00c0 qui s'adresse DoubleZero ?","text":""},{"location":"fr/#contributeurs","title":"Contributeurs","text":"

Les contributeurs DoubleZero disposent d'une capacit\u00e9 r\u00e9seau sous forme de liens fibre priv\u00e9s sous-utilis\u00e9s et de mat\u00e9riel (par exemple, des commutateurs et des dispositifs FPGA). La configuration de ces ressources pour \u00e9tendre le r\u00e9seau DoubleZero cr\u00e9e un service d'information int\u00e9gr\u00e9. En utilisant le protocole DZ, les contributeurs r\u00e9seau assemblent cette capacit\u00e9 r\u00e9seau en un r\u00e9seau maill\u00e9 mondial dynamique et expansif, et re\u00e7oivent des incitations en tokens pour leur contribution.

"},{"location":"fr/#utilisateurs","title":"Utilisateurs","text":"

Les utilisateurs DoubleZero participent \u00e0 des syst\u00e8mes distribu\u00e9s, tels que les blockchains, qui n\u00e9cessitent une connectivit\u00e9 r\u00e9seau haute performance. En interconnectant un syst\u00e8me blockchain avec DoubleZero, les utilisateurs b\u00e9n\u00e9ficient d'un ensemble de fonctionnalit\u00e9s d'optimisation pour acc\u00e9l\u00e9rer leurs entr\u00e9es/sorties r\u00e9seau.

Dans son impl\u00e9mentation initiale, le r\u00e9seau DoubleZero est compatible avec les clients validateurs blockchain ainsi que les fournisseurs d'infrastructure RPC et MEV. Ces syst\u00e8mes utilisateurs subissent un contr\u00f4le d'admission en v\u00e9rifiant leurs adresses de cl\u00e9 publique d'identification unique sur leurs registres respectifs avant de leur permettre d'acc\u00e9der au r\u00e9seau. Au fur et \u00e0 mesure que le r\u00e9seau \u00e9volue pour inclure des syst\u00e8mes utilisateurs d'autres \u00e9cosyst\u00e8mes, des strat\u00e9gies d'identification et d'authentification suppl\u00e9mentaires seront ajout\u00e9es, adapt\u00e9es \u00e0 chaque communaut\u00e9 de projets utilisateurs.

"},{"location":"fr/#avantages","title":"Avantages","text":"

La seule alternative \u00e0 DoubleZero est l'internet public. Par rapport \u00e0 l'internet public, le r\u00e9seau DoubleZero offre deux am\u00e9liorations aux blockchains.

Premi\u00e8rement, les transactions entrantes peuvent \u00eatre filtr\u00e9es en p\u00e9riph\u00e9rie de mani\u00e8re non discr\u00e9tionnaire au niveau du mat\u00e9riel du contributeur r\u00e9seau (c'est-\u00e0-dire la suppression du spam et des doublons) avant d'\u00eatre envoy\u00e9es aux utilisateurs (par exemple, les n\u0153uds blockchain) du r\u00e9seau DoubleZero. Cela permet aux blockchains de b\u00e9n\u00e9ficier de ressources de filtration partag\u00e9es \u00e0 l'\u00e9chelle du syst\u00e8me plut\u00f4t que d'exiger que chaque validateur individuel provisionne des ressources suffisantes. En cons\u00e9quence, les validateurs peuvent r\u00e9affecter leurs ressources vers des activit\u00e9s directement g\u00e9n\u00e9ratrices de revenus. Cette fonctionnalit\u00e9 n'est pas encore op\u00e9rationnelle.

Deuxi\u00e8mement, les messages sortants sont achemin\u00e9s de mani\u00e8re plus directe et prioris\u00e9s pour am\u00e9liorer l'efficacit\u00e9. Cela est possible car dans DoubleZero, la logique de routage du mouvement global des donn\u00e9es est optimis\u00e9e pour la vitesse, contrairement \u00e0 l'internet public. Ainsi, les validateurs b\u00e9n\u00e9ficient d'une r\u00e9duction de la gigue, d\u00e9finie comme la variation de latence entre deux extr\u00e9mit\u00e9s de c\u00e2ble de donn\u00e9es. En substance, les n\u0153uds blockchain peuvent envoyer et recevoir des blocs plus rapidement.

Pris ensemble, ces avantages du r\u00e9seau DoubleZero peuvent atteindre des niveaux de performance autrement inaccessibles via l'internet public.

Pour plus de d\u00e9tails, consultez le livre blanc DoubleZero Protocol.

"},{"location":"fr/#prochaines-etapes","title":"Prochaines \u00c9tapes","text":""},{"location":"fr/DZ%20Mainnet-beta%20Connection/","title":"Connexion Validateur Mainnet-Beta en Mode IBRL","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#connexion-a-mainnet-beta-en-mode-ibrl","title":"Connexion \u00e0 Mainnet-Beta en Mode IBRL","text":"

Note

Le mode IBRL ne n\u00e9cessite pas de red\u00e9marrer les clients validateurs, car il utilise votre adresse IP publique existante.

Les validateurs Solana Mainnet compl\u00e8teront la connexion au Mainnet-beta DoubleZero, qui est d\u00e9crite sur cette page.

Chaque validateur Solana poss\u00e8de sa propre keypair d'identit\u00e9 ; \u00e0 partir de celle-ci, extrayez la cl\u00e9 publique connue sous le nom d'ID de n\u0153ud. Il s'agit de l'empreinte unique du validateur sur le r\u00e9seau Solana.

Avec le DoubleZeroID et l'ID de n\u0153ud identifi\u00e9s, vous prouverez la propri\u00e9t\u00e9 de votre machine. Cela se fait en cr\u00e9ant un message incluant le DoubleZeroID sign\u00e9 avec la cl\u00e9 d'identit\u00e9 du validateur. La signature cryptographique r\u00e9sultante sert de preuve v\u00e9rifiable que vous contr\u00f4lez le validateur.

Enfin, vous soumettrez une demande de connexion \u00e0 DoubleZero. Cette demande communique : \u00ab Voici mon identit\u00e9, voici la preuve de propri\u00e9t\u00e9, et voici comment j'entends me connecter. \u00bb DoubleZero valide ces informations, accepte la preuve et provisionne l'acc\u00e8s r\u00e9seau pour le validateur sur DoubleZero.

Ce guide permet \u00e0 1 Validateur Principal de s'enregistrer lui-m\u00eame, et jusqu'\u00e0 3 machines de sauvegarde/basculement en m\u00eame temps.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#prerequis","title":"Pr\u00e9requis","text":"

Info

L'ID Validateur sera v\u00e9rifi\u00e9 par rapport au gossip Solana pour d\u00e9terminer l'IP cible. L'IP cible et le DoubleZero ID seront ensuite utilis\u00e9s lors de l'ouverture d'un tunnel GRE entre votre machine et le DoubleZero Device cible.

\u00c0 consid\u00e9rer : Dans le cas o\u00f9 vous avez un ID factice et un ID principal sur la m\u00eame IP, seul l'ID principal sera utilis\u00e9 lors de l'enregistrement de la machine. En effet, l'ID factice n'appara\u00eetra pas dans le gossip et ne pourra donc pas \u00eatre utilis\u00e9 pour v\u00e9rifier l'IP de la machine cible.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au mainnet-beta DoubleZero :

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Vous devriez voir la sortie suivante : \u2705 doublezerod configured for environment mainnet-beta

Apr\u00e8s environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :

doublezero latency\n
Exemple de sortie (Mainnet-Beta)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
La sortie du testnet sera identique dans sa structure, mais avec moins de dispositifs.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#2-ouvrir-le-port-44880","title":"2. Ouvrir le port 44880","text":"

Les utilisateurs doivent ouvrir le port 44880 pour utiliser certaines fonctionnalit\u00e9s de routage.

Pour ouvrir le port 44880, vous pouvez mettre \u00e0 jour les tables IP comme suit :

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

notez les flags -i doublezero0, -o doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

Ou UFW comme suit :

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

notez les flags in on doublezero0, out on doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#3-attester-la-propriete-du-validateur","title":"3. Attester la Propri\u00e9t\u00e9 du Validateur","text":"

Avec votre environnement DoubleZero configur\u00e9, il est maintenant temps d'attester la propri\u00e9t\u00e9 de votre Validateur.

Le DoubleZero ID que vous avez cr\u00e9\u00e9 lors de la configuration de votre validateur principal doit \u00eatre utilis\u00e9 sur toutes les machines de sauvegarde.

L'ID sur votre machine principale peut \u00eatre trouv\u00e9 avec doublezero address. Le m\u00eame ID doit \u00eatre dans ~/.config/doublezero/id.json sur toutes les machines du cluster.

Pour accomplir cela, vous v\u00e9rifierez d'abord que la machine sur laquelle vous ex\u00e9cutez les commandes est votre Validateur Principal avec :

doublezero-solana passport find-validator -u mainnet-beta\n

Cela v\u00e9rifie que le validateur est enregistr\u00e9 dans le gossip et appara\u00eet dans le planning des leaders.

Sortie attendue :

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

Le m\u00eame workflow est utilis\u00e9 pour une ou plusieurs machines. Pour enregistrer une seule machine, excluez les arguments \"--backup-validator-ids\" ou \"backup_ids=\" de toutes les commandes de cette page.

Maintenant, sur toutes les machines de sauvegarde sur lesquelles vous avez l'intention d'ex\u00e9cuter votre Validateur Principal, ex\u00e9cutez ce qui suit :

doublezero-solana passport find-validator -u mainnet-beta\n

Sortie attendue :

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Cette sortie est attendue. Le n\u0153ud de sauvegarde ne peut pas \u00eatre dans le planning des leaders au moment de la cr\u00e9ation du pass.

Vous allez maintenant ex\u00e9cuter cette commande sur toutes les machines de sauvegarde sur lesquelles vous pr\u00e9voyez d'utiliser le compte de vote et l'identit\u00e9 de votre Validateur Principal.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#preparer-la-connexion","title":"Pr\u00e9parer la Connexion","text":"

Ex\u00e9cutez la commande suivante sur la machine du Validateur Principal. C'est la machine sur laquelle vous avez une mise en jeu active, qui est dans le planning des leaders avec votre ID de validateur principal dans le gossip Solana sur la machine depuis laquelle vous ex\u00e9cutez la commande :

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

Exemple de sortie :

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Notez la sortie \u00e0 la fin de cette commande. C'est la structure pour l'\u00e9tape suivante.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#4-generer-la-signature","title":"4. G\u00e9n\u00e9rer la Signature","text":"

\u00c0 la fin de la derni\u00e8re \u00e9tape, nous avons re\u00e7u une sortie pr\u00e9-format\u00e9e pour solana sign-offchain-message

\u00c0 partir de la sortie ci-dessus, nous allons ex\u00e9cuter cette commande sur la machine du Validateur Principal.

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

Sortie :

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#5-initier-une-demande-de-connexion-dans-doublezero","title":"5. Initier une Demande de Connexion dans DoubleZero","text":"

Utilisez la commande request-validator-access pour cr\u00e9er un compte sur Solana pour la demande de connexion. L'agent DoubleZero Sentinel d\u00e9tecte le nouveau compte, valide son identit\u00e9 et sa signature, et cr\u00e9e le pass d'acc\u00e8s dans DoubleZero pour que le serveur puisse \u00e9tablir une connexion.

Utilisez l'ID de n\u0153ud, le DoubleZeroID et la signature.

Note

Dans cet exemple, nous utilisons -k /home/user/.config/solana/id.json pour trouver l'identit\u00e9 du validateur. Utilisez l'emplacement appropri\u00e9 pour votre d\u00e9ploiement local.

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

Sortie :

Cette sortie peut \u00eatre utilis\u00e9e pour voir la transaction sur un explorateur Solana. Assurez-vous de changer l'explorateur sur mainnet. Cette v\u00e9rification est optionnelle.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

En cas de succ\u00e8s, DoubleZero enregistrera le principal avec ses sauvegardes. Vous pouvez maintenant basculer entre les IP enregistr\u00e9es dans le pass d'acc\u00e8s. DoubleZero maintiendra automatiquement la connectivit\u00e9 lors du basculement vers les n\u0153uds de sauvegarde enregistr\u00e9s de cette mani\u00e8re.

"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#6-se-connecter-en-mode-ibrl","title":"6. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel GRE finisse de s'\u00e9tablir. Jusqu'\u00e0 ce que le tunnel GRE soit configur\u00e9, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Note

Examinez cette sortie. Notez que le Tunnel src et le DoubleZero IP correspondent \u00e0 l'adresse IPv4 publique de votre machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/DZ%20Mainnet-beta%20Connection/#prochaine-etape-publication-de-shreds-via-multicast","title":"Prochaine \u00c9tape : Publication de Shreds via Multicast","text":"

Si vous avez termin\u00e9 cette configuration et pr\u00e9voyez de publier des shreds via multicast, passez \u00e0 la page suivante.

"},{"location":"fr/DZ%20Testnet%20Connection/","title":"Connexion Validateur Testnet en Mode IBRL","text":"

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.

En me connectant au testnet DoubleZero, j'accepte les termes du Contrat d'\u00c9valuation d\u00e9finis ici (cliquer pour d\u00e9velopper)

Testnet DoubleZero Contrat d'\u00c9valuation

En acc\u00e9dant ou en utilisant la Solution (d\u00e9finie ci-dessous), vous acceptez \u00e0 compter de la premi\u00e8re date d'un tel acc\u00e8s (la \u00abDate d'Effet\u00bb) que le pr\u00e9sent Contrat d'\u00c9valuation (le \u00abContrat\u00bb) d\u00e9finit les termes et conditions selon lesquels la DoubleZero Foundation (\u00abDZF\u00bb) vous fournira (\u00abUtilisateur\u00bb ou \u00abvous\u00bb) l'acc\u00e8s \u00e0 la Solution sur une base d'\u00e9valuation. En contrepartie des promesses mutuelles contenues dans les pr\u00e9sentes, vous acceptez ce qui suit :

1. D\u00c9FINITIONS.

1.1 \u00abInformations Confidentielles\u00bb d\u00e9signe toutes les informations divulgu\u00e9es par l'une ou l'autre partie \u00e0 l'autre qui sont d\u00e9sign\u00e9es comme confidentielles, ou qui devraient autrement \u00eatre comprises comme confidentielles, incluant mais sans s'y limiter, la Solution, les plans de produits, les plans d'affaires, les secrets commerciaux, la technologie ou toute autre information propri\u00e9taire.

1.2 \u00abSolution\u00bb d\u00e9signe la version testnet de l'infrastructure r\u00e9seau haute performance DoubleZero pour les projets web3 (\u00abTestnet\u00bb) et le service de filtration en p\u00e9riph\u00e9rie associ\u00e9 avec bande passante int\u00e9gr\u00e9e (\u00abService d'Information\u00bb), le Logiciel DZ (d\u00e9fini ci-dessous), tous les mat\u00e9riaux fournis par DZF relatifs au Logiciel DZ (\u00abDocumentation\u00bb) et autres mat\u00e9riaux que DZF fournit \u00e0 l'Utilisateur dans les pr\u00e9sentes.

2. ACC\u00c8S.

2.1 Acc\u00e8s \u00e0 la Solution. Sous r\u00e9serve des termes et conditions du pr\u00e9sent Contrat, DZF fournira \u00e0 l'Utilisateur l'acc\u00e8s \u00e0 la Solution via Internet. L'acc\u00e8s de l'Utilisateur est un usage limit\u00e9, non exclusif et non transf\u00e9rable de la Solution pour permettre \u00e0 l'Utilisateur d'\u00e9valuer le Service d'Information uniquement. En ce qui concerne tout logiciel constituant la Solution (\u00abLogiciel DZ\u00bb), DZF accorde par les pr\u00e9sentes \u00e0 l'Utilisateur une licence limit\u00e9e et r\u00e9vocable, pendant la P\u00e9riode d'\u00c9valuation, pour copier, t\u00e9l\u00e9charger, faire un nombre raisonnable de copies, ex\u00e9cuter et d\u00e9ployer (le cas \u00e9ch\u00e9ant) ce Logiciel DZ uniquement comme pr\u00e9vu par la Documentation.

2.2 Restrictions. L'Utilisateur peut utiliser la Solution conform\u00e9ment au pr\u00e9sent Contrat \u00e0 compter de la Date d'Effet jusqu'\u00e0 r\u00e9siliation par DZF (la \u00abP\u00e9riode d'\u00c9valuation\u00bb). L'Utilisateur comprend que tout droit d'utiliser la Solution au-del\u00e0 de la P\u00e9riode d'\u00c9valuation sera soumis \u00e0 un accord commercial s\u00e9par\u00e9 entre les parties \u00e0 cet \u00e9gard, incluant le paiement de frais. L'Utilisateur ne doit pas, et ne doit pas permettre \u00e0 un tiers de : (i) modifier ou cr\u00e9er des \u0153uvres d\u00e9riv\u00e9es bas\u00e9es sur la Solution ou une partie de celle-ci ; (ii) reproduire la Solution sauf dans la mesure express\u00e9ment autoris\u00e9e par le pr\u00e9sent Contrat ; (iii) sous-licencier, distribuer, vendre, pr\u00eater, louer, transf\u00e9rer ou accorder des droits dans ou sur tout ou partie de la Solution ou fournir un acc\u00e8s \u00e0 la Solution \u00e0 des tiers, sur la base d'un bureau de service ou autrement, sauf en tant qu'offre des Services d'Information via ou en relation avec la plateforme ou le produit de l'Utilisateur et non de mani\u00e8re autonome ; ou (iv) utiliser la Solution autrement que tel que pr\u00e9vu dans les pr\u00e9sentes.

2.3 Propri\u00e9t\u00e9. DZF conserve tous les droits, titres et int\u00e9r\u00eats, y compris les droits de propri\u00e9t\u00e9 intellectuelle, dans et sur la Solution.

3 RETOUR D'EXP\u00c9RIENCE. DZF peut p\u00e9riodiquement demander \u00e0 l'Utilisateur de fournir, et l'Utilisateur accepte de fournir \u00e0 DZF, des retours d'exp\u00e9rience concernant l'utilisation, le fonctionnement et la fonctionnalit\u00e9 de la Solution (\u00abRetours d'Exp\u00e9rience\u00bb). L'Utilisateur accorde par les pr\u00e9sentes \u00e0 DZF un droit et une licence non exclusifs, mondiaux, perp\u00e9tuels, irr\u00e9vocables, libres de redevances, enti\u00e8rement pay\u00e9s, enti\u00e8rement sous-licenciables et transf\u00e9rables pour utiliser et incorporer les Retours d'Exp\u00e9rience dans tout produit et service, pour fabriquer, utiliser, vendre, offrir \u00e0 la vente, importer et autrement exploiter ces produits et services, et autrement utiliser, copier, distribuer et autrement exploiter les Retours d'Exp\u00e9rience sans restriction.

4. DUR\u00c9E ET R\u00c9SILIATION.

4.1 Dur\u00e9e. Le pr\u00e9sent Contrat prendra effet \u00e0 compter de la Date d'Effet et restera en vigueur pendant toute la P\u00e9riode d'\u00c9valuation. L'une ou l'autre partie peut r\u00e9silier le pr\u00e9sent Contrat imm\u00e9diatement pour des raisons de commodit\u00e9, pour quelque raison ou sans raison que ce soit, moyennant un pr\u00e9avis \u00e9crit \u00e0 l'autre partie (l'e-mail \u00e9tant suffisant).

4.1 Effets de la R\u00e9siliation. \u00c0 la r\u00e9siliation du pr\u00e9sent Contrat pour quelque raison que ce soit : (i) les droits accord\u00e9s \u00e0 l'Utilisateur dans les pr\u00e9sentes prendront fin imm\u00e9diatement ; (ii) l'Utilisateur cessera imm\u00e9diatement toute utilisation de la Solution et retournera ou d\u00e9truira toute Documentation et tout Logiciel DZ sous son contr\u00f4le ; (iii) chaque partie retournera ou d\u00e9truira promptement toutes les Informations Confidentielles et biens de l'autre partie ; et (iv) les Sections 2.2, 2.3, 3, 4.2 et 5 \u00e0 8 survivront.

5. CONFIDENTIALIT\u00c9. Chaque partie accepte qu'elle utilisera les Informations Confidentielles de l'autre partie uniquement pour ex\u00e9cuter ses obligations et exercer ses droits en vertu du pr\u00e9sent Contrat et qu'elle ne divulguera pas, ni ne permettra la divulgation de celles-ci, sauf dans la mesure autoris\u00e9e par les pr\u00e9sentes. Cependant, l'une ou l'autre partie peut divulguer des Informations Confidentielles \u00e0 son personnel, ses avocats et autres repr\u00e9sentants qui ont besoin d'en conna\u00eetre et sont li\u00e9s par des obligations de confidentialit\u00e9 au moins aussi protectrices que celles \u00e9nonc\u00e9es dans le pr\u00e9sent Contrat ; et tel que requis par la loi (auquel cas la partie r\u00e9ceptrice fournira \u00e0 la partie divulgatrice un pr\u00e9avis avant de proc\u00e9der \u00e0 une telle divulgation et l'occasion de contester cette divulgation, et minimisera cette divulgation dans la mesure permise par la loi applicable). Les obligations de confidentialit\u00e9 \u00e9nonc\u00e9es dans cette Section 5 ne s'appliqueront pas aux informations qui : (a) sont ou deviennent g\u00e9n\u00e9ralement connues ou accessibles au public sans faute de la partie r\u00e9ceptrice ; (b) \u00e9taient d\u00fbment connues de la partie r\u00e9ceptrice, sans restriction, avant la divulgation par la partie divulgatrice ; (c) ont \u00e9t\u00e9 d\u00fbment divulgu\u00e9es \u00e0 la partie r\u00e9ceptrice, sans restriction, par une autre personne ayant l'autorit\u00e9 l\u00e9gale de le faire ; ou (d) sont d\u00e9velopp\u00e9es ind\u00e9pendamment par la partie r\u00e9ceptrice sans utiliser ni r\u00e9f\u00e9rencer les Informations Confidentielles de la partie divulgatrice. Chaque partie accepte d'exercer la diligence raisonnable pour prot\u00e9ger les Informations Confidentielles de l'autre partie contre toute utilisation et divulgation non autoris\u00e9es. En cas de violation r\u00e9elle ou menac\u00e9e des dispositions de cette Section ou des licences contenues dans les pr\u00e9sentes, la partie non violante aura droit \u00e0 une injonction imm\u00e9diate et \u00e0 tout autre recours \u00e9quitable, sans renoncer \u00e0 tout autre droit ou recours dont elle dispose. L'Utilisateur est responsable du maintien de la Solution et du secret de tout mot de passe, phrase de passe ou code donnant acc\u00e8s \u00e0 la Solution en tant qu'Informations Confidentielles de DZF. Rien dans les pr\u00e9sentes ne limite ou ne restreint le droit ou la capacit\u00e9 de DZF d'utiliser les donn\u00e9es relatives aux performances, \u00e0 la disponibilit\u00e9, \u00e0 l'utilisation, \u00e0 l'int\u00e9grit\u00e9 et \u00e0 la s\u00e9curit\u00e9 de la Solution. Si l'une ou l'autre partie viole, ou menace de violer les dispositions de cette Section 5, chaque partie accepte que la partie non violante n'aura aucun recours ad\u00e9quat en droit et est donc en droit d'une injonction imm\u00e9diate et d'autres mesures \u00e9quitables, sans cautionnement et sans n\u00e9cessit\u00e9 de d\u00e9montrer des dommages mon\u00e9taires r\u00e9els.

6. EXCLUSION DE GARANTIE ; LIMITATION DE RESPONSABILIT\u00c9.

6.1 EXCLUSION DE GARANTIE. LA SOLUTION EST FOURNIE \u00ab EN L'\u00c9TAT \u00bb SANS AUCUNE GARANTIE D'AUCUNE SORTE. DZF NE FOURNIT AUCUNE GARANTIE, QU'ELLE SOIT EXPRESSE, IMPLICITE, L\u00c9GALE OU AUTRE EN CE QUI CONCERNE LA SOLUTION ET LA DOCUMENTATION, Y COMPRIS LEUR \u00c9TAT, LEUR CONFORMIT\u00c9 \u00c0 TOUTE REPR\u00c9SENTATION OU DESCRIPTION, ET DZF EXCLUT SP\u00c9CIFIQUEMENT TOUTES LES GARANTIES IMPLICITES DE QUALIT\u00c9 MARCHANDE, D'AD\u00c9QUATION \u00c0 UN USAGE PARTICULIER, DE TITRE ET DE NON-CONTREFA\u00c7ON.

6.2 LIMITATION DE RESPONSABILIT\u00c9. SAUF POUR UNE VIOLATION DES SECTIONS 2.1, 2.2 ET 5, EN AUCUN CAS L'UNE OU L'AUTRE PARTIE NE SERA RESPONSABLE ENVERS L'AUTRE POUR DES DOMMAGES INDIRECTS, ACCESSOIRES, SP\u00c9CIAUX OU AUTRES DOMMAGES CONS\u00c9CUTIFS, Y COMPRIS SANS LIMITATION LES DOMMAGES POUR PERTE DE B\u00c9N\u00c9FICES OU D'UTILISATION OU DE PERTE DE DONN\u00c9ES, SUBIS PAR VOUS OU PAR UN TIERS, D\u00c9COULANT DE OU LI\u00c9S AU PR\u00c9SENT CONTRAT QU'IL S'AGISSE D'UNE ACTION CONTRACTUELLE, D\u00c9LICTUELLE OU AUTRE, M\u00caME SI L'AUTRE PARTIE A \u00c9T\u00c9 INFORM\u00c9E DE LA POSSIBILIT\u00c9 DE TELS DOMMAGES. EN AUCUN CAS LA RESPONSABILIT\u00c9 GLOBALE DE DZF D\u00c9COULANT DE OU LI\u00c9E AU PR\u00c9SENT CONTRAT N'EXC\u00c9DERA CENT DOLLARS ($100), QU'IL S'AGISSE D'UNE ACTION CONTRACTUELLE, D\u00c9LICTUELLE OU AUTRE. LES LIMITATIONS CI-DESSUS S'APPLIQUERONT NONOBSTANT L'\u00c9CHEC DE L'OBJECTIF ESSENTIEL DE TOUT RECOURS LIMIT\u00c9 PR\u00c9VU AUX PR\u00c9SENTES. LES PARTIES CONVIENNENT QUE LES LIMITATIONS CI-DESSUS REPR\u00c9SENTENT UNE R\u00c9PARTITION RAISONNABLE DES RISQUES EN VERTU DU PR\u00c9SENT CONTRAT.

7. DROIT APPLICABLE. Le pr\u00e9sent Contrat et toutes les questions d\u00e9coulant de ou li\u00e9es au pr\u00e9sent Contrat seront r\u00e9gis, interpr\u00e9t\u00e9s et construits conform\u00e9ment aux lois des \u00celes Ca\u00efmans. Si une controverse, un diff\u00e9rend ou une r\u00e9clamation survient de ou en relation avec le pr\u00e9sent Contrat (\u00abDiff\u00e9rend\u00bb), la partie concern\u00e9e, selon le cas, doit donner un pr\u00e9avis de 30 jours d'un tel Diff\u00e9rend \u00e0 l'autre partie (le \u00abAvis de Diff\u00e9rend\u00bb). Si le Diff\u00e9rend n'est pas r\u00e9solu \u00e0 l'expiration de 30 jours apr\u00e8s la signification de l'Avis de Diff\u00e9rend, la partie concern\u00e9e peut engager une proc\u00e9dure d'arbitrage comme pr\u00e9vu dans les pr\u00e9sentes. Si le Diff\u00e9rend persiste \u00e0 l'expiration de 30 jours apr\u00e8s la signification de l'Avis de Diff\u00e9rend, le Diff\u00e9rend sera r\u00e9gl\u00e9 par arbitrage administr\u00e9 par le Centre International de M\u00e9diation et d'Arbitrage des Ca\u00efmans (CI-MAC) conform\u00e9ment aux R\u00e8gles d'Arbitrage CI-MAC en vigueur \u00e0 la date du pr\u00e9sent Contrat, lesquelles R\u00e8gles d'Arbitrage sont r\u00e9put\u00e9es \u00eatre incorpor\u00e9es par r\u00e9f\u00e9rence \u00e0 cette clause, et r\u00e9gies par la Loi sur l'Arbitrage (telle que modifi\u00e9e). L'arbitrage aura son si\u00e8ge \u00e0 George Town, Grand Ca\u00efman, \u00celes Ca\u00efmans et sera r\u00e9gi par le droit des \u00celes Ca\u00efmans. La langue de l'arbitrage sera l'anglais. L'arbitrage sera d\u00e9termin\u00e9 par un arbitre unique \u00e0 nommer conform\u00e9ment aux R\u00e8gles d'Arbitrage. Toute sentence ou d\u00e9cision rendue par l'arbitre sera r\u00e9dig\u00e9e par \u00e9crit et sera d\u00e9finitive et contraignante pour les parties sans aucun droit d'appel, et le jugement sur toute sentence ainsi obtenu pourra \u00eatre saisi ou ex\u00e9cut\u00e9 par tout tribunal comp\u00e9tent. Aucune action en justice ou en \u00e9quit\u00e9 bas\u00e9e sur une r\u00e9clamation d\u00e9coulant de ou li\u00e9e au pr\u00e9sent Contrat ne sera intent\u00e9e devant un tribunal d'une quelconque juridiction. Si un litige ou un arbitrage est n\u00e9cessaire pour faire respecter les termes du pr\u00e9sent Contrat, la partie qui obtient gain de cause aura droit au remboursement de ses honoraires d'avocat par l'autre partie. Chaque partie renonce \u00e0 tout droit qu'elle pourrait avoir d'invoquer la doctrine du forum non conveniens, d'affirmer qu'elle n'est pas soumise \u00e0 la comp\u00e9tence de cet arbitrage ou de ces tribunaux ou de s'opposer au lieu dans la mesure o\u00f9 toute proc\u00e9dure est engag\u00e9e conform\u00e9ment aux pr\u00e9sentes.

8. DISPOSITIONS G\u00c9N\u00c9RALES. Le pr\u00e9sent Contrat ne peut \u00eatre transf\u00e9r\u00e9 ou c\u00e9d\u00e9 par l'Utilisateur sans le consentement \u00e9crit pr\u00e9alable de DZF. DZF peut librement c\u00e9der le pr\u00e9sent Contrat. Tous les avis devant \u00eatre envoy\u00e9s dans les pr\u00e9sentes seront envoy\u00e9s par e-mail (\u00e0 DZF : legal@doublezero.xyz) et seront consid\u00e9r\u00e9s comme re\u00e7us le lendemain de l'envoi (avec confirmation de transmission). Si une disposition du pr\u00e9sent Contrat est jug\u00e9e invalide ou inapplicable, les dispositions restantes du pr\u00e9sent Contrat resteront en vigueur. La renonciation par l'une ou l'autre partie \u00e0 tout d\u00e9faut ou violation du pr\u00e9sent Contrat ne constituera pas une renonciation \u00e0 tout autre d\u00e9faut ou violation ult\u00e9rieur. Aucune des parties ne sera responsable d'un retard ou d'un manquement dans l'ex\u00e9cution d\u00fb \u00e0 des cas de force majeure, des tremblements de terre, des p\u00e9nuries d'approvisionnement, des difficult\u00e9s de transport, des conflits du travail, des \u00e9meutes, des guerres, des incendies, des \u00e9pid\u00e9mies et des \u00e9v\u00e9nements similaires \u00e9chappant \u00e0 son contr\u00f4le, qu'ils soient ou non pr\u00e9visibles. Le pr\u00e9sent Contrat ainsi que toutes les pi\u00e8ces jointes constituent l'accord complet entre les parties et remplacent tous les accords ou repr\u00e9sentations ant\u00e9rieurs ou contemporains, \u00e9crits ou oraux, concernant l'objet des pr\u00e9sentes. Le pr\u00e9sent Contrat ne peut \u00eatre modifi\u00e9 ou amend\u00e9 que par \u00e9crit sign\u00e9 par un repr\u00e9sentant d\u00fbment autoris\u00e9 de chaque partie.

"},{"location":"fr/DZ%20Testnet%20Connection/#connexion-au-testnet-en-mode-ibrl","title":"Connexion au Testnet en Mode IBRL","text":"

Note

Le mode IBRL ne n\u00e9cessite pas de red\u00e9marrer les clients validateurs, car il utilise votre adresse IP publique existante.

Les validateurs Solana Testnet compl\u00e8teront la connexion au Testnet DoubleZero, qui est d\u00e9crite sur cette page.

Chaque validateur Solana poss\u00e8de sa propre keypair d'identit\u00e9 ; \u00e0 partir de celle-ci, extrayez la cl\u00e9 publique connue sous le nom d'ID de n\u0153ud. Il s'agit de l'empreinte unique du validateur sur le r\u00e9seau Solana.

Avec le DoubleZeroID et l'ID de n\u0153ud identifi\u00e9s, vous prouverez la propri\u00e9t\u00e9 de votre machine. Cela se fait en cr\u00e9ant un message incluant le DoubleZeroID sign\u00e9 avec la cl\u00e9 d'identit\u00e9 du validateur. La signature cryptographique r\u00e9sultante sert de preuve v\u00e9rifiable que vous contr\u00f4lez le validateur.

Enfin, vous soumettrez une demande de connexion \u00e0 DoubleZero. Cette demande communique : \u00ab Voici mon identit\u00e9, voici la preuve de propri\u00e9t\u00e9, et voici comment j'entends me connecter. \u00bb DoubleZero valide ces informations, accepte la preuve et provisionne l'acc\u00e8s r\u00e9seau pour le validateur sur DoubleZero.

Ce guide permet \u00e0 1 Validateur Principal de s'enregistrer lui-m\u00eame, et jusqu'\u00e0 3 machines de sauvegarde/basculement en m\u00eame temps.

"},{"location":"fr/DZ%20Testnet%20Connection/#prerequis","title":"Pr\u00e9requis","text":"

Info

L'ID Validateur sera v\u00e9rifi\u00e9 par rapport au gossip Solana pour d\u00e9terminer l'IP cible. L'IP cible et le DoubleZero ID seront ensuite utilis\u00e9s lors de l'ouverture d'un tunnel GRE entre votre machine et le DoubleZero Device cible.

\u00c0 consid\u00e9rer : Dans le cas o\u00f9 vous avez un ID factice et un ID principal sur la m\u00eame IP, seul l'ID principal sera utilis\u00e9 lors de l'enregistrement de la machine. En effet, l'ID factice n'appara\u00eetra pas dans le gossip et ne pourra donc pas \u00eatre utilis\u00e9 pour v\u00e9rifier l'IP de la machine cible.

"},{"location":"fr/DZ%20Testnet%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au testnet DoubleZero :

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Vous devriez voir la sortie suivante :
\u2705 doublezerod configured for environment testnet\n

Apr\u00e8s environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :

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

La sortie du mainnet sera identique dans sa structure, mais avec beaucoup plus de dispositifs disponibles.

"},{"location":"fr/DZ%20Testnet%20Connection/#2-ouvrir-le-port-44880","title":"2. Ouvrir le port 44880","text":"

Les utilisateurs doivent ouvrir le port 44880 pour utiliser certaines fonctionnalit\u00e9s de routage.

Pour ouvrir le port 44880, vous pouvez mettre \u00e0 jour les tables IP comme suit :

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

notez les flags -i doublezero0, -o doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

Ou UFW comme suit :

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

notez les flags in on doublezero0, out on doublezero0 qui restreignent cette r\u00e8gle uniquement \u00e0 l'interface DoubleZero

"},{"location":"fr/DZ%20Testnet%20Connection/#3-attester-la-propriete-du-validateur","title":"3. Attester la Propri\u00e9t\u00e9 du Validateur","text":"

Avec votre environnement DoubleZero configur\u00e9, il est maintenant temps d'attester la propri\u00e9t\u00e9 de votre Validateur.

Le DoubleZero ID que vous avez cr\u00e9\u00e9 lors de la configuration de votre validateur principal doit \u00eatre utilis\u00e9 sur toutes les machines de sauvegarde.

L'ID sur votre machine principale peut \u00eatre trouv\u00e9 avec doublezero address. Le m\u00eame ID doit \u00eatre dans ~/.config/doublezero/id.json sur toutes les machines du cluster.

Pour accomplir cela, vous v\u00e9rifierez d'abord que la machine sur laquelle vous ex\u00e9cutez les commandes est votre Validateur Principal avec :

doublezero-solana passport find-validator -ut\n

Cela v\u00e9rifie que le validateur est enregistr\u00e9 dans le gossip et appara\u00eet dans le planning des leaders.

Sortie attendue :

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

Le m\u00eame workflow est utilis\u00e9 pour une ou plusieurs machines. Pour enregistrer une seule machine, excluez les arguments \"--backup-validator-ids\" ou \"backup_ids=\" de toutes les commandes de cette page.

Maintenant, sur toutes les machines de sauvegarde sur lesquelles vous avez l'intention d'ex\u00e9cuter votre Validateur Principal, ex\u00e9cutez ce qui suit :

doublezero-solana passport find-validator -ut\n

Sortie attendue :

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Cette sortie est attendue. Le n\u0153ud de sauvegarde ne peut pas \u00eatre dans le planning des leaders au moment de la cr\u00e9ation du pass.

Vous allez maintenant ex\u00e9cuter cette commande sur toutes les machines de sauvegarde sur lesquelles vous pr\u00e9voyez d'utiliser le compte de vote et l'identit\u00e9 de votre Validateur Principal.

"},{"location":"fr/DZ%20Testnet%20Connection/#preparer-la-connexion","title":"Pr\u00e9parer la Connexion","text":"

Ex\u00e9cutez la commande suivante sur la machine du Validateur Principal. C'est la machine sur laquelle vous avez une mise en jeu active, qui est dans le planning des leaders avec votre ID de validateur principal dans le gossip Solana sur la machine depuis laquelle vous ex\u00e9cutez la commande :

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

Exemple de sortie :

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: testnet\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Notez la sortie \u00e0 la fin de cette commande. C'est la structure pour l'\u00e9tape suivante.

"},{"location":"fr/DZ%20Testnet%20Connection/#4-generer-la-signature","title":"4. G\u00e9n\u00e9rer la Signature","text":"

\u00c0 la fin de la derni\u00e8re \u00e9tape, nous avons re\u00e7u une sortie pr\u00e9-format\u00e9e pour solana sign-offchain-message

\u00c0 partir de la sortie ci-dessus, nous allons ex\u00e9cuter cette commande sur la machine du Validateur Principal.

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

Sortie :

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"fr/DZ%20Testnet%20Connection/#5-initier-une-demande-de-connexion-dans-doublezero","title":"5. Initier une Demande de Connexion dans DoubleZero","text":"

Utilisez la commande request-validator-access pour cr\u00e9er un compte sur Solana pour la demande de connexion. L'agent DoubleZero Sentinel d\u00e9tecte le nouveau compte, valide son identit\u00e9 et sa signature, et cr\u00e9e le pass d'acc\u00e8s dans DoubleZero pour que le serveur puisse \u00e9tablir une connexion.

Utilisez l'ID de n\u0153ud, le DoubleZeroID et la signature.

Note

Dans cet exemple, nous utilisons -k /home/user/.config/solana/id.json pour trouver l'identit\u00e9 du validateur. Utilisez l'emplacement appropri\u00e9 pour votre d\u00e9ploiement local.

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

Sortie :

Cette sortie peut \u00eatre utilis\u00e9e pour voir la transaction sur un explorateur Solana. Assurez-vous de changer l'explorateur sur testnet. Cette v\u00e9rification est optionnelle.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

En cas de succ\u00e8s, DoubleZero enregistrera le principal avec ses sauvegardes. Vous pouvez maintenant basculer entre les IP enregistr\u00e9es dans le pass d'acc\u00e8s. DoubleZero maintiendra automatiquement la connectivit\u00e9 lors du basculement vers les n\u0153uds de sauvegarde enregistr\u00e9s de cette mani\u00e8re.

"},{"location":"fr/DZ%20Testnet%20Connection/#6-se-connecter-en-mode-ibrl","title":"6. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel GRE finisse de s'\u00e9tablir. Jusqu'\u00e0 ce que le tunnel GRE soit configur\u00e9, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Note

Examinez cette sortie. Notez que le Tunnel src et le DoubleZero IP correspondent \u00e0 l'adresse IPv4 publique de votre machine.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/DZ%20Testnet%20Connection/#prochaine-etape-publication-de-shreds-via-multicast","title":"Prochaine \u00c9tape : Publication de Shreds via Multicast","text":"

Si vous avez termin\u00e9 cette configuration et pr\u00e9voyez de publier des shreds via multicast, passez \u00e0 la page suivante.

"},{"location":"fr/New%20Tenant/","title":"Nouveau Tenant","text":"

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.

Si vous souhaitez que votre syst\u00e8me distribu\u00e9 tire parti du r\u00e9seau DoubleZero, nous sommes heureux de r\u00e9pondre \u00e0 toutes vos questions techniques.

Formulaire de Contact

"},{"location":"fr/Other%20Multicast%20Connection/","title":"Autre Connexion Multicast","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

Cas d'Utilisation Premi\u00e8re \u00c9tape Une fois approuv\u00e9, connectez-vous via : S'abonner \u00e0 Jito Shredstream Contactez Jito pour approbation. doublezero connect multicast --subscribe jito-shredstream

Informations de connexion d\u00e9taill\u00e9es :

"},{"location":"fr/Other%20Multicast%20Connection/#1-installation-du-client-doublezero","title":"1. Installation du Client DoubleZero","text":"

Veuillez suivre les instructions de configuration pour installer et configurer le client DoubleZero.

"},{"location":"fr/Other%20Multicast%20Connection/#2-instructions-de-connexion","title":"2. Instructions de Connexion","text":"

Connectez-vous \u00e0 DoubleZero en mode Multicast En tant qu'\u00e9diteur :

doublezero connect multicast --publish <nom du flux>

ou en tant qu'abonn\u00e9 :

doublezero connect multicast --subscribe <nom du flux>

ou pour publier et s'abonner :

doublezero connect multicast --publish <nom du flux> --subscribe <nom du flux>

Pour publier ou s'abonner \u00e0 plusieurs flux, vous pouvez inclure plusieurs noms de flux s\u00e9par\u00e9s par des espaces. Cela peut \u00e9galement \u00eatre utilis\u00e9 pour publier et s'abonner \u00e0 des flux de publication. Par exemple doublezero connect multicast --subscribe feed1 feed2 feed3

Vous devriez voir une sortie similaire \u00e0 ce qui suit :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"fr/Other%20Multicast%20Connection/#3-verifiez-votre-connexion-multicast-active","title":"3. V\u00e9rifiez votre connexion multicast active.","text":"

Attendez 60 secondes puis ex\u00e9cutez

doublezero status\n
R\u00e9sultat attendu : - Session BGP active sur le bon r\u00e9seau DoubleZero - Si vous \u00eates un \u00e9diteur, votre IP DoubleZero sera diff\u00e9rente de votre IP Source Tunnel. C'est normal. - Si vous \u00eates uniquement abonn\u00e9, votre IP DoubleZero sera identique \u00e0 votre IP Source Tunnel.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

V\u00e9rifiez les groupes auxquels vous \u00eates connect\u00e9 :

doublezero user list --client-ip <your ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"fr/Permissioned%20Connection/","title":"Connexion Autoris\u00e9e Non-Validateur \u00e0 DoubleZero en Mode IBRL","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/Permissioned%20Connection/#apercu-de-lintegration-des-utilisateurs-autorises","title":"Aper\u00e7u de l'Int\u00e9gration des Utilisateurs Autoris\u00e9s","text":"

L'int\u00e9gration des utilisateurs est actuellement autoris\u00e9e pour les non-validateurs et les RPC. Pour commencer le processus d'autorisation, veuillez remplir ce formulaire. Voici ce \u00e0 quoi vous pouvez vous attendre au cours de ce processus :

"},{"location":"fr/Permissioned%20Connection/#connexion-a-mainnet-beta-et-testnet-en-mode-ibrl","title":"Connexion \u00e0 Mainnet-Beta et Testnet en Mode IBRL","text":"

Note

Le mode IBRL ne n\u00e9cessite pas de red\u00e9marrer les clients validateurs, car il utilise votre adresse IP publique existante.

Les Utilisateurs Autoris\u00e9s compl\u00e8teront la connexion au Mainnet-beta DoubleZero, qui est d\u00e9crite sur cette page.

"},{"location":"fr/Permissioned%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au testnet DoubleZero :

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au mainnet-beta DoubleZero :
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Vous devriez voir la sortie suivante :

\u2705 doublezerod configured for environment mainnet-beta\n
Vous devriez voir la sortie suivante : \u2705 doublezerod configured for environment testnet

Apr\u00e8s environ 30 secondes, vous verrez les dispositifs DoubleZero disponibles :

doublezero latency\n
Exemple de sortie (Testnet)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
La sortie du testnet sera identique dans sa structure, mais avec beaucoup plus de dispositifs disponibles.

"},{"location":"fr/Permissioned%20Connection/#2-contacter-la-doublezero-foundation","title":"2. Contacter la DoubleZero Foundation","text":"

La DoubleZero Foundation. Vous devrez fournir votre DoubleZeroID, votre ID Validateur (node ID) et l'adresse IPv4 publique depuis laquelle vous vous connecterez.

"},{"location":"fr/Permissioned%20Connection/#3-se-connecter-en-mode-ibrl","title":"3. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel soit compl\u00e9t\u00e9. Jusqu'\u00e0 ce que le tunnel soit \u00e9tabli, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
Sortie :

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/Permissioned%20Connection/#prochaine-etape-multicast","title":"Prochaine \u00c9tape : Multicast","text":"

Si vous avez termin\u00e9 cette configuration et pr\u00e9voyez d'utiliser le Multicast, passez \u00e0 la page suivante.

"},{"location":"fr/Shelby%20Permissioned%20Connection/","title":"Connexion \u00e0 DoubleZero en Mode IBRL pour les Utilisateurs du Testnet Shelby","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/Shelby%20Permissioned%20Connection/#obtenir-votre-doublezeroid","title":"Obtenir votre DoubleZeroID","text":"

Vous devrez fournir votre DoubleZeroID et l'adresse IPv4 publique sur ce formulaire

"},{"location":"fr/Shelby%20Permissioned%20Connection/#connexion-au-testnet-en-mode-ibrl","title":"Connexion au Testnet en Mode IBRL","text":"

Les utilisateurs autoris\u00e9s Shelby compl\u00e8teront la connexion au Testnet DoubleZero, qui est d\u00e9crite sur cette page.

"},{"location":"fr/Shelby%20Permissioned%20Connection/#1-configuration-de-lenvironnement","title":"1. Configuration de l'Environnement","text":"

Veuillez suivre les instructions de configuration avant de proc\u00e9der.

La derni\u00e8re \u00e9tape de la configuration consistait \u00e0 se d\u00e9connecter du r\u00e9seau. Cela garantit qu'un seul tunnel est ouvert sur votre machine vers DoubleZero, et que ce tunnel est sur le bon r\u00e9seau.

Pour configurer la CLI Client DoubleZero (doublezero) afin de se connecter au tenant Shelby sur DoubleZero :

doublezero config set --tenant shelby\n

Appliquez des r\u00e8gles de pare-feu suppl\u00e9mentaires sp\u00e9cifiques \u00e0 Shelby :

iptables :

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW :

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"fr/Shelby%20Permissioned%20Connection/#2-contacter-la-doublezero-foundation","title":"2. Contacter la DoubleZero Foundation","text":"

La DoubleZero Foundation. Vous devrez fournir votre DoubleZeroID et l'adresse IPv4 publique depuis laquelle vous vous connecterez.

"},{"location":"fr/Shelby%20Permissioned%20Connection/#3-se-connecter-en-mode-ibrl","title":"3. Se Connecter en Mode IBRL","text":"

Sur le serveur, avec l'utilisateur qui se connectera \u00e0 DoubleZero, ex\u00e9cutez la commande connect pour \u00e9tablir la connexion \u00e0 DoubleZero.

doublezero connect ibrl\n

Vous devriez voir une sortie indiquant le provisionnement, telle que :

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendez une minute que le tunnel soit compl\u00e9t\u00e9. Jusqu'\u00e0 ce que le tunnel soit \u00e9tabli, votre sortie de statut peut indiquer \"down\" ou \"Unknown\"

V\u00e9rifiez votre connexion :

doublezero status\n

Sortie :

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Un statut up signifie que vous \u00eates connect\u00e9 avec succ\u00e8s.

Vous pourrez voir les routes propag\u00e9es par d'autres utilisateurs sur DoubleZero en ex\u00e9cutant :

ip route\n
Sortie :

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"fr/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Lisez le Avertissement avant d'acc\u00e9der ou d'utiliser le code ou tout mat\u00e9riel associ\u00e9.

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.

Avertissement

Ce document et le code associ\u00e9 sont fournis \u00e0 des fins d'information et techniques uniquement. La fonctionnalit\u00e9 de conversion de tokens d\u00e9crite ici est non-custodiale \u2014 les utilisateurs interagissent directement avec les contrats intelligents sous-jacents et conservent le plein contr\u00f4le de leurs actifs \u00e0 tout moment.

Le syst\u00e8me peut s'appuyer sur ou interagir avec du code tiers, des sources de donn\u00e9es, ou des m\u00e9canismes de tarification et de frais (par exemple, des contrats intelligents, des API, ou des \u00e9changes d\u00e9centralis\u00e9s) qui ne sont pas d\u00e9velopp\u00e9s, contr\u00f4l\u00e9s, ou examin\u00e9s par le(s) d\u00e9veloppeur(s) ou \u00e9diteur(s). Aucune repr\u00e9sentation ou garantie n'est faite quant \u00e0 l'exactitude, la fonctionnalit\u00e9, ou la s\u00e9curit\u00e9 de tout composant tiers. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) de ce code ne garantissent pas son exactitude, son exhaustivit\u00e9, ou sa disponibilit\u00e9 continue. Le code et les mat\u00e9riaux associ\u00e9s sont fournis \"tels quels\", et peuvent contenir des bugs, des erreurs, ou des vuln\u00e9rabilit\u00e9s. L'utilisation est enti\u00e8rement \u00e0 vos propres risques. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) ne re\u00e7oivent aucuns frais en rapport avec l'utilisation de ces contrats. Ils n'ont aucune obligation de maintenir, mettre \u00e0 jour, ou soutenir le code ou la documentation associ\u00e9e.

Ce document ne constitue pas une offre de vente, une sollicitation d'achat, ou une recommandation de participer \u00e0 une conversion de tokens, un \u00e9change ou une autre transaction. Aucun conseil juridique, financier, ou d'investissement n'est fourni. Les utilisateurs sont seuls responsables de d\u00e9terminer la l\u00e9galit\u00e9 de leurs activit\u00e9s. Ils doivent examiner les lois et r\u00e9glementations applicables dans leur juridiction et consulter des conseillers ind\u00e9pendants avant d'utiliser le code ou de participer \u00e0 une conversion. L'utilisation est interdite l\u00e0 o\u00f9 elle serait ill\u00e9gale, y compris par des personnes ou entit\u00e9s soumises \u00e0 des sanctions ou dans des juridictions restreintes.

Dans la mesure maximale permise par la loi, le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) d\u00e9clinent toute responsabilit\u00e9 pour toute perte, dommage, ou r\u00e9clamation d\u00e9coulant de ou en rapport avec l'utilisation du code ou la participation \u00e0 la conversion.

L'examen et l'utilisation de ce document et du code associ\u00e9 sont soumis aux Conditions G\u00e9n\u00e9rales du Site Web et aux Conditions G\u00e9n\u00e9rales du Protocole.

Le protocole DoubleZero collecte des revenus libell\u00e9s en SOL aupr\u00e8s de ses validateurs mais distribue des r\u00e9compenses libell\u00e9es en 2Z aux contributeurs. Il doit donc convertir des SOL en 2Z.

Pour ce faire, les participants \u00e9ligibles peuvent trader contre un contrat de swap DoubleZero, en achetant des SOL au contrat et en vendant des 2Z. La tarification est bas\u00e9e sur les flux de prix Pyth avec un m\u00e9canisme de remise programmatique.

Ce court guide explique comment utiliser le programme.

Lisez l'Avertissement \u00e0 la fin de ce document avant d'acc\u00e9der ou d'utiliser le code ou tout mat\u00e9riel associ\u00e9.

"},{"location":"fr/Swapping-sol-to-2z/#conception-du-programme","title":"Conception du Programme","text":"

Le programme de swap est effectivement un pool de liquidit\u00e9 unilat\u00e9ral qui vend des SOL par lots fixes de 1 SOL par trade. Tout participant \u00e9ligible peut retirer des SOL du programme en d\u00e9posant des 2Z, \u00e0 un prix d\u00e9termin\u00e9 par un prix oracle de Pyth et une remise dynamique. Au fil du temps, cela ex\u00e9cute l'objectif du programme de convertir les tokens natifs en 2Z.

Pour l'utiliser, un trader doit fournir deux prix Pyth r\u00e9cents (SOL/USD et 2Z/USD) et une quantit\u00e9 de 2Z. Le programme calcule ensuite les 2Z n\u00e9cessaires pour acheter ce 1 SOL sur la base du prix implicite SOL/2Z. Il prend ensuite quelques \u00e9tapes suppl\u00e9mentaires :

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

\u00c0 ce stade, si le trader a fourni suffisamment de 2Z pour ex\u00e9cuter la transaction \u00e0 ce prix calcul\u00e9 (remise incluse), elle s'ex\u00e9cute \u00e0 ce prix calcul\u00e9. Il retourne au trader la quantit\u00e9 de SOL achet\u00e9e et tout exc\u00e9dent de 2Z.

Le contrat ne permet ensuite plus aucun trade pour ce slot. Ceci est pour emp\u00eacher le contrat de payer un slippage excessivement \u00e9lev\u00e9 si le prix Pyth est loin du vrai prix \u00e0 un moment donn\u00e9 d'une mani\u00e8re que les filtres existants ne d\u00e9tectent pas.

"},{"location":"fr/Swapping-sol-to-2z/#execution-atomique-sans-gaz","title":"Ex\u00e9cution Atomique Sans Gaz","text":"

Cette section d\u00e9taillera comment utiliser la commande harvest-dz. Cette commande effectuera atomiquement 2 actions. 1. La commande demande un devis \u00e0 Jupiter contre le programme de conversion natif SOL <> 2Z. 2. Lorsque la route Jupiter rapporte plus de 2Z par SOL que ce que le programme de conversion natif requiert, harvest-2z ex\u00e9cute un swap, retournant \u00e0 votre portefeuille 1 SOL plus la diff\u00e9rence en 2Z.

"},{"location":"fr/Swapping-sol-to-2z/#harvest-2z","title":"Harvest 2Z","text":"

Pour ex\u00e9cuter, lancez la commande suivante :

doublezero-solana revenue-distribution harvest-2z\n
La sortie ressemblera \u00e0 :
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
La commande peut \u00e9galement \u00eatre simul\u00e9e avec l'argument --dry-run. Le dry-run produira des logs de programme et une sortie ressemblant \u00e0 :

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"fr/Swapping-sol-to-2z/#conversion-du-protocole","title":"Conversion du Protocole","text":"

Cette section traite de la v\u00e9rification des taux de conversion et de l'ex\u00e9cution de la conversion \u00e0 l'aide de la CLI doublezero-solana. Et \u00e0 la fin, nous discutons de l'interface pour les int\u00e9grations personnalis\u00e9es avec le contrat de swap DoubleZero.

"},{"location":"fr/Swapping-sol-to-2z/#comment-verifier-le-prix-de-conversion-sol2z-via-doublezero-solana","title":"Comment v\u00e9rifier le prix de conversion SOL/2Z via doublezero-solana","text":"

Pour trouver les taux de conversion SOL/2Z sur mainnet-beta, ex\u00e9cutez la commande suivante :

doublezero-solana revenue-distribution fetch sol-conversion\n

Et la sortie que vous verrez ressemblera \u00e0 :

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Le Journal Balance informe l'utilisateur de la liquidit\u00e9 SOL disponible dans le contrat intelligent de Distribution des Revenus. Un utilisateur peut trader tant que le Journal Balance d\u00e9passe la taille de trade fixe de 1 SOL.

La premi\u00e8re ligne affiche le \"vrai\" prix de conversion SOL/2Z via un oracle hors cha\u00eene. La deuxi\u00e8me ligne est le prix de conversion utilis\u00e9 onchain pour le swap, qui ajuste simplement le vrai prix pour la remise algorithmique.

"},{"location":"fr/Swapping-sol-to-2z/#comment-convertir-vos-2z-en-sol-via-doublezero-solana","title":"Comment convertir vos 2Z en SOL via doublezero-solana","text":"

Pour convertir vos tokens 2Z en SOL, ex\u00e9cutez la commande suivante :

doublezero-solana revenue-distribution convert-2z\n

Par d\u00e9faut, si il y a suffisamment de liquidit\u00e9 SOL et que votre ATA a suffisamment de 2Z pour effectuer le swap, cette transaction r\u00e9ussira. Vous pouvez affiner davantage le swap en sp\u00e9cifiant les arguments suivants :

      --limit-price <DECIMAL>                    Limit price defaults to the current SOL/2Z oracle price\n      --source-2z-account <PUBKEY>               Token account must be owned by the signer. Defaults to signer ATA if not specified\n      --checked-sol-amount <SOL>                 Explicitly check SOL amount. When specified, this amount will be checked against the fixed fill quantity\n

Le prix limite sp\u00e9cifi\u00e9 d\u00e9termine le prix dans le pire cas que vous \u00eates pr\u00eat \u00e0 accepter lors de l'ex\u00e9cution de la conversion SOL/2Z. Par exemple, supposons que le prix 2Z actualis\u00e9 pour le SOL soit de 800, ce qui signifie 800 tokens 2Z pour 1 SOL. Si vous sp\u00e9cifiez un prix limite de 790, vous n'\u00eates pas pr\u00eat \u00e0 effectuer le swap parce que vous exigez d'\u00e9changer au maximum 790 tokens 2Z pour 1 SOL. Mais si vous sp\u00e9cifiez 810, le trade passera parce que vous \u00e9tiez pr\u00eat \u00e0 \u00e9changer au maximum 810 tokens 2Z (et dans ce cas, vous n'aurez \u00e9chang\u00e9 que 800 tokens 2Z dans cette transaction).

Le compte de tokens 2Z source remplace l'ATA par d\u00e9faut en utilisant le signataire comme propri\u00e9taire de cet ATA 2Z. Mais si vous avez un autre compte de tokens que vous souhaitez utiliser pour effectuer le swap, fournissez la pubkey avec cet argument.

Optionnellement, vous pouvez sp\u00e9cifier le montant SOL v\u00e9rifi\u00e9 \u00e0 la taille de remplissage standard (fix\u00e9e \u00e0 1 SOL au lancement). Si elle ne correspond pas \u00e0 la taille de remplissage du programme, le swap \u00e9choue. Cela att\u00e9nue le risque que la taille de remplissage du programme change et que vous ne le remarquiez pas.

"},{"location":"fr/Swapping-sol-to-2z/#interface-pour-acheter-des-sol","title":"Interface pour Acheter des SOL","text":"

L'interface et la CLI doublezero-solana se trouvent dans ce d\u00e9p\u00f4t. Le code source de l'interface du contrat de swap DoubleZero peut \u00eatre trouv\u00e9 ici. L'ID du programme est 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Une fa\u00e7on pratique de g\u00e9n\u00e9rer les comptes n\u00e9cessaires pour l'instruction d'achat de SOL est d'utiliser la m\u00e9thode new (trouv\u00e9e dans instruction/account.rs).

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

La fill_registry_key peut \u00eatre r\u00e9cup\u00e9r\u00e9e soit depuis le ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // this key\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

Alternativement, vous pouvez appeler getProgramAccounts via le RPC Solana avec son discriminateur. Mais nous recommandons de mettre cette pubkey en cache car elle ne changera jamais.

La user_key est un signataire pour l'instruction d'achat de SOL et doit \u00eatre le propri\u00e9taire du user_token_account_key. Comme d\u00e9crit ci-dessus, cela N'a PAS besoin d'\u00eatre un ATA. Tant que votre compte de tokens 2Z est d\u00e9tenu par la user_key, cette instruction r\u00e9ussira.

La struct BuySolAccounts impl\u00e9mente Into<Vec<AccountMeta>> afin que vous puissiez g\u00e9n\u00e9rer tous les account metas dont vous avez besoin pour construire l'instruction.

Les donn\u00e9es d'instruction sont

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Ces donn\u00e9es d'instruction sont s\u00e9rialis\u00e9es en Borsh et ont un s\u00e9lecteur Anchor de 8 octets, qui sera tout s\u00e9rialis\u00e9 lors de l'utilisation de BorshSerialize::serialize.

Les donn\u00e9es de prix oracle peuvent \u00eatre r\u00e9cup\u00e9r\u00e9es depuis cet endpoint public : https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. Les donn\u00e9es sont d\u00e9s\u00e9rialisables avec serde en utilisant la struct OraclePriceData trouv\u00e9e dans oracle.rs.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Exemple de r\u00e9cup\u00e9ration avec le crate reqwest :

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Avec l'ID du programme, les comptes et les donn\u00e9es d'instruction, vous devriez \u00eatre en mesure de construire l'instruction pour acheter des SOL depuis le contrat de swap DoubleZero.

"},{"location":"fr/Validator%20Multicast%20Connection/","title":"Connexion Multicast Validateur","text":"

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.

En me connectant \u00e0 DoubleZero, j'accepte les Conditions d'Utilisation de DoubleZero

Si vous n'\u00eates pas encore connect\u00e9 \u00e0 DoubleZero, veuillez compl\u00e9ter la documentation Configuration et de connexion validateur Mainnet-Beta.

Si vous \u00eates un validateur d\u00e9j\u00e0 connect\u00e9 \u00e0 DoubleZero, vous pouvez continuer ce guide.

"},{"location":"fr/Validator%20Multicast%20Connection/#jito-agave-version-319-ou-superieure","title":"Jito-Agave (version 3.1.9 ou sup\u00e9rieure)","text":"
  1. Dans votre script de d\u00e9marrage du validateur, ajoutez : --shred-receiver-address 233.84.178.1:7733

    Vous pouvez envoyer \u00e0 Jito et au groupe bebop en m\u00eame temps.

    exemple :

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...The rest of your config...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Red\u00e9marrez votre validateur.

  3. Connectez-vous au groupe multicast DoubleZero bebop en tant qu'\u00e9diteur : doublezero connect multicast --publish bebop

"},{"location":"fr/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. Dans config.toml, ajoutez :
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Red\u00e9marrez votre validateur.

  3. Connectez-vous au groupe multicast DoubleZero bebop en tant qu'\u00e9diteur : doublezero connect multicast --publish bebop

Note

Les utilisateurs Frankendancer en mode pilote XDP ne peuvent pas utiliser tcpdump. Il n'existe actuellement aucun moyen de confirmer que vous publiez, mais une solution sera bient\u00f4t disponible.

"},{"location":"fr/Validator%20Multicast%20Connection/#confirmer-que-vous-publiez","title":"Confirmer que vous publiez","text":"

Pendant votre prochain slot de leader, utilisez tcpdump pour confirmer que vous publiez vers le groupe multicast. Vous devriez voir un heartbeat toutes les 10 secondes pour v\u00e9rifier que vous publiez des shreds.

Ex\u00e9cutez : sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Exemple de sortie lors de la publication :

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"fr/architecture/","title":"Architecture","text":"

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.

Quels sont les diff\u00e9rents acteurs et composants du r\u00e9seau DoubleZero ?

Figure 1 : Composants de l'architecture r\u00e9seau"},{"location":"fr/architecture/#contributeurs","title":"Contributeurs","text":"

Le r\u00e9seau DoubleZero est compos\u00e9 de contributions en mati\u00e8re de connectivit\u00e9 et de traitement des paquets d'une communaut\u00e9 croissante de fournisseurs d'infrastructure r\u00e9seau distribu\u00e9s dans des villes du monde entier. Les contributeurs apportent des liens en c\u00e2ble fibre optique et des ressources de traitement de l'information au protocole pour fournir le r\u00e9seau maill\u00e9 d\u00e9centralis\u00e9.

"},{"location":"fr/architecture/#contributeurs-en-bande-passante-reseau","title":"Contributeurs en Bande Passante R\u00e9seau","text":"

Les contributeurs r\u00e9seau doivent fournir une bande passante d\u00e9di\u00e9e entre deux points, exploiter des dispositifs compatibles DoubleZero (DZD) \u00e0 chaque extr\u00e9mit\u00e9, et une connexion \u00e0 internet \u00e0 chaque extr\u00e9mit\u00e9. Les contributeurs r\u00e9seau doivent \u00e9galement ex\u00e9cuter le logiciel DoubleZero sur chaque DZD pour fournir des services tels que le multicast, la recherche d'utilisateurs et les services de filtration en p\u00e9riph\u00e9rie.

Les liens physiques du r\u00e9seau DoubleZero sont fournis sous forme de c\u00e2bles en fibre optique, commun\u00e9ment appel\u00e9s services \u00e0 longueur d'onde. Les contributeurs r\u00e9seau s'engagent avec des liens r\u00e9seau sous-utilis\u00e9s, poss\u00e9d\u00e9s ou lou\u00e9s aupr\u00e8s de fournisseurs d'infrastructure, entre deux ou plusieurs centres de donn\u00e9es. Ces liens sont termin\u00e9s aux deux extr\u00e9mit\u00e9s par des DoubleZero Devices, qui sont des bo\u00eetiers de commutation r\u00e9seau physiques ex\u00e9cutant des instances du logiciel DoubleZero Agent.

"},{"location":"fr/architecture/#doublezero-exchange-dzx-site-de-cross-connect","title":"DoubleZero Exchange (DZX / Site de Cross-connect)","text":"

Les DoubleZero Exchanges (DZX) sont des points d'interconnexion dans le r\u00e9seau maill\u00e9 o\u00f9 diff\u00e9rents liens de contributeurs sont reli\u00e9s ensemble. Les DZX sont situ\u00e9s dans les grandes zones m\u00e9tropolitaines du monde entier o\u00f9 se produisent les intersections de r\u00e9seau. Les contributeurs r\u00e9seau doivent cross-connecter leurs liens dans le r\u00e9seau maill\u00e9 DoubleZero plus large au niveau des DZX situ\u00e9s g\u00e9ographiquement le plus pr\u00e8s de leurs extr\u00e9mit\u00e9s de liens.

"},{"location":"fr/architecture/#contributeurs-en-ressources-informatiques","title":"Contributeurs en Ressources Informatiques","text":"

S\u00e9par\u00e9ment des contributeurs r\u00e9seau, les contributeurs en ressources sont un groupe d\u00e9centralis\u00e9 de participants r\u00e9seau qui effectuent diverses t\u00e2ches de maintenance et de surveillance n\u00e9cessaires pour maintenir l'int\u00e9grit\u00e9 technique et la fonctionnalit\u00e9 continue du r\u00e9seau DoubleZero. Plus pr\u00e9cis\u00e9ment, ils (i) suivent les transactions et les paiements des utilisateurs ; (ii) calculent les frais pour les contributeurs r\u00e9seau ; (iii) enregistrent les r\u00e9sultats de (i) et (ii) ; (iv) administrent, strictement sur une base non discr\u00e9tionnaire, les contrats intelligents qui contr\u00f4lent la tokenomique du protocole ; (v) transmettent les attestations \u00e0 la blockchain applicable ; et (vi) publient des donn\u00e9es de t\u00e9l\u00e9m\u00e9trie sur la qualit\u00e9 et l'utilisation des liens pour fournir des m\u00e9triques de performance transparentes en temps r\u00e9el pour tous les contributeurs r\u00e9seau.

"},{"location":"fr/architecture/#composants","title":"Composants","text":""},{"location":"fr/architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

Le logiciel DoubleZero Daemon s'ex\u00e9cute sur les serveurs qui ont besoin de communiquer sur le r\u00e9seau DoubleZero. Le daemon s'interface avec la pile r\u00e9seau du noyau de l'h\u00f4te pour cr\u00e9er et g\u00e9rer les interfaces de tunnel, les tables de routage et les routes.

"},{"location":"fr/architecture/#activateur","title":"Activateur","text":"

Le service Activateur, h\u00e9berg\u00e9 par un ou plusieurs membres contributeurs en ressources informatiques de la communaut\u00e9 DoubleZero, surveille les \u00e9v\u00e9nements de contrat n\u00e9cessitant des allocations d'adresses IP et des changements d'\u00e9tat, et g\u00e8re ces changements au nom du r\u00e9seau.

"},{"location":"fr/architecture/#controleur","title":"Contr\u00f4leur","text":"

Le service Contr\u00f4leur, h\u00e9berg\u00e9 par un ou plusieurs contributeurs en ressources informatiques de la communaut\u00e9 DoubleZero, sert d'interface de configuration pour que les DoubleZero Device Agents rendent leur configuration actuelle bas\u00e9e sur les \u00e9v\u00e9nements de contrat intelligent.

"},{"location":"fr/architecture/#agent","title":"Agent","text":"

Le logiciel Agent s'ex\u00e9cute directement sur les DoubleZero Devices et applique les changements de configuration aux dispositifs tels qu'interpr\u00e9t\u00e9s par le service Contr\u00f4leur. Le logiciel Agent interroge le Contr\u00f4leur pour les changements de configuration, calcule toute diff\u00e9rence entre la version canonique on-chain de l'\u00e9tat du Device et la configuration active sur le dispositif et applique les changements n\u00e9cessaires pour r\u00e9concilier la configuration active.

"},{"location":"fr/architecture/#dispositif","title":"Dispositif","text":"

Le bo\u00eetier de dispositif physique fournissant le routage et la terminaison de liens pour le r\u00e9seau DoubleZero. Les DZD ex\u00e9cutent le logiciel DoubleZero Agent et sont configur\u00e9s sur la base des donn\u00e9es lues depuis le service Contr\u00f4leur.

"},{"location":"fr/connect/","title":"Connect","text":"

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.

If you are not redirected, click here.

"},{"location":"fr/contribute-operations/","title":"Guide des Op\u00e9rations pour les Contributeurs","text":"

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.

Ce guide couvre les t\u00e2ches op\u00e9rationnelles courantes pour maintenir vos DoubleZero Devices (DZD), notamment les mises \u00e0 niveau des agents, les mises \u00e0 jour des dispositifs/interfaces, et la gestion des liens.

Pr\u00e9requis : Avant d'utiliser ce guide, assurez-vous d'avoir :

"},{"location":"fr/contribute-operations/#mises-a-jour-des-dispositifs","title":"Mises \u00e0 Jour des Dispositifs","text":"

Utilisez doublezero device update pour modifier les param\u00e8tres du dispositif apr\u00e8s le provisionnement initial.

doublezero device update --pubkey <PUBKEY_DISPOSITIF> [OPTIONS]\n

Options de mise \u00e0 jour courantes :

Option Description --device-type <TYPE> Changer le mode de fonctionnement : hybrid, transit, edge (voir Types de Dispositifs) --location <EMPLACEMENT> D\u00e9placer le dispositif vers un emplacement diff\u00e9rent --metrics-publisher <PUBKEY> Changer la cl\u00e9 de publication de m\u00e9triques"},{"location":"fr/contribute-operations/#mises-a-jour-des-interfaces","title":"Mises \u00e0 Jour des Interfaces","text":"

Utilisez doublezero device interface update pour modifier les interfaces existantes. Cette commande accepte les m\u00eames options que interface create.

doublezero device interface update <DISPOSITIF> <NOM> [OPTIONS]\n

Pour la liste compl\u00e8te des options d'interface incluant les param\u00e8tres CYOA/DIA, voir Cr\u00e9ation d'Interfaces.

Exemple - Ajouter des param\u00e8tres CYOA \u00e0 une interface existante :

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"fr/contribute-operations/#lister-les-interfaces","title":"Lister les Interfaces","text":"
doublezero device interface list              # Toutes les interfaces sur tous les dispositifs\ndoublezero device interface list <DISPOSITIF> # Interfaces pour un dispositif sp\u00e9cifique\n
"},{"location":"fr/contribute-operations/#mise-a-niveau-de-lagent-de-configuration","title":"Mise \u00e0 Niveau de l'Agent de Configuration","text":"

Lorsqu'une nouvelle version de l'Agent de Configuration est publi\u00e9e, suivez ces \u00e9tapes pour mettre \u00e0 niveau.

"},{"location":"fr/contribute-operations/#1-telecharger-la-derniere-version","title":"1. T\u00e9l\u00e9charger la derni\u00e8re version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"fr/contribute-operations/#2-arreter-lagent","title":"2. Arr\u00eater l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#3-supprimer-lancienne-version","title":"3. Supprimer l'ancienne version","text":"

D'abord, trouvez le nom de fichier de l'ancienne version :

switch# show extensions\n

Ex\u00e9cutez les commandes suivantes pour supprimer l'ancienne version. Remplacez <ANCIENNE_VERSION> par l'ancienne version de la sortie ci-dessus :

switch# delete flash:doublezero-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\n

"},{"location":"fr/contribute-operations/#4-installer-la-nouvelle-version","title":"4. Installer la nouvelle version","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-operations/#5-reactiver-lagent","title":"5. R\u00e9activer l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#6-verifier-la-mise-a-niveau","title":"6. V\u00e9rifier la mise \u00e0 niveau","text":"

Le Statut devrait \u00eatre \"A, I, B\".

switch# show extensions\n

"},{"location":"fr/contribute-operations/#7-verifier-la-sortie-de-log-de-lagent-de-configuration","title":"7. V\u00e9rifier la Sortie de Log de l'Agent de Configuration","text":"
show agent doublezero-agent log\n
"},{"location":"fr/contribute-operations/#mise-a-niveau-de-lagent-de-telemetrie","title":"Mise \u00e0 Niveau de l'Agent de T\u00e9l\u00e9m\u00e9trie","text":"

Lorsqu'une nouvelle version de l'Agent de T\u00e9l\u00e9m\u00e9trie est publi\u00e9e, suivez ces \u00e9tapes pour mettre \u00e0 niveau.

"},{"location":"fr/contribute-operations/#1-telecharger-la-derniere-version_1","title":"1. T\u00e9l\u00e9charger la derni\u00e8re version","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"fr/contribute-operations/#2-arreter-lagent_1","title":"2. Arr\u00eater l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#3-supprimer-lancienne-version_1","title":"3. Supprimer l'ancienne version","text":"

D'abord, trouvez le nom de fichier de l'ancienne version :

switch# show extensions\n

Ex\u00e9cutez les commandes suivantes pour supprimer l'ancienne version. Remplacez <ANCIENNE_VERSION> par l'ancienne version de la sortie ci-dessus :

switch# delete flash:doublezero-device-telemetry-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<ANCIENNE_VERSION>_linux_amd64.rpm\n

"},{"location":"fr/contribute-operations/#4-installer-la-nouvelle-version_1","title":"4. Installer la nouvelle version","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-operations/#5-reactiver-lagent_1","title":"5. R\u00e9activer l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"fr/contribute-operations/#6-verifier-la-mise-a-niveau_1","title":"6. V\u00e9rifier la mise \u00e0 niveau","text":"

Le Statut devrait \u00eatre \"A, I, B\".

switch# show extensions\n

"},{"location":"fr/contribute-operations/#7-verifier-la-sortie-de-log-de-lagent-de-telemetrie","title":"7. V\u00e9rifier la Sortie de Log de l'Agent de T\u00e9l\u00e9m\u00e9trie","text":"
show agent doublezero-telemetry log\n
"},{"location":"fr/contribute-operations/#surveillance","title":"Surveillance","text":"

\u26a0\ufe0f Important :

  1. Pour les exemples de configuration ci-dessous, veuillez tenir compte du fait que vos agents utilisent ou non un VRF de gestion.
  2. L'agent de configuration et l'agent de t\u00e9l\u00e9m\u00e9trie utilisent le m\u00eame port d'\u00e9coute (:8080) pour leur endpoint de m\u00e9triques par d\u00e9faut. Si vous activez les m\u00e9triques sur les deux, utilisez le flag -metrics-addr pour d\u00e9finir des ports d'\u00e9coute uniques pour chaque agent.
"},{"location":"fr/contribute-operations/#metriques-de-lagent-de-configuration","title":"M\u00e9triques de l'Agent de Configuration","text":"

L'agent de configuration sur le dispositif DoubleZero a la capacit\u00e9 d'exposer des m\u00e9triques compatibles Prometheus en d\u00e9finissant le flag -metrics-enable dans la configuration du d\u00e9mon doublezero-agent. Le port d'\u00e9coute par d\u00e9faut est tcp/8080 mais peut \u00eatre chang\u00e9 pour s'adapter \u00e0 l'environnement via -metrics-addr :

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

Les m\u00e9triques sp\u00e9cifiques \u00e0 DoubleZero suivantes sont expos\u00e9es avec les m\u00e9triques de runtime sp\u00e9cifiques \u00e0 go :

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"fr/contribute-operations/#erreurs-a-haute-signification","title":"Erreurs \u00e0 Haute Signification","text":""},{"location":"fr/contribute-operations/#metriques-de-lagent-de-telemetrie","title":"M\u00e9triques de l'Agent de T\u00e9l\u00e9m\u00e9trie","text":"

L'agent de t\u00e9l\u00e9m\u00e9trie sur le dispositif DoubleZero a la capacit\u00e9 d'exposer des m\u00e9triques compatibles Prometheus en d\u00e9finissant le flag -metrics-enable dans la configuration du d\u00e9mon doublezero-telemetry. Le port d'\u00e9coute par d\u00e9faut est tcp/8080 mais peut \u00eatre chang\u00e9 pour s'adapter \u00e0 l'environnement via -metrics-addr :

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

Les m\u00e9triques sp\u00e9cifiques \u00e0 DoubleZero suivantes sont expos\u00e9es avec les m\u00e9triques de runtime sp\u00e9cifiques \u00e0 go :

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"fr/contribute-operations/#erreurs-a-haute-signification_1","title":"Erreurs \u00e0 Haute Signification","text":""},{"location":"fr/contribute-operations/#gestion-des-liens","title":"Gestion des Liens","text":""},{"location":"fr/contribute-operations/#drainage-des-liens","title":"Drainage des Liens","text":"

Le drainage des liens permet aux contributeurs de retirer gracieusement un lien du service actif pour la maintenance ou le d\u00e9pannage. Il y a deux \u00e9tats de drainage :

Statut Comportement IS-IS Description soft-drained M\u00e9trique fix\u00e9e \u00e0 1 000 000 Le lien est d\u00e9prioritis\u00e9. Le trafic utilisera des chemins alternatifs si disponibles, mais utilisera encore ce lien si c'est la seule option. hard-drained Mis en passif Le lien est compl\u00e8tement retir\u00e9 du routage. Aucun trafic ne traversera ce lien."},{"location":"fr/contribute-operations/#transitions-detat","title":"Transitions d'\u00c9tat","text":"

Les transitions d'\u00e9tat suivantes sont autoris\u00e9es :

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (doit passer par soft-drained d'abord)\n

\u26a0\ufe0f Note : Vous ne pouvez pas passer directement de hard-drained \u00e0 activated. Vous devez d'abord passer \u00e0 soft-drained, puis \u00e0 activated.

"},{"location":"fr/contribute-operations/#drainer-doucement-un-lien","title":"Drainer Doucement un Lien","text":"

Le drainage doux d\u00e9prioritise un lien en fixant sa m\u00e9trique IS-IS \u00e0 1 000 000. Le trafic pr\u00e9f\u00e9rera les chemins alternatifs mais peut encore utiliser ce lien si n\u00e9cessaire.

doublezero link update --pubkey <PUBKEY_LIEN> --status soft-drained\n
"},{"location":"fr/contribute-operations/#drainer-fortement-un-lien","title":"Drainer Fortement un Lien","text":"

Le drainage fort retire le lien du routage enti\u00e8rement en mettant IS-IS en mode passif. Aucun trafic ne traversera ce lien.

doublezero link update --pubkey <PUBKEY_LIEN> --status hard-drained\n
"},{"location":"fr/contribute-operations/#restaurer-un-lien-en-service-actif","title":"Restaurer un Lien en Service Actif","text":"

Pour remettre un lien drain\u00e9 en fonctionnement normal :

# Depuis soft-drained\ndoublezero link update --pubkey <PUBKEY_LIEN> --status activated\n\n# Depuis hard-drained (doit passer par soft-drained d'abord)\ndoublezero link update --pubkey <PUBKEY_LIEN> --status soft-drained\ndoublezero link update --pubkey <PUBKEY_LIEN> --status activated\n
"},{"location":"fr/contribute-operations/#remplacement-de-delai","title":"Remplacement de D\u00e9lai","text":"

La fonctionnalit\u00e9 de remplacement de d\u00e9lai permet aux contributeurs de modifier temporairement le d\u00e9lai effectif d'un lien sans modifier la valeur de d\u00e9lai mesur\u00e9e r\u00e9elle. Ceci est utile pour d\u00e9moter temporairement un lien du chemin principal au chemin secondaire.

"},{"location":"fr/contribute-operations/#definir-un-remplacement-de-delai","title":"D\u00e9finir un Remplacement de D\u00e9lai","text":"

Pour remplacer le d\u00e9lai d'un lien (le rendant moins pr\u00e9f\u00e9r\u00e9 dans le routage) :

doublezero link update --pubkey <PUBKEY_LIEN> --delay-override-ms 100\n

Les valeurs valides sont de 0.01 \u00e0 1000 millisecondes.

"},{"location":"fr/contribute-operations/#effacer-un-remplacement-de-delai","title":"Effacer un Remplacement de D\u00e9lai","text":"

Pour supprimer le remplacement et revenir \u00e0 l'utilisation du d\u00e9lai mesur\u00e9 r\u00e9el :

doublezero link update --pubkey <PUBKEY_LIEN> --delay-override-ms 0\n

\u26a0\ufe0f Note : Lorsqu'un lien est soft-drained, delay_ms et delay_override_ms sont tous deux remplac\u00e9s \u00e0 1000ms (1 seconde) pour assurer la d\u00e9prioritisation.

"},{"location":"fr/contribute-overview/","title":"Documentation Contributeur","text":"

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.

Terminologie

Nouveau sur DoubleZero ? Consultez le Glossaire pour les d\u00e9finitions des termes cl\u00e9s comme DZD, DZX et CYOA.

Bienvenue dans la documentation des contributeurs DoubleZero. Cette section couvre tout ce dont vous avez besoin pour devenir un contributeur r\u00e9seau.

Int\u00e9ress\u00e9 \u00e0 devenir un contributeur r\u00e9seau ?

Consultez la page Exigences et Architecture pour comprendre le mat\u00e9riel, la bande passante et la connectivit\u00e9 n\u00e9cessaires pour contribuer au r\u00e9seau DoubleZero.

"},{"location":"fr/contribute-overview/#checklist-dintegration","title":"Checklist d'Int\u00e9gration","text":"

Utilisez cette checklist pour suivre votre progression. Tous les \u00e9l\u00e9ments doivent \u00eatre compl\u00e9t\u00e9s avant que votre contribution soit techniquement op\u00e9rationnelle.

"},{"location":"fr/contribute-overview/#phase-1-prerequis","title":"Phase 1 : Pr\u00e9requis","text":""},{"location":"fr/contribute-overview/#phase-2-configuration-du-compte","title":"Phase 2 : Configuration du Compte","text":""},{"location":"fr/contribute-overview/#phase-3-provisionnement-du-dispositif","title":"Phase 3 : Provisionnement du Dispositif","text":""},{"location":"fr/contribute-overview/#phase-4-etablissement-des-liens-installation-des-agents","title":"Phase 4 : \u00c9tablissement des Liens & Installation des Agents","text":""},{"location":"fr/contribute-overview/#phase-5-burn-in-du-lien","title":"Phase 5 : Burn-in du Lien","text":""},{"location":"fr/contribute-overview/#phase-6-verification-activation","title":"Phase 6 : V\u00e9rification & Activation","text":""},{"location":"fr/contribute-overview/#obtenir-de-laide","title":"Obtenir de l'Aide","text":"

Dans le cadre de l'int\u00e9gration, DZF vous ajoutera aux canaux Slack des contributeurs :

Canal Objectif #dz-contributor-announcements Communications officielles de DZF et Malbec Labs \u2014 mises \u00e0 niveau CLI/agent, changements majeurs, annonces de s\u00e9curit\u00e9. Surveiller pour les mises \u00e0 jour critiques ; poser des questions dans les fils de discussion. #dz-contributor-incidents \u00c9v\u00e9nements impr\u00e9vus ayant un impact sur le service. Les incidents sont publi\u00e9s automatiquement via l'API/formulaire web avec la gravit\u00e9 et les dispositifs/liens affect\u00e9s. Discussion et r\u00e9solution de probl\u00e8mes dans les fils de discussion. #dz-contributor-maintenance Activit\u00e9s de maintenance planifi\u00e9es (mises \u00e0 niveau, r\u00e9parations). Planifi\u00e9es via l'API/formulaire web avec les heures de d\u00e9but/fin pr\u00e9vues. Discussion dans les fils de discussion. #dz-contributor-ops Discussion ouverte pour tous les contributeurs \u2014 questions op\u00e9rationnelles, aide CLI, partage de runbooks et de playbooks.

Vous obtiendrez \u00e9galement un canal priv\u00e9 DZ/Malbec Labs pour le support direct de votre organisation.

"},{"location":"fr/contribute-overview/#regles-du-prefixe-dz","title":"R\u00e8gles du Pr\u00e9fixe DZ","text":"

Critique : Utilisation du Pool de Pr\u00e9fixes DZ

Le pool de pr\u00e9fixes DZ que vous fournissez est g\u00e9r\u00e9 par le protocole DoubleZero pour l'allocation IP.

Comment les pr\u00e9fixes DZ sont utilis\u00e9s :

Vous NE POUVEZ PAS utiliser ces adresses pour :

Exigences :

Si vous avez besoin d'adresses pour votre propre \u00e9quipement (IP d'interface DIA, gestion, etc.), utilisez un pool d'adresses s\u00e9par\u00e9.

"},{"location":"fr/contribute-overview/#reference-rapide-termes-cles","title":"R\u00e9f\u00e9rence Rapide : Termes Cl\u00e9s","text":"

Nouveau sur DoubleZero ? Voici les termes essentiels (voir le Glossaire complet) :

Terme D\u00e9finition DZD DoubleZero Device - votre commutateur Arista physique ex\u00e9cutant les agents DZ DZX DoubleZero Exchange - point d'interconnexion m\u00e9tropolitain o\u00f9 les contributeurs font du peering CYOA Choose Your Own Adventure - m\u00e9thode de connectivit\u00e9 utilisateur (GREOverDIA, GREOverFabric, etc.) DIA Direct Internet Access - connectivit\u00e9 internet requise par tous les DZD pour le contr\u00f4leur et la t\u00e9l\u00e9m\u00e9trie, couramment utilis\u00e9e comme type CYOA pour la connectivit\u00e9 utilisateur sur les dispositifs edge/hybrides Lien WAN Lien entre vos propres DZD (m\u00eame contributeur) Lien DZX Lien vers le DZD d'un autre contributeur (n\u00e9cessite une acceptation mutuelle) Config Agent Interroge le contr\u00f4leur, applique la configuration \u00e0 votre DZD Telemetry Agent Collecte les m\u00e9triques de latence/perte TWAMP, soumet au registre on-chain Cl\u00e9 de Service Votre cl\u00e9 d'identit\u00e9 de contributeur pour les op\u00e9rations CLI Cl\u00e9 d'\u00c9diteur de M\u00e9triques Cl\u00e9 pour signer les soumissions de t\u00e9l\u00e9m\u00e9trie on-chain"},{"location":"fr/contribute-overview/#structure-de-la-documentation","title":"Structure de la Documentation","text":"Guide Description Exigences et Architecture Sp\u00e9cifications mat\u00e9rielles, architecture r\u00e9seau, options de bande passante Provisionnement des Dispositifs \u00c9tape par \u00e9tape : cl\u00e9s \u2192 acc\u00e8s au d\u00e9p\u00f4t \u2192 dispositif \u2192 liens \u2192 agents Op\u00e9rations Mises \u00e0 niveau des agents, gestion des liens, surveillance Glossaire Toute la terminologie DoubleZero d\u00e9finie"},{"location":"fr/contribute-overview/#bases-du-reseau-pour-les-non-ingenieurs-reseau","title":"Bases du R\u00e9seau pour les Non-Ing\u00e9nieurs R\u00e9seau","text":"

Si vous n'avez pas de formation en ing\u00e9nierie r\u00e9seau, voici une introduction aux concepts utilis\u00e9s dans cette documentation :

"},{"location":"fr/contribute-overview/#adressage-ip","title":"Adressage IP","text":""},{"location":"fr/contribute-overview/#couches-reseau","title":"Couches R\u00e9seau","text":""},{"location":"fr/contribute-overview/#termes-courants","title":"Termes Courants","text":""},{"location":"fr/contribute-overview/#specifique-a-doublezero","title":"Sp\u00e9cifique \u00e0 DoubleZero","text":"

Pr\u00eat \u00e0 commencer ? Commencez par Exigences et Architecture.

"},{"location":"fr/contribute-provisioning/","title":"Guide de Provisionnement des Dispositifs","text":"

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.

Ce guide vous accompagne dans le provisionnement d'un DoubleZero Device (DZD) du d\u00e9but \u00e0 la fin. Chaque phase correspond \u00e0 la Liste de Contr\u00f4le d'Int\u00e9gration.

"},{"location":"fr/contribute-provisioning/#vue-densemble","title":"Vue d'Ensemble","text":"

Avant de plonger dans les \u00e9tapes, voici la vue d'ensemble de ce que vous construisez :

flowchart TB\n    subgraph Onchain\n        SC[Registre DoubleZero]\n    end\n\n    subgraph Votre Infrastructure\n        MGMT[Serveur de Gestion<br/>CLI DoubleZero]\n        DZD[Votre DZD<br/>Commutateur Arista]\n        DZD ---|Lien WAN| DZD2[Votre autre DZD]\n    end\n\n    subgraph Autre Contributeur\n        OtherDZD[Leur DZD]\n    end\n\n    subgraph Utilisateurs\n        VAL[Validateurs]\n        RPC[N\u0153uds RPC]\n    end\n\n    MGMT -.->|Enregistre dispositifs,<br/>liens, interfaces| SC\n    DZD ---|Lien DZX| OtherDZD\n    VAL ---|Connexion via Internet| DZD\n    RPC ---|Connexion via Internet| DZD
"},{"location":"fr/contribute-provisioning/#phase-1-prerequis","title":"Phase 1 : Pr\u00e9requis","text":"

Avant de pouvoir provisionner un dispositif, vous avez besoin du mat\u00e9riel physique configur\u00e9 et de quelques adresses IP allou\u00e9es.

"},{"location":"fr/contribute-provisioning/#ce-dont-vous-avez-besoin","title":"Ce Dont Vous Avez Besoin","text":"Exigence Pourquoi C'est N\u00e9cessaire Mat\u00e9riel DZD Commutateur Arista 7280CR3A (voir sp\u00e9cifications mat\u00e9rielles) Espace Baie 4U avec une ventilation appropri\u00e9e Alimentation Alimentations redondantes, ~4KW recommand\u00e9 Acc\u00e8s Gestion Acc\u00e8s SSH/console pour configurer le commutateur Connectivit\u00e9 Internet Pour la publication de m\u00e9triques et pour r\u00e9cup\u00e9rer la configuration depuis le contr\u00f4leur Bloc IPv4 Public Minimum /29 pour le pool de pr\u00e9fixes DZ (voir ci-dessous)"},{"location":"fr/contribute-provisioning/#installer-la-cli-doublezero","title":"Installer la CLI DoubleZero","text":"

La CLI DoubleZero (doublezero) est utilis\u00e9e tout au long du provisionnement pour enregistrer les dispositifs, cr\u00e9er des liens et g\u00e9rer votre contribution. Elle doit \u00eatre install\u00e9e sur un serveur de gestion ou une VM \u2014 pas sur le commutateur DZD lui-m\u00eame. Le commutateur n'ex\u00e9cute que l'Agent de Configuration et l'Agent de T\u00e9l\u00e9m\u00e9trie (install\u00e9s dans la Phase 4).

Ubuntu / Debian :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

V\u00e9rifiez que le d\u00e9mon est en cours d'ex\u00e9cution :

sudo systemctl status doublezerod\n

"},{"location":"fr/contribute-provisioning/#comprendre-votre-prefixe-dz","title":"Comprendre Votre Pr\u00e9fixe DZ","text":"

Votre pr\u00e9fixe DZ est un bloc d'adresses IP publiques que le protocole DoubleZero g\u00e8re pour l'allocation IP.

flowchart LR\n    subgraph \"Votre Bloc /29 (8 IPs)\"\n        IP1[\"Premi\u00e8re IP<br/>R\u00e9serv\u00e9e pour<br/>votre dispositif\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Attribu\u00e9e \u00e0| LO[Loopback100<br/>sur votre DZD]\n    IP2 -->|Allou\u00e9e \u00e0| U1[Utilisateur 1]\n    IP3 -->|Allou\u00e9e \u00e0| U2[Utilisateur 2]

Comment les pr\u00e9fixes DZ sont utilis\u00e9s :

R\u00e8gles du Pr\u00e9fixe DZ

Vous NE POUVEZ PAS utiliser ces adresses pour :

Exigences :

Si vous avez besoin d'adresses pour votre propre \u00e9quipement (IPs d'interface DIA, gestion, etc.), utilisez un pool d'adresses s\u00e9par\u00e9.

"},{"location":"fr/contribute-provisioning/#phase-2-configuration-du-compte","title":"Phase 2 : Configuration du Compte","text":"

Dans cette phase, vous cr\u00e9ez les cl\u00e9s cryptographiques qui vous identifient, vous et vos dispositifs, sur le r\u00e9seau.

"},{"location":"fr/contribute-provisioning/#ou-executer-la-cli","title":"O\u00f9 Ex\u00e9cuter la CLI","text":"

N'installez PAS la CLI sur votre commutateur

La CLI DoubleZero (doublezero) doit \u00eatre install\u00e9e sur un serveur de gestion ou une VM, pas sur votre commutateur Arista.

flowchart LR\n    subgraph \"Serveur/VM de Gestion\"\n        CLI[CLI DoubleZero]\n        KEYS[Vos Paires de Cl\u00e9s]\n    end\n\n    subgraph \"Votre Commutateur DZD\"\n        CA[Agent de Configuration]\n        TA[Agent de T\u00e9l\u00e9m\u00e9trie]\n    end\n\n    CLI -->|Cr\u00e9e dispositifs, liens| BC[Blockchain]\n    CA -->|R\u00e9cup\u00e8re la config| CTRL[Contr\u00f4leur]\n    TA -->|Soumet les m\u00e9triques| BC
Installer sur le Serveur de Gestion Installer sur le Commutateur CLI doublezero Agent de Configuration Votre cl\u00e9 de service Agent de T\u00e9l\u00e9m\u00e9trie Votre cl\u00e9 de publication de m\u00e9triques Cl\u00e9 de publication de m\u00e9triques (copie)"},{"location":"fr/contribute-provisioning/#quest-ce-que-les-cles","title":"Qu'est-ce que les Cl\u00e9s ?","text":"

Pensez aux cl\u00e9s comme des identifiants de connexion s\u00e9curis\u00e9s :

Les deux sont des paires de cl\u00e9s cryptographiques (une cl\u00e9 publique que vous partagez, une cl\u00e9 priv\u00e9e que vous gardez secr\u00e8te).

flowchart LR\n    subgraph \"Vos Cl\u00e9s\"\n        SK[Cl\u00e9 de Service<br/>~/.config/solana/id.json]\n        MK[Cl\u00e9 de Publication de M\u00e9triques<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Utilis\u00e9e pour| CLI[Commandes CLI<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Utilis\u00e9e pour| TEL[Agent de T\u00e9l\u00e9m\u00e9trie<br/>Soumet les m\u00e9triques onchain]
"},{"location":"fr/contribute-provisioning/#etape-21-generer-votre-cle-de-service","title":"\u00c9tape 2.1 : G\u00e9n\u00e9rer Votre Cl\u00e9 de Service","text":"

C'est votre identit\u00e9 principale pour interagir avec DoubleZero.

doublezero keygen\n

Cela cr\u00e9e une paire de cl\u00e9s \u00e0 l'emplacement par d\u00e9faut. La sortie montre votre cl\u00e9 publique \u2014 c'est ce que vous partagerez avec DZF.

"},{"location":"fr/contribute-provisioning/#etape-22-generer-votre-cle-de-publication-de-metriques","title":"\u00c9tape 2.2 : G\u00e9n\u00e9rer Votre Cl\u00e9 de Publication de M\u00e9triques","text":"

Cette cl\u00e9 est utilis\u00e9e par l'Agent de T\u00e9l\u00e9m\u00e9trie pour signer les soumissions de m\u00e9triques.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"fr/contribute-provisioning/#etape-23-soumettre-les-cles-a-dzf","title":"\u00c9tape 2.3 : Soumettre les Cl\u00e9s \u00e0 DZF","text":"

Contactez la DoubleZero Foundation ou Malbec Labs et fournissez :

  1. Votre cl\u00e9 publique de service
  2. Votre nom d'utilisateur GitHub (pour l'acc\u00e8s au d\u00e9p\u00f4t)

Ils vont :

"},{"location":"fr/contribute-provisioning/#etape-24-verifier-votre-compte","title":"\u00c9tape 2.4 : V\u00e9rifier Votre Compte","text":"

Une fois confirm\u00e9, v\u00e9rifiez que votre compte de contributeur existe :

doublezero contributor list\n

Vous devriez voir votre code de contributeur dans la liste.

"},{"location":"fr/contribute-provisioning/#etape-25-acceder-au-depot-des-contributeurs","title":"\u00c9tape 2.5 : Acc\u00e9der au D\u00e9p\u00f4t des Contributeurs","text":"

Le d\u00e9p\u00f4t malbeclabs/contributors contient :

Suivez les instructions l\u00e0-bas pour la configuration sp\u00e9cifique au dispositif.

"},{"location":"fr/contribute-provisioning/#phase-3-provisionnement-du-dispositif","title":"Phase 3 : Provisionnement du Dispositif","text":"

Vous allez maintenant enregistrer votre dispositif physique sur la blockchain et configurer ses interfaces.

"},{"location":"fr/contribute-provisioning/#comprendre-les-types-de-dispositifs","title":"Comprendre les Types de Dispositifs","text":"
flowchart TB\n    subgraph \"Dispositif P\u00e9riph\u00e9rique\"\n        E[DZD P\u00e9riph\u00e9rique]\n        EU[Les utilisateurs se connectent ici]\n        EU --> E\n        E <-->|Lien DZX| ED[Autre DZD]\n    end\n\n    subgraph \"Dispositif de Transit\"\n        T[DZD de Transit]\n        T <-->|Lien WAN| T2[Un autre DZD]\n        T <-->|Lien DZX| TD[Autre DZD]\n    end\n\n    subgraph \"Dispositif Hybride\"\n        H[DZD Hybride]\n        HU[Les utilisateurs se connectent ici]\n        HU --> H\n        H <-->|Lien WAN| H2[Un autre DZD]\n        H <-->|Lien DZX| HD[Autre DZD]\n    end
Type Ce Qu'il Fait Quand l'Utiliser P\u00e9riph\u00e9rique Accepte uniquement les connexions utilisateurs Emplacement unique, orient\u00e9 utilisateurs uniquement Transit D\u00e9place le trafic entre dispositifs Connectivit\u00e9 backbone, sans utilisateurs Hybride Connexions utilisateurs ET backbone Le plus courant \u2014 fait tout"},{"location":"fr/contribute-provisioning/#etape-31-trouver-votre-emplacement-et-exchange","title":"\u00c9tape 3.1 : Trouver Votre Emplacement et Exchange","text":"

Avant de cr\u00e9er votre dispositif, recherchez les codes de votre emplacement de centre de donn\u00e9es et de l'exchange le plus proche :

# Lister les emplacements disponibles (centres de donn\u00e9es)\ndoublezero location list\n\n# Lister les exchanges disponibles (points d'interconnexion)\ndoublezero exchange list\n
"},{"location":"fr/contribute-provisioning/#etape-32-creer-votre-dispositif-onchain","title":"\u00c9tape 3.2 : Cr\u00e9er Votre Dispositif Onchain","text":"

Enregistrez votre dispositif sur la blockchain :

doublezero device create \\\n  --code <VOTRE_CODE_DISPOSITIF> \\\n  --contributor <VOTRE_CODE_CONTRIBUTEUR> \\\n  --device-type hybrid \\\n  --location <CODE_EMPLACEMENT> \\\n  --exchange <CODE_EXCHANGE> \\\n  --public-ip <IP_PUBLIQUE_DISPOSITIF> \\\n  --dz-prefixes <VOTRE_PREFIXE_DZ>\n

Exemple :

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Sortie attendue :

Signature: 4vKz8H...truncated...7xPq2\n

V\u00e9rifiez que votre dispositif a \u00e9t\u00e9 cr\u00e9\u00e9 :

doublezero device list | grep nyc-dz001\n

Param\u00e8tres expliqu\u00e9s :

Param\u00e8tre Ce Qu'il Signifie --code Un nom unique pour votre dispositif (par exemple, nyc-dz001) --contributor Votre code de contributeur (donn\u00e9 par DZF) --device-type hybrid, transit, ou edge --location Code du centre de donn\u00e9es de location list --exchange Code de l'exchange le plus proche de exchange list --public-ip L'IP publique o\u00f9 les utilisateurs se connectent \u00e0 votre dispositif via internet --dz-prefixes Votre bloc IP allou\u00e9 pour les utilisateurs"},{"location":"fr/contribute-provisioning/#etape-33-creer-les-interfaces-loopback-requises","title":"\u00c9tape 3.3 : Cr\u00e9er les Interfaces Loopback Requises","text":"

Chaque dispositif a besoin de deux interfaces loopback pour le routage interne :

# Loopback VPNv4\ndoublezero device interface create <CODE_DISPOSITIF> Loopback255 --loopback-type vpnv4\n\n# Loopback IPv4\ndoublezero device interface create <CODE_DISPOSITIF> Loopback256 --loopback-type ipv4\n

Sortie attendue (pour chaque commande) :

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"fr/contribute-provisioning/#etape-34-creer-les-interfaces-physiques","title":"\u00c9tape 3.4 : Cr\u00e9er les Interfaces Physiques","text":"

Enregistrez les ports physiques que vous utiliserez :

# Interface de base\ndoublezero device interface create <CODE_DISPOSITIF> Ethernet1/1\n

Sortie attendue :

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"fr/contribute-provisioning/#etape-35-creer-linterface-cyoa-pour-les-dispositifs-peripheriqueshybrides","title":"\u00c9tape 3.5 : Cr\u00e9er l'Interface CYOA (pour les dispositifs P\u00e9riph\u00e9riques/Hybrides)","text":"

Si votre dispositif accepte des connexions utilisateurs, vous avez besoin d'une interface CYOA (Choose Your Own Adventure). Cela indique au syst\u00e8me comment les utilisateurs se connectent \u00e0 vous.

Types CYOA Expliqu\u00e9s :

Type Explication Simple Quand Utiliser gre-over-dia Les utilisateurs se connectent via internet normal Le plus courant \u2014 les utilisateurs se connectent via le DIA \u00e0 votre DZD gre-over-private-peering Les utilisateurs se connectent via lien priv\u00e9 Les utilisateurs ont une connexion directe \u00e0 votre r\u00e9seau gre-over-public-peering Les utilisateurs se connectent via IX Les utilisateurs peerent avec vous \u00e0 un internet exchange gre-over-fabric Les utilisateurs sur le m\u00eame r\u00e9seau local Les utilisateurs dans le m\u00eame centre de donn\u00e9es gre-over-cable C\u00e2ble direct vers l'utilisateur Utilisateur d\u00e9di\u00e9 unique

Exemple - Utilisateurs internet standard :

doublezero device interface create <CODE_DISPOSITIF> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Sortie attendue :

Signature: 2wLp8N...truncated...5vHt3\n

Param\u00e8tres expliqu\u00e9s :

Param\u00e8tre Ce Qu'il Signifie --interface-cyoa Comment les utilisateurs se connectent (voir tableau ci-dessus) --interface-dia dia si c'est un port orient\u00e9 internet --bandwidth Vitesse du port en Mbps (10000 = 10Gbps) --cir D\u00e9bit engag\u00e9 en Mbps (bande passante garantie) --user-tunnel-endpoint Ce port accepte les tunnels utilisateurs"},{"location":"fr/contribute-provisioning/#etape-36-verifier-votre-dispositif","title":"\u00c9tape 3.6 : V\u00e9rifier Votre Dispositif","text":"
doublezero device list\n

Exemple de sortie :

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Votre dispositif devrait appara\u00eetre avec le statut activated.

"},{"location":"fr/contribute-provisioning/#phase-4-etablissement-des-liens-et-installation-des-agents","title":"Phase 4 : \u00c9tablissement des Liens et Installation des Agents","text":"

Les liens connectent votre dispositif au reste du r\u00e9seau DoubleZero.

"},{"location":"fr/contribute-provisioning/#comprendre-les-liens","title":"Comprendre les Liens","text":"
flowchart LR\n    subgraph \"Votre R\u00e9seau\"\n        D1[Votre DZD 1<br/>NYC]\n        D2[Votre DZD 2<br/>LAX]\n    end\n\n    subgraph \"Autre Contributeur\"\n        O1[Leur DZD<br/>NYC]\n    end\n\n    D1 ---|Lien WAN<br/>M\u00eame contributeur| D2\n    D1 ---|Lien DZX<br/>Contributeurs diff\u00e9rents| O1
Type de Lien Connecte Acceptation Lien WAN Deux de VOS dispositifs Automatique (vous poss\u00e9dez les deux) Lien DZX Votre dispositif \u00e0 un AUTRE contributeur N\u00e9cessite leur acceptation"},{"location":"fr/contribute-provisioning/#etape-41-creer-des-liens-wan-si-vous-avez-plusieurs-dispositifs","title":"\u00c9tape 4.1 : Cr\u00e9er des Liens WAN (si vous avez plusieurs dispositifs)","text":"

Les liens WAN connectent vos propres dispositifs :

doublezero link create wan \\\n  --code <CODE_LIEN> \\\n  --contributor <VOTRE_CONTRIBUTEUR> \\\n  --side-a <CODE_DISPOSITIF_1> \\\n  --side-a-interface <INTERFACE_SUR_DISPOSITIF_1> \\\n  --side-z <CODE_DISPOSITIF_2> \\\n  --side-z-interface <INTERFACE_SUR_DISPOSITIF_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Exemple :

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Sortie attendue :

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"fr/contribute-provisioning/#etape-42-creer-des-liens-dzx","title":"\u00c9tape 4.2 : Cr\u00e9er des Liens DZX","text":"

Les liens DZX connectent votre dispositif directement au DZD d'un autre contributeur :

doublezero link create dzx \\\n  --code <CODE_DISPOSITIF_A:CODE_DISPOSITIF_Z> \\\n  --contributor <VOTRE_CONTRIBUTEUR> \\\n  --side-a <VOTRE_CODE_DISPOSITIF> \\\n  --side-a-interface <VOTRE_INTERFACE> \\\n  --side-z <CODE_AUTRE_DISPOSITIF> \\\n  --bandwidth <BANDE_PASSANTE en Kbps, Mbps, ou Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAI> \\\n  --jitter-ms <GIGUE>\n

Sortie attendue :

Signature: 8mKp3W...truncated...2nRx7\n

Apr\u00e8s avoir cr\u00e9\u00e9 un lien DZX, l'autre contributeur doit l'accepter :

# L'AUTRE contributeur ex\u00e9cute ceci\ndoublezero link accept \\\n  --code <CODE_LIEN> \\\n  --side-z-interface <LEUR_INTERFACE>\n

Sortie attendue (pour le contributeur qui accepte) :

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"fr/contribute-provisioning/#etape-43-verifier-les-liens","title":"\u00c9tape 4.3 : V\u00e9rifier les Liens","text":"
doublezero link list\n

Exemple de sortie :

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

Les liens devraient afficher le statut activated une fois les deux c\u00f4t\u00e9s configur\u00e9s.

"},{"location":"fr/contribute-provisioning/#installation-des-agents","title":"Installation des Agents","text":"

Deux agents logiciels s'ex\u00e9cutent sur votre DZD :

flowchart TB\n    subgraph \"Votre DZD\"\n        CA[Agent de Configuration]\n        TA[Agent de T\u00e9l\u00e9m\u00e9trie]\n        HW[Mat\u00e9riel/Logiciel du Commutateur]\n    end\n\n    CA -->|Interroge la config| CTRL[Service Contr\u00f4leur]\n    CA -->|Applique la config| HW\n\n    HW -->|M\u00e9triques| TA\n    TA -->|Soumet onchain| BC[Registre DoubleZero]
Agent Ce Qu'il Fait Agent de Configuration R\u00e9cup\u00e8re la configuration depuis le contr\u00f4leur, l'applique \u00e0 votre commutateur Agent de T\u00e9l\u00e9m\u00e9trie Mesure la latence/perte vers les autres dispositifs, rapporte les m\u00e9triques onchain"},{"location":"fr/contribute-provisioning/#etape-44-installer-lagent-de-configuration","title":"\u00c9tape 4.4 : Installer l'Agent de Configuration","text":""},{"location":"fr/contribute-provisioning/#activer-lapi-sur-votre-commutateur","title":"Activer l'API sur votre commutateur","text":"

Ajouter \u00e0 la configuration EOS :

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Note VRF

Remplacez default par votre nom de VRF de gestion si diff\u00e9rent (par exemple, management).

"},{"location":"fr/contribute-provisioning/#telecharger-et-installer-lagent","title":"T\u00e9l\u00e9charger et installer l'agent","text":"
# Entrer dans bash sur le commutateur\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Installer comme extension EOS\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-provisioning/#verifier-lextension","title":"V\u00e9rifier l'extension","text":"
switch# show extensions\n

Le Statut devrait \u00eatre \"A, I, B\" :

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"fr/contribute-provisioning/#configurer-et-demarrer-lagent","title":"Configurer et d\u00e9marrer l'agent","text":"

Ajouter \u00e0 la configuration EOS :

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <VOTRE_PUBKEY_DISPOSITIF>\n    no shut\n

Note VRF

Si votre VRF de gestion n'est pas default (c'est-\u00e0-dire que le namespace n'est pas ns-default), pr\u00e9fixez la commande exec avec exec /sbin/ip netns exec ns-<VRF>. Par exemple, si votre VRF est management :

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <VOTRE_PUBKEY_DISPOSITIF>\n    no shut\n

Obtenez la pubkey de votre dispositif depuis doublezero device list (colonne account).

"},{"location":"fr/contribute-provisioning/#verifier-quil-fonctionne","title":"V\u00e9rifier qu'il fonctionne","text":"
switch# show agent doublezero-agent logs\n

Vous devriez voir \"Starting doublezero-agent\" et des connexions r\u00e9ussies au contr\u00f4leur.

"},{"location":"fr/contribute-provisioning/#etape-45-installer-lagent-de-telemetrie","title":"\u00c9tape 4.5 : Installer l'Agent de T\u00e9l\u00e9m\u00e9trie","text":""},{"location":"fr/contribute-provisioning/#copier-la-cle-de-publication-de-metriques-sur-votre-dispositif","title":"Copier la cl\u00e9 de publication de m\u00e9triques sur votre dispositif","text":"
scp ~/.config/doublezero/metrics-publisher.json <IP_COMMUTATEUR>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"fr/contribute-provisioning/#enregistrer-la-publication-de-metriques-onchain","title":"Enregistrer la publication de m\u00e9triques onchain","text":"
doublezero device update \\\n  --pubkey <COMPTE_DISPOSITIF> \\\n  --metrics-publisher <PUBKEY_PUBLICATION_METRIQUES>\n

Obtenez la pubkey depuis votre fichier metrics-publisher.json.

"},{"location":"fr/contribute-provisioning/#telecharger-et-installer-lagent_1","title":"T\u00e9l\u00e9charger et installer l'agent","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Installer comme extension EOS\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"fr/contribute-provisioning/#verifier-lextension_1","title":"V\u00e9rifier l'extension","text":"
switch# show extensions\n

Le Statut devrait \u00eatre \"A, I, B\" :

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"fr/contribute-provisioning/#configurer-et-demarrer-lagent_1","title":"Configurer et d\u00e9marrer l'agent","text":"

Ajouter \u00e0 la configuration EOS :

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <COMPTE_DISPOSITIF> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Note VRF

Si votre VRF de gestion n'est pas default (c'est-\u00e0-dire que le namespace n'est pas ns-default), ajoutez --management-namespace ns-<VRF> \u00e0 la commande exec. Par exemple, si votre VRF est management :

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <COMPTE_DISPOSITIF> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"fr/contribute-provisioning/#verifier-quil-fonctionne_1","title":"V\u00e9rifier qu'il fonctionne","text":"
switch# show agent doublezero-telemetry logs\n

Vous devriez voir \"Starting telemetry collector\" et \"Starting submission loop\".

"},{"location":"fr/contribute-provisioning/#phase-5-rodage-du-lien","title":"Phase 5 : Rodage du Lien","text":"

Tous les nouveaux liens doivent \u00eatre rod\u00e9s avant de transporter du trafic

Les nouveaux liens doivent \u00eatre drain\u00e9s pendant au moins 24 heures avant d'\u00eatre activ\u00e9s pour le trafic de production. Cette exigence de rodage est d\u00e9finie dans RFC12: Network Provisioning, qui sp\u00e9cifie ~200 000 slots du Registre DZ (~20 heures) de m\u00e9triques propres avant qu'un lien soit pr\u00eat pour le service.

Avec les agents install\u00e9s et en cours d'ex\u00e9cution, surveillez vos liens sur metrics.doublezero.xyz pendant au moins 24 heures cons\u00e9cutives :

Ne d\u00e9drainer le lien qu'une fois que la p\u00e9riode de rodage montre un lien propre avec z\u00e9ro perte et z\u00e9ro erreurs.

"},{"location":"fr/contribute-provisioning/#phase-6-verification-et-activation","title":"Phase 6 : V\u00e9rification et Activation","text":"

Parcourez cette liste de contr\u00f4le pour confirmer que tout fonctionne.

Votre dispositif commence verrouill\u00e9 (max_users = 0)

Lorsqu'un dispositif est cr\u00e9\u00e9, max_users est fix\u00e9 \u00e0 0 par d\u00e9faut. Cela signifie qu'aucun utilisateur ne peut encore s'y connecter. C'est intentionnel \u2014 vous devez v\u00e9rifier que tout fonctionne avant d'accepter le trafic utilisateurs.

Avant de d\u00e9finir max_users au-dessus de 0, vous devez :

  1. Confirmer que tous les liens ont compl\u00e9t\u00e9 leur rodage de 24 heures avec z\u00e9ro perte/erreurs sur metrics.doublezero.xyz
  2. Coordonner avec DZ/Malbec Labs pour ex\u00e9cuter un test de connectivit\u00e9 :
    • Un utilisateur de test peut-il se connecter \u00e0 votre dispositif ?
    • L'utilisateur re\u00e7oit-il des routes sur le r\u00e9seau DZ ?
    • L'utilisateur peut-il router le trafic sur le r\u00e9seau DZ de bout en bout ?
  3. Seulement apr\u00e8s que DZ/ML confirme que les tests r\u00e9ussissent, d\u00e9finissez max_users \u00e0 96 :
doublezero device update --pubkey <COMPTE_DISPOSITIF> --max-users 96\n
"},{"location":"fr/contribute-provisioning/#verifications-du-dispositif","title":"V\u00e9rifications du Dispositif","text":"
# Votre dispositif devrait appara\u00eetre avec le statut \"activated\"\ndoublezero device list | grep <VOTRE_CODE_DISPOSITIF>\n

Sortie attendue :

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Vos interfaces devraient \u00eatre list\u00e9es\ndoublezero device interface list | grep <VOTRE_CODE_DISPOSITIF>\n

Sortie attendue :

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"fr/contribute-provisioning/#verifications-des-liens","title":"V\u00e9rifications des Liens","text":"
# Les liens devraient afficher le statut \"activated\"\ndoublezero link list | grep <VOTRE_CODE_DISPOSITIF>\n

Sortie attendue :

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"fr/contribute-provisioning/#verifications-des-agents","title":"V\u00e9rifications des Agents","text":"

Sur le commutateur :

# L'agent de configuration devrait afficher des extractions de configuration r\u00e9ussies\nswitch# show agent doublezero-agent logs | tail -20\n\n# L'agent de t\u00e9l\u00e9m\u00e9trie devrait afficher des soumissions r\u00e9ussies\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"fr/contribute-provisioning/#diagramme-de-verification-finale","title":"Diagramme de V\u00e9rification Finale","text":"
flowchart TB\n    subgraph \"Liste de V\u00e9rification\"\n        D[Statut Dispositif : activ\u00e9 ?]\n        I[Interfaces : enregistr\u00e9es ?]\n        L[Liens : activ\u00e9s ?]\n        CA[Agent de Config : r\u00e9cup\u00e9ration de config ?]\n        TA[Agent de T\u00e9l\u00e9m\u00e9trie : soumission de m\u00e9triques ?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[Toutes les V\u00e9rifications R\u00e9ussies] --> NOTIFY[Notifier DZF/Malbec Labs<br/>Vous \u00eates techniquement pr\u00eat !]
"},{"location":"fr/contribute-provisioning/#depannage","title":"D\u00e9pannage","text":""},{"location":"fr/contribute-provisioning/#la-creation-du-dispositif-echoue","title":"La cr\u00e9ation du dispositif \u00e9choue","text":""},{"location":"fr/contribute-provisioning/#lien-bloque-dans-le-statut-requested","title":"Lien bloqu\u00e9 dans le statut \"requested\"","text":""},{"location":"fr/contribute-provisioning/#lagent-de-configuration-ne-se-connecte-pas","title":"L'Agent de Configuration ne se connecte pas","text":""},{"location":"fr/contribute-provisioning/#lagent-de-telemetrie-ne-soumet-pas","title":"L'Agent de T\u00e9l\u00e9m\u00e9trie ne soumet pas","text":""},{"location":"fr/contribute-provisioning/#prochaines-etapes","title":"Prochaines \u00c9tapes","text":""},{"location":"fr/contribute/","title":"Exigences et Architecture des Contributeurs","text":"

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.

"},{"location":"fr/contribute/#resume","title":"R\u00e9sum\u00e9","text":"

Toute personne souhaitant mon\u00e9tiser ses c\u00e2bles \u00e0 fibre optique et son mat\u00e9riel r\u00e9seau sous-utilis\u00e9s peut contribuer au r\u00e9seau DoubleZero. Les contributeurs r\u00e9seau doivent fournir une bande passante d\u00e9di\u00e9e entre deux points, exploiter des dispositifs compatibles DoubleZero (DZD) \u00e0 chaque extr\u00e9mit\u00e9, et une connexion \u00e0 l'internet public \u00e0 chaque extr\u00e9mit\u00e9. Les contributeurs r\u00e9seau doivent \u00e9galement ex\u00e9cuter des logiciels DoubleZero sur chaque DZD pour fournir des services comme le multicast, la recherche d'utilisateurs, et le filtrage en p\u00e9riph\u00e9rie.

Le contrat intelligent DoubleZero est la pierre angulaire pour garantir que le r\u00e9seau maintient des liaisons de haute qualit\u00e9 qui peuvent \u00eatre mesur\u00e9es et int\u00e9gr\u00e9es dans la topologie, permettant \u00e0 nos contr\u00f4leurs de r\u00e9seau de d\u00e9velopper le chemin le plus efficace de bout en bout entre nos diff\u00e9rents utilisateurs et points d'extr\u00e9mit\u00e9. Lors de l'ex\u00e9cution du contrat intelligent et du d\u00e9ploiement du mat\u00e9riel r\u00e9seau et de la bande passante, une entit\u00e9 est classifi\u00e9e comme contributeur r\u00e9seau. Voir DoubleZero Economics pour mieux comprendre les aspects \u00e9conomiques de la participation \u00e0 DoubleZero en tant que contributeur r\u00e9seau.

"},{"location":"fr/contribute/#exigences-pour-etre-un-contributeur-reseau-doublezero","title":"Exigences pour \u00eatre un Contributeur R\u00e9seau DoubleZero","text":""},{"location":"fr/contribute/#guide-de-demarrage-rapide","title":"Guide de D\u00e9marrage Rapide","text":"

En tant que contributeur r\u00e9seau, la fa\u00e7on la plus simple de commencer avec DoubleZero est d'identifier la capacit\u00e9 dans votre r\u00e9seau qui peut \u00eatre d\u00e9di\u00e9e \u00e0 DoubleZero. Une fois identifi\u00e9s, des DZD doivent \u00eatre d\u00e9ploy\u00e9s, facilitant le r\u00e9seau superpos\u00e9 DoubleZero qui ne n\u00e9cessite que la connectivit\u00e9 IPv4 et un MTU minimum de 2048 octets comme d\u00e9pendances du r\u00e9seau du contributeur.

La figure 1 met en \u00e9vidence le mod\u00e8le le plus simple pour contribuer des services de bande passante et d'envoi et de traitement de paquets. Un DZD est d\u00e9ploy\u00e9 dans chaque centre de donn\u00e9es, s'interfa\u00e7ant avec le r\u00e9seau interne du contributeur r\u00e9seau pour fournir une connectivit\u00e9 WAN DoubleZero. Cela est compl\u00e9t\u00e9 par un internet local, g\u00e9n\u00e9ralement une solution d'Acc\u00e8s Direct \u00e0 Internet (DIA), qui est utilis\u00e9 comme points d'entr\u00e9e pour les utilisateurs DoubleZero. Bien qu'il soit pr\u00e9vu que DIA sera l'option pr\u00e9f\u00e9r\u00e9e pour faciliter l'acc\u00e8s aux utilisateurs de DoubleZero, de nombreux mod\u00e8les de connectivit\u00e9 sont possibles, par exemple le c\u00e2blage physique vers des serveurs, l'extension de fabric r\u00e9seau, etc. Nous appelons ces options Choose Your Own Adventure (CYOA), offrant au contributeur la flexibilit\u00e9 de connecter des utilisateurs locaux ou distants d'une mani\u00e8re qui convient le mieux \u00e0 leurs politiques r\u00e9seau internes.

Comme pour tout r\u00e9seau, la connectivit\u00e9 est une partie fondamentale de l'architecture, car les contributeurs r\u00e9seau ne peuvent pas vivre en isolement. En tant que tel, le DZD doit avoir un lien vers un DoubleZero Exchange (DZX) pour cr\u00e9er un r\u00e9seau contigu entre les participants.

Figure 1 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 2 Centres de Donn\u00e9es - Contributeur Unique"},{"location":"fr/contribute/#exemples-de-contributions","title":"Exemples de Contributions","text":"

Les fa\u00e7ons dont un contributeur r\u00e9seau peut d\u00e9velopper ses contributions DoubleZero sont nombreuses, notamment :

"},{"location":"fr/contribute/#exemple-1-contributeur-unique-3-centres-de-donnees-deux-liens","title":"Exemple 1 : Contributeur Unique, 3 Centres de Donn\u00e9es, Deux Liens","text":"Figure 2 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 3 Centres de Donn\u00e9es - Contributeur Unique

Un seul DZD peut prendre en charge plusieurs liens contribu\u00e9s \u00e0 DoubleZero. La figure 2 illustre une topologie potentielle si un seul centre de donn\u00e9es, d\u00e9sign\u00e9 comme 1, termine la bande passante vers deux centres de donn\u00e9es distants diff\u00e9rents 2 et 3. Dans ce sc\u00e9nario, chaque centre de donn\u00e9es ne contient qu'un seul DZD. Tous les DZD utilisent DIA pour les points d'entr\u00e9e des utilisateurs comme interface CYOA.

"},{"location":"fr/contribute/#exemple-2-contributeur-unique-3-centres-de-donnees-trois-liens","title":"Exemple 2 : Contributeur Unique, 3 Centres de Donn\u00e9es, Trois Liens","text":"

La figure 3 d\u00e9crit la topologie DoubleZero lorsqu'un seul contributeur d\u00e9ploie trois liens dans une topologie en triangle entre 3 centres de donn\u00e9es. Dans un sc\u00e9nario similaire \u00e0 l'exemple 1, un seul DZD est d\u00e9ploy\u00e9 dans les centres de donn\u00e9es 1, 2 et 3, chacun prenant en charge 2 liens r\u00e9seau ind\u00e9pendants. La topologie r\u00e9sultante est un triangle ou anneau entre les centres de donn\u00e9es.

Figure 3 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 3 Centres de Donn\u00e9es - Contributeur Unique"},{"location":"fr/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

La cr\u00e9ation d'un r\u00e9seau contigu est un \u00e9l\u00e9ment fondamental de l'architecture DoubleZero. Les contributeurs s'interfacent via un DoubleZero Exchange (DZX) dans une zone m\u00e9tropolitaine, qui est une ville comme New York (NYC), Londres (LON) ou Tokyo (TYO). Un DZX est une fabric r\u00e9seau similaire \u00e0 un Internet Exchange, permettant le peering et l'\u00e9change de routes.

Dans la figure 4, le contributeur r\u00e9seau 1 op\u00e8re dans les centres de donn\u00e9es 1, 2 et 3, tandis que le contributeur r\u00e9seau 2 op\u00e8re dans les centres de donn\u00e9es 2, 4 et 5. En s'interconnectant dans le centre de donn\u00e9es 2, la port\u00e9e du r\u00e9seau DoubleZero s'\u00e9tend \u00e0 5 centres de donn\u00e9es contigus.

Figure 4 : Contribution de Bande Passante R\u00e9seau DoubleZero Entre 2 Contributeurs de Bande Passante R\u00e9seau"},{"location":"fr/contribute/#options-de-contribution-de-bande-passante","title":"Options de Contribution de Bande Passante","text":"

DoubleZero exige qu'un contributeur r\u00e9seau offre une connectivit\u00e9 int\u00e9gr\u00e9e via une bande passante garantie, un profil de latence et de gigue entre les DZD de deux centres de donn\u00e9es de terminaison, exprim\u00e9 via un contrat intelligent. DoubleZero ne mandate pas la fa\u00e7on dont un contributeur r\u00e9seau met en \u0153uvre sa contribution ; cependant, dans les sections suivantes, nous fournissons des options indicatives \u00e0 leur usage \u00e0 leur seule discr\u00e9tion.

Les domaines importants \u00e0 consid\u00e9rer pour un contributeur r\u00e9seau pourraient \u00eatre :

"},{"location":"fr/contribute/#bande-passante-de-couche-1","title":"Bande Passante de Couche 1","text":"Figure 5 : Services Optiques de Couche 1

La bande passante de couche 1, plus formellement d\u00e9crite comme services de longueur d'onde, peut voir une capacit\u00e9 d\u00e9di\u00e9e provisionn\u00e9e sur une infrastructure optique existante, telle que DWDM, CWDM ou via des multiplexeurs optiques (MUX). Dans la figure 5, les DZD utilisent une optique color\u00e9e c\u00e2bl\u00e9e \u00e0 un MUX L1, qui entrelace la longueur d'onde du DZD sur une fibre noire existante.

Cette solution pr\u00e9sente de nombreux avantages pour les contributeurs r\u00e9seau qui exploitent d\u00e9j\u00e0 un r\u00e9seau c\u0153ur existant. Les changements op\u00e9rationnels it\u00e9ratifs, ainsi que les exigences suppl\u00e9mentaires en CAPEX et OPEX, sont modestes. Cette option est particuli\u00e8rement robuste pour offrir la s\u00e9gr\u00e9gation des services r\u00e9seau du contributeur.

"},{"location":"fr/contribute/#bande-passante-commutee-par-paquets","title":"Bande Passante Commut\u00e9e par Paquets","text":"

Les r\u00e9seaux commut\u00e9s par paquets peuvent \u00eatre consid\u00e9r\u00e9s comme un r\u00e9seau d'entreprise typique, ex\u00e9cutant des protocoles de routage et de commutation standard prenant en charge des applications commerciales. Il existe de nombreuses technologies r\u00e9seau qui permettent la connectivit\u00e9, par exemple, les extensions de couche 2 (L2) utilisant des balises VLAN.

"},{"location":"fr/contribute/#extension-l2","title":"Extension L2","text":"Figure 6 : R\u00e9seaux Commut\u00e9s par Paquets - Extension L2

Une extension L2 comme illustr\u00e9e dans la Figure 6 peut \u00eatre facilit\u00e9e par le balisage VLAN. Le port d'un DZD peut \u00eatre c\u00e2bl\u00e9 au commutateur du r\u00e9seau interne d'un contributeur, avec le port de commutation configur\u00e9 en mode acc\u00e8s dans, par exemple, VLAN 10. Via le balisage 802.1q, ce VLAN peut \u00eatre transport\u00e9 sur plusieurs sauts de commutation sur le r\u00e9seau du contributeur, se terminant au commutateur interfa\u00e7ant avec le DZD distant.

Cette solution b\u00e9n\u00e9ficie d'un large support et d'une mise en \u0153uvre relativement facile tout en cr\u00e9ant une segmentation entre DoubleZero et les services de couche 3 internes. La bande passante peut \u00eatre contr\u00f4l\u00e9e en fonction de la vitesse d'interface du commutateur ou routeur interne du contributeur. Une attention particuli\u00e8re doit \u00eatre accord\u00e9e aux performances sur le r\u00e9seau L2 interne partag\u00e9 via des technologies telles que la Qualit\u00e9 de Service (QoS) ou d'autres politiques de gestion du trafic. Cependant, les investissements suppl\u00e9mentaires en CAPEX et OPEX devraient \u00eatre modestes si la capacit\u00e9 existante est disponible dans le r\u00e9seau c\u0153ur du contributeur.

"},{"location":"fr/contribute/#bande-passante-tierce-dediee","title":"Bande Passante Tierce D\u00e9di\u00e9e","text":"Figure 7 : Bande Passante Tierce D\u00e9di\u00e9e

Bien que la r\u00e9utilisation de la capacit\u00e9 disponible soit attrayante pour de nombreux contributeurs r\u00e9seau, on peut \u00e9galement d\u00e9dier une bande passante nouvellement acquise \u00e0 DoubleZero. Dans un tel sc\u00e9nario, le DZD se connecterait directement au transporteur tiers sans aucun dispositif interne du contributeur en ligne (figure 7).

Cette option est attrayante car elle garantit une bande passante d\u00e9di\u00e9e pour DoubleZero, est simple op\u00e9rationnellement et assure une s\u00e9gr\u00e9gation compl\u00e8te de tout autre service r\u00e9seau. Cette option aura probablement la plus forte augmentation d'OPEX et n\u00e9cessite de nouveaux contrats de service avec des transporteurs tiers.

"},{"location":"fr/contribute/#exigences-materielles","title":"Exigences Mat\u00e9rielles","text":""},{"location":"fr/contribute/#contribution-de-bande-passante-100gbps","title":"Contribution de Bande Passante 100Gbps","text":"

Notez que les quantit\u00e9s ci-dessous refl\u00e8tent le mat\u00e9riel n\u00e9cessaire dans deux centres de donn\u00e9es, c'est-\u00e0-dire le mat\u00e9riel total n\u00e9cessaire pour d\u00e9ployer 1 c\u00e2ble \u00e0 fibre optique pour la contribution de bande passante.

*Tous les FPGA sont soumis \u00e0 des tests finaux. Les contributions 10G peuvent \u00eatre prises en charge \u00e0 l'aide de commutateurs Arista 7130LBR avec FPGA Virtex\u00ae UltraScale+\u2122 double int\u00e9gr\u00e9 (si vous avez des questions, la DoubleZero Foundation / Malbec Labs sont heureux de fournir plus d'informations)."},{"location":"fr/contribute/#exigences-de-fonction-et-de-port","title":"Exigences de Fonction et de Port","text":"Fonction Vitesse de Port Exigence DZ QTY Note Bande Passante Priv\u00e9e 100G Oui 1 Acc\u00e8s Direct \u00e0 Internet (DIA) 10G Oui 2 DoubleZero eXchange (DZX) 100G Oui* 1 Doit \u00eatre pris en charge une fois que plus de 3 fournisseurs op\u00e8rent dans la m\u00eame zone m\u00e9tropolitaine, avant cela, des interconnexions crois\u00e9es ou d'autres arrangements de peering peuvent \u00eatre utilis\u00e9s pour s'interconnecter avec d'autres fournisseurs. Gestion Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur. Console Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur."},{"location":"fr/contribute/#materiel-reseau-dzd","title":"Mat\u00e9riel R\u00e9seau DZD","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note AMD* V80* 24540474 Oui 4 Arista 7280CR3A DCS-7280CR3A-32S Oui 2 Des alternatives peuvent \u00eatre possibles si les d\u00e9lais de livraison sont difficiles."},{"location":"fr/contribute/#optiques-100g","title":"Optiques - 100G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR Non 16 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. 100G requis pour connecter les FPGA."},{"location":"fr/contribute/#optiques-10g","title":"Optiques - 10G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 10GBASE-LR SFP-10G-LR Non 2 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA Non 2 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur."},{"location":"fr/contribute/#adressage-ip","title":"Adressage IP","text":"Adressage IP Taille de Sous-r\u00e9seau Minimale Exigence DZ Note IPv4 Public /29 Oui (pour DZD de p\u00e9riph\u00e9rie/hybrides) Doit \u00eatre routable via DIA. Nous pourrions \u00e9liminer ce besoin au fil du temps.

Veuillez vous assurer que le pool /29 complet est disponible pour le protocole DZ. Les exigences pour l'adressage point \u00e0 point, par exemple sur les interfaces DIA, doivent \u00eatre g\u00e9r\u00e9es via un pool d'adresses diff\u00e9rent.

"},{"location":"fr/contribute/#contribution-de-bande-passante-10gbps","title":"Contribution de Bande Passante 10Gbps","text":"

Notez que les quantit\u00e9s refl\u00e8tent le mat\u00e9riel de deux centres de donn\u00e9es, c'est-\u00e0-dire le mat\u00e9riel total n\u00e9cessaire pour d\u00e9ployer 1 contribution de bande passante.

"},{"location":"fr/contribute/#exigences-de-fonction-et-de-port_1","title":"Exigences de Fonction et de Port","text":"Fonction Vitesse de Port Exigence DZ QTY Note Bande Passante Priv\u00e9e 10G Oui 1 Acc\u00e8s Direct \u00e0 Internet (DIA) 10G Oui 2 DoubleZero eXchange (DZX) 100G Oui* 1 Doit \u00eatre pris en charge une fois que plus de 3 fournisseurs op\u00e8rent dans la m\u00eame zone m\u00e9tropolitaine ; avant cela, des interconnexions crois\u00e9es ou d'autres arrangements de peering peuvent \u00eatre utilis\u00e9s pour s'interconnecter avec d'autres fournisseurs. Gestion Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur. Console Non 1 D\u00e9termin\u00e9 par les politiques de gestion internes du contributeur."},{"location":"fr/contribute/#materiel","title":"Mat\u00e9riel","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note AMD* V80* 24540474* Oui 4 Arista 7280CR3A DCS-7280CR3A-32S Oui 2 Des alternatives peuvent \u00eatre possibles si les d\u00e9lais de livraison sont difficiles."},{"location":"fr/contribute/#optiques-100g_1","title":"Optiques - 100G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR Non 14 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. 100G requis pour connecter les FPGA."},{"location":"fr/contribute/#optiques-10g_1","title":"Optiques - 10G","text":"Fabricant Mod\u00e8le Num\u00e9ro de Pi\u00e8ce Exigence DZ QTY Note Arista 10GBASE-LR SFP-10G-LR Non 4 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA Non 4 Le choix du c\u00e2blage et de l'optique est \u00e0 la discr\u00e9tion du contributeur. ---"},{"location":"fr/contribute/#adressage-ip_1","title":"Adressage IP","text":"Adressage IP Taille de Sous-r\u00e9seau Minimale Exigence DZ Note IPv4 Public /29 Oui (pour DZD de p\u00e9riph\u00e9rie/hybrides) Doit \u00eatre routable via DIA. Nous pourrions \u00e9liminer ce besoin au fil du temps.

Veuillez vous assurer que le pool /29 complet est disponible pour le protocole DZ. Les exigences pour l'adressage point \u00e0 point, par exemple sur les interfaces DIA, doivent \u00eatre g\u00e9r\u00e9es via un pool d'adresses diff\u00e9rent.

"},{"location":"fr/contribute/#exigences-du-centre-de-donnees","title":"Exigences du Centre de Donn\u00e9es","text":""},{"location":"fr/contribute/#exigences-de-baie-et-dalimentation","title":"Exigences de Baie et d'Alimentation","text":"Exigence Sp\u00e9cification Espace Baie 4U Alimentation 4KW (recommand\u00e9)"},{"location":"fr/contribute/#prochaines-etapes","title":"Prochaines \u00c9tapes","text":"

Pr\u00eat \u00e0 provisionner votre premier DZD ? Continuez avec le Guide de Provisionnement des Dispositifs.

"},{"location":"fr/glossary/","title":"Glossaire","text":"

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.

Cette page d\u00e9finit la terminologie sp\u00e9cifique \u00e0 DoubleZero utilis\u00e9e dans toute la documentation.

"},{"location":"fr/glossary/#infrastructure-reseau","title":"Infrastructure R\u00e9seau","text":""},{"location":"fr/glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

Le mat\u00e9riel de commutation r\u00e9seau physique qui termine les liens DoubleZero et ex\u00e9cute le logiciel DoubleZero Agent. Les DZD sont d\u00e9ploy\u00e9s dans des centres de donn\u00e9es et fournissent des services de routage, de traitement des paquets et de connectivit\u00e9 utilisateur. Chaque DZD n\u00e9cessite des sp\u00e9cifications mat\u00e9rielles sp\u00e9cifiques et ex\u00e9cute \u00e0 la fois le Config Agent et le Telemetry Agent.

"},{"location":"fr/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Points d'interconnexion dans le r\u00e9seau maill\u00e9 o\u00f9 diff\u00e9rents liens de contributeurs sont reli\u00e9s ensemble. Les DZX sont situ\u00e9s dans les grandes zones m\u00e9tropolitaines (p. ex., NYC, LON, TYO) o\u00f9 se produisent les intersections de r\u00e9seau. Les contributeurs r\u00e9seau doivent cross-connecter leurs liens dans le maillage DoubleZero plus large au niveau du DZX le plus proche. Concept similaire \u00e0 un Internet Exchange (IX).

"},{"location":"fr/glossary/#lien-wan","title":"Lien WAN","text":"

Un lien Wide Area Network entre deux DZD exploit\u00e9s par le m\u00eame contributeur. Les liens WAN fournissent une connectivit\u00e9 backbone au sein de l'infrastructure d'un seul contributeur.

"},{"location":"fr/glossary/#lien-dzx","title":"Lien DZX","text":"

Un lien entre des DZD exploit\u00e9s par des contributeurs diff\u00e9rents, \u00e9tabli au niveau d'un DZX. Les liens DZX n\u00e9cessitent une acceptation explicite des deux parties.

"},{"location":"fr/glossary/#prefixe-dz","title":"Pr\u00e9fixe DZ","text":"

Allocations d'adresses IP au format CIDR attribu\u00e9es \u00e0 un DZD pour l'adressage du r\u00e9seau overlay. Sp\u00e9cifi\u00e9 lors de la cr\u00e9ation du dispositif en utilisant le param\u00e8tre --dz-prefixes.

"},{"location":"fr/glossary/#types-de-dispositifs","title":"Types de Dispositifs","text":""},{"location":"fr/glossary/#dispositif-edge","title":"Dispositif Edge","text":"

Un DZD qui fournit une connectivit\u00e9 utilisateur au r\u00e9seau DoubleZero. Les dispositifs edge exploitent les interfaces CYOA pour terminer les utilisateurs (validateurs, op\u00e9rateurs RPC) et les connecter au r\u00e9seau.

"},{"location":"fr/glossary/#dispositif-transit","title":"Dispositif Transit","text":"

Un DZD qui fournit une connectivit\u00e9 backbone au sein du r\u00e9seau DoubleZero. Les dispositifs transit d\u00e9placent le trafic entre les DZD mais ne terminent pas directement les connexions utilisateur.

"},{"location":"fr/glossary/#dispositif-hybride","title":"Dispositif Hybride","text":"

Un DZD qui combine \u00e0 la fois les fonctionnalit\u00e9s edge et transit, fournissant \u00e0 la fois la connectivit\u00e9 utilisateur et le routage backbone.

"},{"location":"fr/glossary/#connectivite","title":"Connectivit\u00e9","text":""},{"location":"fr/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Types d'interfaces qui permettent aux contributeurs d'enregistrer des options de connectivit\u00e9 pour que les utilisateurs se connectent au r\u00e9seau DoubleZero. Les interfaces CYOA incluent diverses m\u00e9thodes comme DIA, les tunnels GRE et le peering priv\u00e9. Consultez Cr\u00e9ation d'Interfaces CYOA pour les d\u00e9tails de configuration.

"},{"location":"fr/glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

Un terme r\u00e9seau standard pour la connectivit\u00e9 fournie via l'internet public. Dans DoubleZero, DIA est un type d'interface CYOA o\u00f9 les utilisateurs (validateurs, op\u00e9rateurs RPC) se connectent \u00e0 un DZD via leur connexion internet existante.

"},{"location":"fr/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

Un mode de connexion qui permet aux validateurs et aux n\u0153uds RPC de se connecter \u00e0 DoubleZero sans red\u00e9marrer leurs clients blockchain. IBRL utilise l'adresse IP publique existante et \u00e9tablit un tunnel overlay vers le DZD le plus proche. Consultez Connexion Mainnet-Beta pour les instructions de configuration.

"},{"location":"fr/glossary/#multicast","title":"Multicast","text":"

Une m\u00e9thode de livraison de paquets un-vers-plusieurs prise en charge par DoubleZero. Le mode multicast a deux r\u00f4les : \u00e9diteur (envoie des paquets sur le r\u00e9seau) et abonn\u00e9 (re\u00e7oit des paquets de l'\u00e9diteur). Utilis\u00e9 par les \u00e9quipes de d\u00e9veloppement pour une distribution efficace des donn\u00e9es. Consultez Autre Connexion Multicast pour les d\u00e9tails de connexion.

"},{"location":"fr/glossary/#composants-logiciels","title":"Composants Logiciels","text":""},{"location":"fr/glossary/#doublezerod","title":"doublezerod","text":"

Le service daemon DoubleZero qui s'ex\u00e9cute sur les serveurs utilisateurs (validateurs, n\u0153uds RPC). Il g\u00e8re la connexion au r\u00e9seau DoubleZero, g\u00e8re l'\u00e9tablissement des tunnels et maintient la connectivit\u00e9 aux DZD. Configur\u00e9 via systemd et contr\u00f4l\u00e9 via l'interface de ligne de commande doublezero.

"},{"location":"fr/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

L'interface de ligne de commande pour interagir avec le r\u00e9seau DoubleZero. Utilis\u00e9e pour se connecter, g\u00e9rer les identit\u00e9s, v\u00e9rifier le statut et effectuer des op\u00e9rations administratives. Communique avec le daemon doublezerod.

"},{"location":"fr/glossary/#config-agent","title":"Config Agent","text":"

Agent logiciel s'ex\u00e9cutant sur les DZD qui g\u00e8re la configuration des dispositifs. Lit la configuration depuis le service Contr\u00f4leur et applique les changements au dispositif. Consultez Installation du Config Agent pour la configuration.

"},{"location":"fr/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Agent logiciel s'ex\u00e9cutant sur les DZD qui collecte les m\u00e9triques de performance (latence, gigue, perte de paquets) et les soumet au registre DoubleZero. Consultez Installation du Telemetry Agent pour la configuration.

"},{"location":"fr/glossary/#controleur","title":"Contr\u00f4leur","text":"

Un service qui fournit la configuration aux agents DZD. Le Contr\u00f4leur d\u00e9rive les configurations des dispositifs \u00e0 partir de l'\u00e9tat on-chain sur le registre DoubleZero.

"},{"location":"fr/glossary/#etats-des-liens","title":"\u00c9tats des Liens","text":""},{"location":"fr/glossary/#active","title":"Activ\u00e9","text":"

L'\u00e9tat op\u00e9rationnel normal pour un lien. Le trafic circule \u00e0 travers le lien et il participe aux d\u00e9cisions de routage.

"},{"location":"fr/glossary/#soft-drained","title":"Soft-Drained","text":"

Un \u00e9tat de maintenance o\u00f9 le trafic sera d\u00e9courag\u00e9 sur un lien sp\u00e9cifique. Utilis\u00e9 pour les fen\u00eatres de maintenance progressives. Peut passer \u00e0 activ\u00e9 ou hard-drained.

"},{"location":"fr/glossary/#hard-drained","title":"Hard-Drained","text":"

Un \u00e9tat de maintenance o\u00f9 le lien est compl\u00e8tement retir\u00e9 du service. Aucun trafic ne circule \u00e0 travers le lien. Doit passer \u00e0 soft-drained avant de revenir \u00e0 activ\u00e9.

"},{"location":"fr/glossary/#organisations-tokens","title":"Organisations & Tokens","text":""},{"location":"fr/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

La DoubleZero Foundation est une soci\u00e9t\u00e9 fondation des \u00celes Ca\u00efmans \u00e0 but non lucratif sans membres, cr\u00e9\u00e9e pour soutenir le d\u00e9veloppement, la d\u00e9centralisation, la s\u00e9curit\u00e9 et l'adoption du r\u00e9seau DoubleZero.

"},{"location":"fr/glossary/#token-2z","title":"Token 2Z","text":"

Le token natif du r\u00e9seau DoubleZero. Utilis\u00e9 pour payer les frais des validateurs et distribu\u00e9 comme r\u00e9compenses aux contributeurs. Les validateurs peuvent payer les frais en 2Z via un programme d'\u00e9change on-chain. Consultez Payer les Frais avec 2Z et \u00c9changer SOL contre 2Z.

"},{"location":"fr/glossary/#contributeur","title":"Contributeur","text":"

Un fournisseur d'infrastructure r\u00e9seau qui contribue de la bande passante et du mat\u00e9riel au r\u00e9seau DoubleZero. Les contributeurs exploitent des DZD, fournissent des liens WAN et DZX, et re\u00e7oivent des incitations en tokens 2Z pour leur contribution. Consultez Documentation Contributeur pour commencer.

"},{"location":"fr/glossary/#concepts-reseau","title":"Concepts R\u00e9seau","text":""},{"location":"fr/glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

La taille de paquet maximale (en octets) pouvant \u00eatre transmise sur un lien r\u00e9seau. Les liens WAN DoubleZero utilisent g\u00e9n\u00e9ralement MTU 9000 (trames jumbo) pour l'efficacit\u00e9.

"},{"location":"fr/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

Une technologie qui permet \u00e0 plusieurs tables de routage isol\u00e9es d'exister sur le m\u00eame routeur physique. Les contributeurs utilisent souvent un VRF de gestion s\u00e9par\u00e9 pour isoler le trafic de gestion du commutateur du trafic de production.

"},{"location":"fr/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

Un protocole de tunneling qui encapsule des paquets r\u00e9seau dans des paquets IP. Utilis\u00e9 par les connexions IBRL et CYOA pour cr\u00e9er des tunnels overlay entre les utilisateurs et les DZD.

"},{"location":"fr/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

Le protocole de routage utilis\u00e9 pour \u00e9changer des informations de routage entre les r\u00e9seaux sur internet. DoubleZero utilise BGP en interne avec l'ASN 65342.

"},{"location":"fr/glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

Un identifiant unique attribu\u00e9 \u00e0 un r\u00e9seau pour le routage BGP. Tous les dispositifs DoubleZero utilisent ASN 65342 pour le processus BGP interne.

"},{"location":"fr/glossary/#interface-loopback","title":"Interface Loopback","text":"

Une interface r\u00e9seau virtuelle sur un routeur/commutateur utilis\u00e9e \u00e0 des fins de gestion et de routage. Les DZD utilisent Loopback255 (VPNv4) et Loopback256 (IPv4) pour le routage interne.

"},{"location":"fr/glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

Une notation pour sp\u00e9cifier des plages d'adresses IP. Le format est IP/longueur-pr\u00e9fixe o\u00f9 la longueur du pr\u00e9fixe indique la taille du r\u00e9seau (p. ex., /29 = 8 adresses, /24 = 256 adresses).

"},{"location":"fr/glossary/#gigue-jitter","title":"Gigue (Jitter)","text":"

Variation de la latence des paquets dans le temps. Une faible gigue est essentielle pour les applications en temps r\u00e9el.

"},{"location":"fr/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

Le temps pour qu'un paquet voyage de la source \u00e0 la destination et retour. Utilis\u00e9 pour mesurer la latence r\u00e9seau entre les dispositifs.

"},{"location":"fr/glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

Un protocole pour mesurer les m\u00e9triques de performance r\u00e9seau telles que la latence et la perte de paquets. Le Telemetry Agent utilise TWAMP pour collecter des m\u00e9triques entre les DZD.

"},{"location":"fr/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

Un protocole de routage \u00e0 \u00e9tat de lien utilis\u00e9 en interne par le r\u00e9seau DoubleZero. Les m\u00e9triques IS-IS sont ajust\u00e9es lors des op\u00e9rations de vidage de lien.

"},{"location":"fr/glossary/#blockchain-cles","title":"Blockchain & Cl\u00e9s","text":""},{"location":"fr/glossary/#on-chain","title":"On-chain","text":"

Dans le contexte DoubleZero, on-chain fait r\u00e9f\u00e9rence aux donn\u00e9es et op\u00e9rations enregistr\u00e9es sur le registre DoubleZero. Contrairement aux r\u00e9seaux traditionnels o\u00f9 les configurations des dispositifs et des liens r\u00e9sident dans des syst\u00e8mes de gestion centralis\u00e9s, DoubleZero enregistre les enregistrements de dispositifs, les configurations de liens et les soumissions de t\u00e9l\u00e9m\u00e9trie on-chain \u2014 rendant l'\u00e9tat du r\u00e9seau transparent et v\u00e9rifiable par tous les participants.

"},{"location":"fr/glossary/#cle-de-service","title":"Cl\u00e9 de Service","text":"

Une paire de cl\u00e9s cryptographiques utilis\u00e9e pour authentifier les op\u00e9rations CLI. Il s'agit de votre identit\u00e9 de contributeur pour interagir avec le contrat intelligent DoubleZero. Stock\u00e9e dans ~/.config/solana/id.json.

"},{"location":"fr/glossary/#cle-dediteur-de-metriques","title":"Cl\u00e9 d'\u00c9diteur de M\u00e9triques","text":"

Une paire de cl\u00e9s cryptographiques utilis\u00e9e par le Telemetry Agent pour signer les soumissions de m\u00e9triques \u00e0 la blockchain. S\u00e9par\u00e9e de la cl\u00e9 de service pour l'isolation de s\u00e9curit\u00e9. Stock\u00e9e dans ~/.config/doublezero/metrics-publisher.json.

"},{"location":"fr/glossary/#materiel-logiciel","title":"Mat\u00e9riel & Logiciel","text":""},{"location":"fr/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

Le syst\u00e8me d'exploitation r\u00e9seau d'Arista qui s'ex\u00e9cute sur les commutateurs DZD. Les contributeurs installent le Config Agent et le Telemetry Agent comme extensions EOS.

"},{"location":"fr/glossary/#extension-eos","title":"Extension EOS","text":"

Un paquet logiciel pouvant \u00eatre install\u00e9 sur les commutateurs Arista EOS. Les agents DZ sont distribu\u00e9s sous forme de fichiers .rpm et install\u00e9s via la commande extension.

"},{"location":"fr/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"fr/multicast-admin/#gestion-des-groupes-multicast-dans-doublezero","title":"Gestion des Groupes Multicast dans DoubleZero","text":"

Un groupe multicast est une collection logique de dispositifs ou de n\u0153uds r\u00e9seau qui partagent un identifiant commun (g\u00e9n\u00e9ralement une adresse IP multicast) pour transmettre efficacement des donn\u00e9es \u00e0 plusieurs destinataires. Contrairement \u00e0 la communication unicast (un-vers-un) ou broadcast (un-vers-tous), le multicast permet \u00e0 un \u00e9metteur de transmettre un seul flux de donn\u00e9es qui est r\u00e9pliqu\u00e9 par le r\u00e9seau uniquement pour les r\u00e9cepteurs qui ont rejoint le groupe.

Cette approche optimise l'utilisation de la bande passante et r\u00e9duit la charge sur l'\u00e9metteur et sur l'infrastructure r\u00e9seau, car les paquets ne sont transmis qu'une seule fois par lien et ne sont dupliqu\u00e9s que lorsque cela est n\u00e9cessaire pour atteindre plusieurs abonn\u00e9s. Les groupes multicast sont couramment utilis\u00e9s dans des sc\u00e9narios tels que la diffusion vid\u00e9o en direct, les conf\u00e9rences, la distribution de donn\u00e9es financi\u00e8res et les syst\u00e8mes de messagerie en temps r\u00e9el.

Dans DoubleZero, les groupes multicast fournissent un m\u00e9canisme s\u00e9curis\u00e9 et contr\u00f4l\u00e9 pour g\u00e9rer qui peut envoyer (\u00e9diteurs) et recevoir (abonn\u00e9s) des donn\u00e9es au sein de chaque groupe, assurant une distribution d'informations efficace et gouvern\u00e9e.

flowchart LR\n    subgraph \u00c9diteurs\n        P1[\u00c9diteur 1]\n        P2[\u00c9diteur 2]\n        P3[\u00c9diteur 3]\n    end\n    subgraph Abonn\u00e9s\n        S1[Abonn\u00e9 1]\n        S2[Abonn\u00e9 2]\n        S3[Abonn\u00e9 3]\n        S4[Abonn\u00e9 4]\n    end\n    P1 --> B[Groupe Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

Le diagramme ci-dessus montre comment plusieurs utilisateurs peuvent publier des messages vers un groupe multicast, et plusieurs utilisateurs peuvent s'abonner pour recevoir ces messages. Le r\u00e9seau DoubleZero r\u00e9plique efficacement les paquets, s'assurant que tous les abonn\u00e9s re\u00e7oivent les messages sans surcharge de transmission inutile.

"},{"location":"fr/multicast-admin/#1-creation-et-liste-des-groupes-multicast","title":"1. Cr\u00e9ation et Liste des Groupes Multicast","text":"

Les groupes multicast sont la base d'une distribution de donn\u00e9es s\u00e9curis\u00e9e et efficace dans DoubleZero. Chaque groupe est identifi\u00e9 de mani\u00e8re unique et configur\u00e9 avec une bande passante et un propri\u00e9taire sp\u00e9cifiques. Seuls les administrateurs de la DoubleZero Foundation peuvent cr\u00e9er de nouveaux groupes multicast, assurant une bonne gouvernance et une allocation appropri\u00e9e des ressources.

Une fois cr\u00e9\u00e9s, les groupes multicast peuvent \u00eatre list\u00e9s pour fournir un aper\u00e7u de tous les groupes disponibles, de leur configuration et de leur statut actuel. Ceci est essentiel pour que les op\u00e9rateurs r\u00e9seau et les propri\u00e9taires de groupes puissent surveiller les ressources et g\u00e9rer les acc\u00e8s.

Cr\u00e9ation d'un groupe multicast :

Seule la DoubleZero Foundation peut cr\u00e9er de nouveaux groupes multicast. La commande de cr\u00e9ation n\u00e9cessite un code unique, la bande passante maximale et la cl\u00e9 publique du propri\u00e9taire (ou 'me' pour le payeur actuel).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Liste de tous les groupes multicast :

Pour lister tous les groupes multicast et afficher les informations r\u00e9capitulatives (y compris le code du groupe, l'IP multicast, la bande passante, le nombre d'\u00e9diteurs et d'abonn\u00e9s, le statut et le propri\u00e9taire) :

doublezero multicast group list\n

Exemple de sortie :

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Cette commande affiche un tableau avec tous les groupes multicast et leurs principales propri\u00e9t\u00e9s : - account : Adresse du compte du groupe - code : Code du groupe multicast - multicast_ip : Adresse IP multicast attribu\u00e9e au groupe - max_bandwidth : Bande passante maximale autoris\u00e9e pour le groupe - publishers : Nombre d'\u00e9diteurs dans le groupe - subscribers : Nombre d'abonn\u00e9s dans le groupe - status : Statut actuel (p. ex., activ\u00e9) - owner : Cl\u00e9 publique du propri\u00e9taire

Une fois qu'un groupe est cr\u00e9\u00e9, le propri\u00e9taire peut g\u00e9rer quels utilisateurs sont autoris\u00e9s \u00e0 se connecter en tant qu'\u00e9diteurs ou abonn\u00e9s.

"},{"location":"fr/multicast-admin/#2-gestion-des-listes-dautorisation-editeurabonne","title":"2. Gestion des Listes d'Autorisation \u00c9diteur/Abonn\u00e9","text":"

Les listes d'autorisation des \u00e9diteurs et des abonn\u00e9s sont essentielles pour contr\u00f4ler l'acc\u00e8s aux groupes multicast dans DoubleZero. Ces listes d\u00e9finissent explicitement quels utilisateurs sont autoris\u00e9s \u00e0 publier (envoyer des donn\u00e9es) ou \u00e0 s'abonner (recevoir des donn\u00e9es) au sein d'un groupe multicast sp\u00e9cifique.

La gestion de ces listes est la responsabilit\u00e9 du propri\u00e9taire du groupe, qui peut ajouter, supprimer ou consulter les \u00e9diteurs et abonn\u00e9s autoris\u00e9s \u00e0 l'aide de la CLI DoubleZero. Une gestion appropri\u00e9e des listes d'autorisation est essentielle pour maintenir la s\u00e9curit\u00e9, l'int\u00e9grit\u00e9 et la tra\u00e7abilit\u00e9 des communications multicast.

Note : Pour s'abonner ou publier dans un groupe multicast, un utilisateur doit d'abord \u00eatre autoris\u00e9 \u00e0 se connecter \u00e0 DoubleZero en suivant les proc\u00e9dures de connexion standard. Les commandes de liste d'autorisation d\u00e9crites ici associent uniquement un utilisateur DoubleZero d\u00e9j\u00e0 autoris\u00e9 \u00e0 un groupe multicast. L'ajout d'une nouvelle IP \u00e0 la liste d'autorisation d'un groupe multicast n'accorde pas par lui-m\u00eame l'acc\u00e8s \u00e0 DoubleZero ; l'utilisateur doit avoir d\u00e9j\u00e0 compl\u00e9t\u00e9 le processus d'autorisation g\u00e9n\u00e9ral avant d'interagir avec les groupes multicast.

"},{"location":"fr/multicast-admin/#ajouter-un-editeur-a-la-liste-dautorisation","title":"Ajouter un \u00e9diteur \u00e0 la liste d'autorisation","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#supprimer-un-editeur-de-la-liste-dautorisation","title":"Supprimer un \u00e9diteur de la liste d'autorisation","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#lister-la-liste-dautorisation-des-editeurs-pour-un-groupe","title":"Lister la liste d'autorisation des \u00e9diteurs pour un groupe","text":"

Pour lister tous les \u00e9diteurs dans la liste d'autorisation d'un groupe multicast sp\u00e9cifique, utilisez :

doublezero multicast group allowlist publisher list --code <CODE>\n

Exemple :

doublezero multicast group allowlist publisher list --code mg01\n

Exemple de sortie :

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Cette commande affiche tous les \u00e9diteurs actuellement autoris\u00e9s \u00e0 se connecter au groupe sp\u00e9cifi\u00e9, y compris leur compte, le code du groupe, l'IP du client et le payeur utilisateur.

"},{"location":"fr/multicast-admin/#ajouter-un-abonne-a-la-liste-dautorisation","title":"Ajouter un abonn\u00e9 \u00e0 la liste d'autorisation","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#supprimer-un-abonne-de-la-liste-dautorisation","title":"Supprimer un abonn\u00e9 de la liste d'autorisation","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"fr/multicast-admin/#lister-la-liste-dautorisation-des-abonnes-pour-un-groupe","title":"Lister la liste d'autorisation des abonn\u00e9s pour un groupe","text":"

Pour lister tous les abonn\u00e9s dans la liste d'autorisation d'un groupe multicast sp\u00e9cifique, utilisez :

doublezero multicast group allowlist subscriber list --code <CODE>\n

Exemple :

doublezero multicast group allowlist subscriber list --code mg01\n

Exemple de sortie :

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Cette commande affiche tous les abonn\u00e9s actuellement autoris\u00e9s \u00e0 se connecter au groupe sp\u00e9cifi\u00e9, y compris leur compte, le code du groupe, l'IP du client et le payeur utilisateur.

Pour plus d'informations sur la connexion et l'utilisation du multicast, consultez Autre Connexion Multicast.

"},{"location":"fr/paying-fees/","title":"Tarification et Frais des Validateurs","text":"

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.

Tarification simple et align\u00e9e pour les validateurs Solana

Les frais commenceront \u00e0 l'\u00e9poque 859, qui d\u00e9bute le samedi 4 octobre \u00e0 4h du matin ET. Des frais fixes de 5 % sont pr\u00e9lev\u00e9s sur les r\u00e9compenses de signature de blocs et les frais de priorit\u00e9.

Les frais financent directement l'infrastructure qui rend DoubleZero possible. Y compris les lignes de fibre physiques et l'\u00e9quipement dans les centres de donn\u00e9es.

Une exploration approfondie de la raison d'\u00eatre des frais et du mod\u00e8le de tarification des validateurs se trouve ici.

Ce guide se concentre sur la fa\u00e7on dont les frais sont pay\u00e9s d'un point de vue technique.

"},{"location":"fr/paying-fees/#modele-de-reglement","title":"Mod\u00e8le de R\u00e8glement","text":""},{"location":"fr/paying-fees/#estimation-des-frais","title":"Estimation des Frais","text":"

Les estimations historiques et les donn\u00e9es par cl\u00e9 publique sont disponibles dans le D\u00e9p\u00f4t d'Estimation des Frais. Le d\u00e9p\u00f4t ne remplace pas les donn\u00e9es on-chain. Vous \u00eates responsable du solde on-chain, pas du solde dans ce d\u00e9p\u00f4t.

Questions ? Contactez Nihar Shah \u00e0 nihar@doublezero.us

"},{"location":"fr/paying-fees/#details-pour-les-developpeurs","title":"D\u00e9tails pour les D\u00e9veloppeurs","text":""},{"location":"fr/paying-fees/#interface-de-ligne-de-commande","title":"Interface de Ligne de Commande","text":"

La CLI DoubleZero fournit des commandes pour g\u00e9rer les d\u00e9p\u00f4ts des validateurs et surveiller les soldes. Vous aurez besoin de SOL dans le compte depuis lequel vous ex\u00e9cutez ces commandes pour payer les frais de gaz.

"},{"location":"fr/paying-fees/#etape-1-comprendre-la-dette-due","title":"\u00c9tape 1 : Comprendre la Dette Due","text":"

Pour consulter la dette \u00e0 une adresse sp\u00e9cifique, vous pouvez utiliser ce format :

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Nous examinerons un exemple de sortie ci-dessous :

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
Dans l'exemple de sortie, deux r\u00e9sultats diff\u00e9rents sont possibles sous note. Not funded signifie que le compte n'a pas \u00e9t\u00e9 financ\u00e9. Dans l'exemple, 0.632515639 SOL needed est le montant SOL restant n\u00e9cessaire pour payer toutes les dettes actuellement dues associ\u00e9es \u00e0 l'ID Validateur cible.

"},{"location":"fr/paying-fees/#etape-2-payer-la-dette-due","title":"\u00c9tape 2 : Payer la Dette Due","text":"

Note

Vous pouvez planifier l'ex\u00e9cution de cette commande \u00e0 intervalles r\u00e9guliers.

Pour rembourser la dette due, vous pouvez utiliser la commande suivante. Cela utilisera automatiquement la keypair par d\u00e9faut dans $HOME/.config/solana/id.json

Vous pouvez sp\u00e9cifier la keypair avec laquelle vous souhaitez payer votre dette en ajoutant l'argument -k path/to/keypair.json \u00e0 la fin de la commande.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
Un exemple de sortie est fourni ci-dessous

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: renvoie le compte de d\u00e9p\u00f4t qui a \u00e9t\u00e9 financ\u00e9

Funded: renvoie le hash de transaction, que vous pouvez consulter dans votre explorateur Solana pr\u00e9f\u00e9r\u00e9

Node ID: renvoie l'ID Validateur pour lequel le paiement a \u00e9t\u00e9 effectu\u00e9

Balance: renvoie le montant de SOL dans le compte de d\u00e9p\u00f4t, apr\u00e8s le transfert termin\u00e9

"},{"location":"fr/paying-fees2z/","title":"Paying fees2z","text":"

Lisez le Avertissement avant d'acc\u00e9der ou d'utiliser le code ou tout mat\u00e9riel associ\u00e9.

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.

Avertissement

Ce document et le code associ\u00e9 sont fournis \u00e0 des fins d'information et techniques uniquement. La fonctionnalit\u00e9 de conversion de tokens d\u00e9crite ici est non-custodiale \u2014 les utilisateurs interagissent directement avec les contrats intelligents sous-jacents et conservent le plein contr\u00f4le de leurs actifs \u00e0 tout moment.

Le syst\u00e8me peut s'appuyer sur ou interagir avec du code tiers, des sources de donn\u00e9es, ou des m\u00e9canismes de tarification et de frais (par exemple, des contrats intelligents, des API, ou des \u00e9changes d\u00e9centralis\u00e9s) qui ne sont pas d\u00e9velopp\u00e9s, contr\u00f4l\u00e9s, ou examin\u00e9s par le(s) d\u00e9veloppeur(s) ou \u00e9diteur(s). Aucune repr\u00e9sentation ou garantie n'est faite quant \u00e0 l'exactitude, la fonctionnalit\u00e9, ou la s\u00e9curit\u00e9 de tout composant tiers. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) de ce code ne garantissent pas son exactitude, son exhaustivit\u00e9, ou sa disponibilit\u00e9 continue. Le code et les mat\u00e9riaux associ\u00e9s sont fournis \"tels quels\", et peuvent contenir des bugs, des erreurs, ou des vuln\u00e9rabilit\u00e9s. L'utilisation est enti\u00e8rement \u00e0 vos propres risques. Le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) ne re\u00e7oivent aucuns frais en rapport avec l'utilisation de ces contrats. Ils n'ont aucune obligation de maintenir, mettre \u00e0 jour, ou soutenir le code ou la documentation associ\u00e9e.

Ce document ne constitue pas une offre de vente, une sollicitation d'achat, ou une recommandation de participer \u00e0 une conversion de tokens, un \u00e9change ou une autre transaction. Aucun conseil juridique, financier, ou d'investissement n'est fourni. Les utilisateurs sont seuls responsables de d\u00e9terminer la l\u00e9galit\u00e9 de leurs activit\u00e9s. Ils doivent examiner les lois et r\u00e9glementations applicables dans leur juridiction et consulter des conseillers ind\u00e9pendants avant d'utiliser le code ou de participer \u00e0 une conversion. L'utilisation est interdite l\u00e0 o\u00f9 elle serait ill\u00e9gale, y compris par des personnes ou entit\u00e9s soumises \u00e0 des sanctions ou dans des juridictions restreintes.

Dans la mesure maximale permise par la loi, le(s) d\u00e9veloppeur(s) et \u00e9diteur(s) d\u00e9clinent toute responsabilit\u00e9 pour toute perte, dommage, ou r\u00e9clamation d\u00e9coulant de ou en rapport avec l'utilisation du code ou la participation \u00e0 la conversion.

L'examen et l'utilisation de ce document et du code associ\u00e9 sont soumis aux Conditions G\u00e9n\u00e9rales du Site Web et aux Conditions G\u00e9n\u00e9rales du Protocole.

Les validateurs peuvent payer leurs frais en 2Z via un programme de swap onchain. Le swap est effectu\u00e9 en \u00e9changeant des 2Z contre des SOL. Le solde SOL de votre compte de d\u00e9p\u00f4t sera mis \u00e0 jour en fonction du swap.

Ce processus utilisera toujours des incr\u00e9ments de 1 SOL. Le r\u00e9sultat de ce swap sera toujours d\u00e9pos\u00e9 directement dans votre compte de d\u00e9p\u00f4t. C'est un sens unique, vous ne pouvez pas r\u00e9cup\u00e9rer les 2Z ou SOL de cette transaction. Ils seront envoy\u00e9s \u00e0 un module de distribution onchain.

"},{"location":"fr/paying-fees2z/#etape-1","title":"\u00c9tape 1","text":"

D\u00e9terminez d'abord quel est le taux de conversion actuel

doublezero-solana revenue-distribution fetch sol-conversion\n

sortie :

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"fr/paying-fees2z/#etape-2","title":"\u00c9tape 2","text":"

Placez un ordre limit\u00e9. Vous ex\u00e9cuterez ce swap \u00e0 vos propres risques. Nous ne faisons pas de recommandations sur le profil de risque, et les exemples fournis ici sont \u00e0 des fins \u00e9ducatives.

"},{"location":"fr/paying-fees2z/#comment-structurer-un-ordre-limite","title":"Comment structurer un ordre limit\u00e9","text":"

Sur la base de l'exemple ci-dessus, nous allons maintenant placer un ordre limit\u00e9 5% au-dessus du prix cot\u00e9. 797.76 * 1.05 = 837.65

Dans cet exemple, nous supposons que le compte de d\u00e9p\u00f4t a 0 SOL.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Remarquez dans la commande ci-dessus --fund 1, cela finance explicitement 1 SOL dans le compte de d\u00e9p\u00f4t.

Si vous choisissez un nombre autre que 1, vous d\u00e9clencherez une erreur indiquant le montant incorrect :

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Il vous sera demand\u00e9 de confirmer la transaction :

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

sortie :

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Remarquez que lors d'un swap r\u00e9ussi, le Balance: a \u00e9t\u00e9 mis \u00e0 jour \u00e0 1 SOL.

Si un prix est hors de la plage sp\u00e9cifi\u00e9e, vous rencontrerez une erreur telle que :

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"fr/quick-connect/","title":"Connexion Rapide","text":"

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.

R\u00e9pondez \u00e0 quelques questions et nous g\u00e9n\u00e9rerons un guide de connexion personnalis\u00e9 avec les \u00e9tapes et commandes exactes pour votre configuration.

Guide Simplifi\u00e9

Cet assistant fournit des extraits cl\u00e9s de la documentation compl\u00e8te pour vous connecter aussi rapidement que possible. Pour des d\u00e9tails complets, consultez les guides Configuration et Tenant.

\u00c0 quel r\u00e9seau vous connectez-vous ? Mainnet-Beta R\u00e9seau de production pour les validateurs actifs et les op\u00e9rateurs RPC Testnet R\u00e9seau de test et de d\u00e9veloppement Quel syst\u00e8me d'exploitation votre serveur utilise-t-il ? Ubuntu / Debian Ubuntu 22.04+ ou Debian 11+ Rocky Linux / RHEL Rocky Linux ou RHEL 9+ Quel \u00e9cosyst\u00e8me ? Solana Validateurs et op\u00e9rateurs RPC sur Solana Shelby RPC et N\u0153uds de Stockage sur Shelby (Testnet uniquement) Nouveau Tenant Autres \u00e9cosyst\u00e8mes Quel outil de pare-feu utilisez-vous ? iptables R\u00e8gles iptables directes UFW Uncomplicated Firewall Quel type de n\u0153ud ex\u00e9cutez-vous ? Validateur Validateur Solana planifi\u00e9 par leader avec keypair d'identit\u00e9 Non-validateur (RPC) N\u0153ud RPC ou infrastructure MEV De quel mode de connexion avez-vous besoin ? Unicast (IBRL) Connexion point \u00e0 point standard Multicast Livraison de paquets un-vers-plusieurs (\u00e9diteur/abonn\u00e9) Les deux Tunnels unicast et multicast simultan\u00e9s Quel est votre r\u00f4le multicast ? \u00c9diteur Envoyer des donn\u00e9es \u00e0 un groupe multicast (p. ex., producteur de blocs) Abonn\u00e9 Recevoir des donn\u00e9es d'un groupe multicast"},{"location":"fr/setup/","title":"Configuration de DoubleZero","text":"

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.

Terminologie

Nouveau sur DoubleZero ? Consultez le Glossaire pour les d\u00e9finitions des termes comme doublezerod, IBRL, DZD et autres.

En vous connectant \u00e0 DoubleZero, vous acceptez les Conditions d'Utilisation de DoubleZero

"},{"location":"fr/setup/#prerequis","title":"Pr\u00e9requis","text":"

Warning

Pour les validateurs : DoubleZero doit \u00eatre install\u00e9 directement sur l'h\u00f4te du validateur, pas dans un conteneur.

"},{"location":"fr/setup/#connexion-a-doublezero","title":"Connexion \u00e0 DoubleZero","text":"

Le Testnet DoubleZero et le Mainnet Beta DoubleZero sont des r\u00e9seaux physiquement distincts. Choisissez le r\u00e9seau appropri\u00e9 lors de l'installation.

En rejoignant DoubleZero, vous \u00e9tablissez une identit\u00e9 DoubleZero (une cl\u00e9 publique appel\u00e9e DoubleZero ID). Cette cl\u00e9 est l'un des moyens par lesquels DoubleZero identifie votre machine.

"},{"location":"fr/setup/#1-installer-le-paquet-doublezero","title":"1. Installer le paquet DoubleZero","text":"

Version Actuelle

Paquet Mainnet Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Suivez les instructions ci-dessous selon votre syst\u00e8me d'exploitation :

"},{"location":"fr/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

D\u00e9ploiement actuel recommand\u00e9 pour Mainnet Beta :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

D\u00e9ploiement actuel recommand\u00e9 pour Testnet :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"fr/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

D\u00e9ploiement actuel recommand\u00e9 pour Mainnet Beta :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

D\u00e9ploiement actuel recommand\u00e9 pour Testnet :

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Utilisateurs existants uniquement : Passer du paquet Testnet \u00e0 Mainnet Beta, ou de Mainnet Beta \u00e0 Testnet

En installant depuis les d\u00e9p\u00f4ts de paquets ci-dessus, le Testnet DoubleZero ou le Mainnet Beta DoubleZero disposent chacun de leur propre d\u00e9p\u00f4t d\u00e9di\u00e9. Si vous devez changer de r\u00e9seau \u00e0 un moment donn\u00e9, vous devrez supprimer le d\u00e9p\u00f4t de paquets pr\u00e9c\u00e9demment install\u00e9 et mettre \u00e0 jour vers le d\u00e9p\u00f4t cible.

Cet exemple montre la migration de Testnet vers Mainnet Beta.

En suivant les m\u00eames \u00e9tapes mais en rempla\u00e7ant l'\u00e9tape 3 par la commande d'installation Testnet ci-dessus, il est possible de compl\u00e9ter la migration de Mainnet Beta vers Testnet.

  1. Trouver les anciens fichiers de d\u00e9p\u00f4t

    Premi\u00e8rement, identifiez les fichiers de configuration de d\u00e9p\u00f4t DoubleZero existants sur le syst\u00e8me :

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Supprimer les anciens fichiers de d\u00e9p\u00f4t

    Supprimez les anciens fichiers de d\u00e9p\u00f4t trouv\u00e9s \u00e0 l'\u00e9tape pr\u00e9c\u00e9dente. Par exemple :

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Installer depuis le nouveau d\u00e9p\u00f4t

    Ajoutez le nouveau d\u00e9p\u00f4t Mainnet Beta et installez le dernier paquet :

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<version_actuelle_recommand\u00e9e_ci-dessus>\n
"},{"location":"fr/setup/#verifier-letat-de-doublezerod","title":"V\u00e9rifier l'\u00e9tat de doublezerod","text":"

Apr\u00e8s l'installation du paquet, une nouvelle unit\u00e9 systemd sera install\u00e9e, activ\u00e9e et d\u00e9marr\u00e9e. Pour v\u00e9rifier l'\u00e9tat, ex\u00e9cutez la commande suivante :

sudo systemctl status doublezerod\n

"},{"location":"fr/setup/#configuration-du-pare-feu-pour-gre-et-bgp","title":"Configuration du Pare-feu pour GRE et BGP","text":"

DoubleZero utilise des tunnels GRE (protocole IP 47) et le routage BGP (tcp/179 pour les adresses link-local). Assurez-vous que votre pare-feu autorise ces protocoles :

Autoriser GRE et BGP avec iptables :

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

Ou autoriser GRE et BGP avec UFW :

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"fr/setup/#2-creer-une-nouvelle-identite-doublezero","title":"2. Cr\u00e9er une Nouvelle Identit\u00e9 DoubleZero","text":"

Utilisez la commande suivante pour cr\u00e9er une identit\u00e9 DoubleZero sur le serveur :

doublezero keygen\n

Info

Si vous avez un ID existant que vous souhaitez utiliser, vous pouvez suivre les \u00e9tapes optionnelles ci-dessous.

Cr\u00e9ez le r\u00e9pertoire de configuration de doublezerod

mkdir -p ~/.config/doublezero\n

Copiez ou liez le fichier id.json que vous souhaitez utiliser dans DoubleZero dans le r\u00e9pertoire de configuration doublezero.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"fr/setup/#3-obtenir-lidentite-doublezero-du-serveur","title":"3. Obtenir l'Identit\u00e9 DoubleZero du Serveur","text":"

Confirmez votre identit\u00e9 DoubleZero. Cette identit\u00e9 est utilis\u00e9e pour cr\u00e9er la connexion entre votre machine et DoubleZero.

doublezero address\n

Sortie :

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"fr/setup/#4-confirmer-que-doublezerod-a-detecte-les-dispositifs-dz","title":"4. Confirmer que doublezerod a D\u00e9tect\u00e9 les Dispositifs DZ","text":"

Avant de vous connecter, confirmez que doublezerod a d\u00e9tect\u00e9 et ping\u00e9 chaque commutateur DZ testnet disponible :

doublezero latency\n

Exemple de sortie :

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Si les dispositifs n'apparaissent pas dans la sortie, attendez 10 \u00e0 20 secondes et r\u00e9essayez.

"},{"location":"fr/setup/#5-se-deconnecter-de-doublezero","title":"5. Se D\u00e9connecter de DoubleZero","text":"

La section suivante configurera l'environnement DoubleZero. Pour garantir le succ\u00e8s, d\u00e9connectez la session actuelle. Cela \u00e9vite les probl\u00e8mes li\u00e9s \u00e0 plusieurs tunnels ouverts sur la machine.

Confirmez

doublezero status\n

Si le statut est up, ex\u00e9cutez :

doublezero disconnect\n
"},{"location":"fr/setup/#prochaine-etape-tenant","title":"Prochaine \u00c9tape : Tenant","text":"

La connexion \u00e0 DoubleZero varie selon le cas d'utilisation. Dans DoubleZero, les tenants sont des groupes avec des profils utilisateurs similaires. Par exemple : blockchain, couches de transfert de donn\u00e9es, etc.

"},{"location":"fr/setup/#selectionnez-le-tenant-et-continuez-ici","title":"S\u00e9lectionnez le Tenant et Continuez ici","text":""},{"location":"fr/setup/#optionnel-activer-les-metriques-prometheus","title":"Optionnel : Activer les M\u00e9triques Prometheus","text":"

Les op\u00e9rateurs familiers avec les m\u00e9triques Prometheus pourraient vouloir les activer pour la surveillance DoubleZero. Cela vous permettra d'obtenir des informations sur les performances du client DoubleZero, l'\u00e9tat de la connexion et la sant\u00e9 op\u00e9rationnelle.

"},{"location":"fr/setup/#metriques-disponibles","title":"M\u00e9triques Disponibles","text":"

DoubleZero expose plusieurs m\u00e9triques cl\u00e9s : - Informations de build : version, hash de commit, date de build - \u00c9tat de la session : si la session DoubleZero est active - M\u00e9triques de connexion : latence et informations de connexion - Donn\u00e9es de performance : d\u00e9bit et taux d'erreur

"},{"location":"fr/setup/#activation-des-metriques-prometheus","title":"Activation des M\u00e9triques Prometheus","text":"

Pour activer les m\u00e9triques Prometheus sur le client DoubleZero, suivez ces \u00e9tapes :

"},{"location":"fr/setup/#1-modifier-la-commande-de-demarrage-du-service-systemd-doublezerod","title":"1. Modifier la commande de d\u00e9marrage du service systemd doublezerod","text":"

Cr\u00e9ez ou modifiez la configuration de remplacement systemd :

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Remplacez par cette configuration :

Le flag -env doit pointer vers testnet ou mainnet-beta selon le r\u00e9seau depuis lequel vous souhaitez collecter des donn\u00e9es. Dans l'exemple de bloc, testnet est utilis\u00e9. Si n\u00e9cessaire, il peut \u00eatre chang\u00e9 en mainnet-beta.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"fr/setup/#2-recharger-et-redemarrer-le-service","title":"2. Recharger et red\u00e9marrer le service","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"fr/setup/#3-confirmer-que-les-metriques-sont-disponibles","title":"3. Confirmer que les m\u00e9triques sont disponibles","text":"

Confirmez que l'endpoint des m\u00e9triques r\u00e9pond :

curl -s localhost:2113/metrics | grep doublezero\n

Sortie attendue :

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"fr/setup/#resolution-des-problemes","title":"R\u00e9solution des Probl\u00e8mes","text":"

Si les m\u00e9triques ne s'affichent pas :

  1. V\u00e9rifiez l'\u00e9tat du service : sudo systemctl status doublezerod
  2. V\u00e9rifiez la configuration : sudo systemctl cat doublezerod
  3. V\u00e9rifiez les logs : sudo journalctl -u doublezerod -f
  4. Testez l'endpoint : curl -v localhost:2113/metrics
  5. V\u00e9rifiez le port : netstat -tlnp | grep 2113
"},{"location":"fr/setup/#configuration-du-serveur-prometheus","title":"Configuration du Serveur Prometheus","text":"

La configuration et la s\u00e9curit\u00e9 d\u00e9passent le cadre de ce document. Grafana est une excellente option pour la visualisation, et la documentation Grafana ici d\u00e9crit comment collecter les m\u00e9triques Prometheus.

"},{"location":"fr/setup/#tableau-de-bord-grafana-optionnel","title":"Tableau de Bord Grafana (Optionnel)","text":"

Pour la visualisation, vous pouvez cr\u00e9er un tableau de bord Grafana avec les m\u00e9triques DoubleZero. Les panneaux courants incluent : - \u00c9tat de la session dans le temps - Informations de build - Tendances de latence de connexion - Surveillance du taux d'erreur

"},{"location":"fr/tenant/","title":"Tenants","text":"

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.

Les tenants sur DoubleZero sont des groupes d'utilisateurs aux profils et aux exigences de connexion similaires, repr\u00e9sentant g\u00e9n\u00e9ralement diff\u00e9rents \u00e9cosyst\u00e8mes blockchain, couches de transfert de donn\u00e9es ou syst\u00e8mes distribu\u00e9s.

Examinez le tableau ci-dessous et choisissez le cas d'utilisation qui d\u00e9crit le mieux la fa\u00e7on dont vous envisagez d'interagir avec le r\u00e9seau DoubleZero.

Solana

Cas d'Utilisation Prochaine \u00c9tape Validateur Solana Mainnet, y compris les sauvegardes Connexion DoubleZero Mainnet-Beta Validateur Solana Testnet, y compris les sauvegardes Connexion DoubleZero Testnet Non-Validateurs - RPC, et autres. Connexion DoubleZero Mainnet-Beta et Testnet

Shelby

Cas d'Utilisation Prochaine \u00c9tape RPC Shelby Testnet et N\u0153uds de Stockage Connexion DoubleZero Testnet

Nouveau Tenant

Cas d'Utilisation Prochaine \u00c9tape Vous avez un nouveau protocole, une application ou un autre cas d'utilisation pour tirer parti de DoubleZero Ajouter un Nouveau Tenant"},{"location":"fr/troubleshooting/","title":"R\u00e9solution des Probl\u00e8mes","text":"

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.

Ce guide couvre une vari\u00e9t\u00e9 de probl\u00e8mes et est en cours d'\u00e9laboration. Si vous avez compl\u00e9t\u00e9 le guide, vous pouvez chercher une aide suppl\u00e9mentaire sur le discord DoubleZero Tech.

"},{"location":"fr/troubleshooting/#commandes-courantes-et-sorties","title":"Commandes Courantes et Sorties","text":"

Pour commencer, examinez la sortie des commandes suivantes et leur sortie attendue. Elles vous aideront \u00e0 r\u00e9soudre les probl\u00e8mes de mani\u00e8re plus d\u00e9taill\u00e9e. Si vous ouvrez un ticket, on pourrait vous demander leur sortie.

"},{"location":"fr/troubleshooting/#1-verifier-la-version","title":"1. V\u00e9rifier la Version","text":"

Commande :

doublezero --version

Exemple de sortie :

DoubleZero 0.6.3\n

"},{"location":"fr/troubleshooting/#2-verifier-ladresse-doublezero","title":"2. V\u00e9rifier l'Adresse DoubleZero","text":"

Commande :

doublezero address

Exemple de sortie :

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"fr/troubleshooting/#3-verifier-votre-pass-dacces","title":"3. V\u00e9rifier votre Pass d'Acc\u00e8s","text":"

Exemple de cl\u00e9 publique : MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 remplacez cela par votre cl\u00e9 publique lors de l'ex\u00e9cution de la commande.

Commande :

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Sortie : [notez que nous utilisons doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' pour afficher l'en-t\u00eate dans cette sortie]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"fr/troubleshooting/#4-verifier-les-credits-du-registre-doublezero","title":"4. V\u00e9rifier les Cr\u00e9dits du Registre DoubleZero","text":"

Commande :

doublezero balance

Exemple de sortie :

0.78 Credits\n

"},{"location":"fr/troubleshooting/#5-verifier-letat-de-la-connexion","title":"5. V\u00e9rifier l'\u00c9tat de la Connexion","text":"

Commande :

doublezero status

Exemple de sortie :

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"fr/troubleshooting/#6-verifier-la-latence","title":"6. V\u00e9rifier la Latence","text":"

Commande :

doublezero latency

Exemple de sortie :

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"fr/troubleshooting/#exemples-de-resolution-des-problemes","title":"Exemples de R\u00e9solution des Probl\u00e8mes","text":"

Maintenant que nous avons examin\u00e9 les sorties de base et ce qui est attendu dans un d\u00e9ploiement sain, nous pouvons examiner quelques exemples courants de r\u00e9solution de probl\u00e8mes.

"},{"location":"fr/troubleshooting/#probleme-erreur-lors-de-la-creation-dun-utilisateur","title":"Probl\u00e8me : \u274c Erreur lors de la cr\u00e9ation d'un utilisateur","text":"

Ce probl\u00e8me est g\u00e9n\u00e9ralement li\u00e9 \u00e0 une discordance entre la combinaison cl\u00e9 publique/IP attendue et la combinaison cl\u00e9 publique/IP avec laquelle l'utilisateur essaie d'acc\u00e9der \u00e0 DoubleZero.

Sympt\u00f4mes : - Lors de la connexion avec doublezero connect ibrl, l'utilisateur rencontre \u274c Error creating user

Solutions : 1. V\u00e9rifiez

`doublezero address`\n\nExemple de sortie :\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. V\u00e9rifiez que cette adresse est dans la liste autoris\u00e9e :

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Exemple de sortie :

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    La cl\u00e9 publique de doublezero address doit correspondre \u00e0 la cl\u00e9 publique user_payer et l'adresse IP depuis laquelle vous essayez de vous connecter doit correspondre \u00e0 l'IP dans le Pass d'Acc\u00e8s. doublezero address est sourc\u00e9 depuis le fichier id.json dans ~/.config/doublezero/ par d\u00e9faut. Voir l'\u00e9tape 6 ici

  2. Si ce qui pr\u00e9c\u00e8de semble correct et que vous obtenez une erreur lors de la connexion, ou si le mappage ci-dessus est incorrect, veuillez contacter le support sur DoubleZero Tech

"},{"location":"fr/troubleshooting/#probleme-erreur-de-provisionnement-du-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Probl\u00e8me : \u274c Erreur de provisionnement du service : malformed stuff: cannot provision multiple tunnels at the same time","text":"

Cette erreur indique qu'un dispositif est d\u00e9j\u00e0 connect\u00e9 \u00e0 DoubleZero.

Sympt\u00f4mes : - L'utilisateur essaie de se connecter \u00e0 DoubleZero - \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time est rencontr\u00e9.

Solutions : 1. V\u00e9rifiez doublezero status

Sortie :\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. -up- indique une connexion saine.
  2. L'erreur appara\u00eet parce qu'un tunnel vers DoubleZero avec l'IP DoubleZero sp\u00e9cifique est d\u00e9j\u00e0 actif sur cette machine.

    Cette erreur est souvent rencontr\u00e9e apr\u00e8s une mise \u00e0 niveau du client DoubleZero. Les mises \u00e0 niveau DoubleZero red\u00e9marrent automatiquement le service doublezerod et vous reconnecteront si vous \u00e9tiez connect\u00e9 avant le red\u00e9marrage du service.

"},{"location":"fr/troubleshooting/#probleme-le-statut-doublezero-est-inconnu-ou-down","title":"Probl\u00e8me : Le statut DoubleZero est inconnu ou down","text":"

Ce probl\u00e8me est souvent li\u00e9 au tunnel GRE qui a \u00e9t\u00e9 activ\u00e9 avec succ\u00e8s entre le serveur et le DoubleZero Device, mais un pare-feu emp\u00eache l'\u00e9tablissement de la session BGP. \u00c0 cause de cela, vous ne recevez pas de routes depuis le r\u00e9seau ou n'envoyez pas de trafic via DoubleZero.

Sympt\u00f4mes : - doublezero connect ibrl a r\u00e9ussi. Cependant, doublezero status retourne down ou unknown

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

Solutions : 1. V\u00e9rifiez vos r\u00e8gles de pare-feu !

DoubleZero utilise l'espace d'adresses link-local : 169.254.0.0/16 pour les interfaces de tunnel GRE entre votre machine et le DoubleZero Device. 169.254.0.0/16 est typiquement un espace \u00ab non routable \u00bb et donc les bonnes pratiques de s\u00e9curit\u00e9 recommandent de bloquer les communications vers/depuis cet espace. Vous devrez autoriser une r\u00e8gle dans votre pare-feu qui permet \u00e0 src 169.254.0.0/16 de communiquer avec dst 169.254.0.0/16 sur le port tcp 179. Cette r\u00e8gle devra \u00eatre plac\u00e9e au-dessus de toutes les r\u00e8gles qui refusent le trafic vers 169.254.0.0/16.

Dans un pare-feu comme ufw, vous pouvez ex\u00e9cuter `sudo ufw status` pour afficher les r\u00e8gles du pare-feu et\n\nExemple de sortie qui pourrait \u00eatre similaire \u00e0 ce qu'un validateur Solana aurait.\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\nDans la sortie ci-dessus, vous voyez que tout le trafic vers 169.254.0.0/16, sauf pour les ports sp\u00e9cifi\u00e9s, est refus\u00e9.\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` pour ins\u00e9rer la r\u00e8gle \u00e0 la position <N>. c'est-\u00e0-dire que si N = 1, vous ins\u00e9rerez cette r\u00e8gle comme premi\u00e8re r\u00e8gle.\n`sudo ufw status numbered` vous montrera l'ordre num\u00e9rique des r\u00e8gles.\n
"},{"location":"fr/troubleshooting/#probleme-le-dispositif-doublezero-le-plus-proche-a-change","title":"Probl\u00e8me : Le dispositif DoubleZero le plus proche a chang\u00e9","text":"

Ce n'est pas une erreur, mais cela peut \u00eatre une optimisation. Voici une bonne pratique qui peut \u00eatre ex\u00e9cut\u00e9e de temps en temps ou automatis\u00e9e.

Solutions :

  1. V\u00e9rifiez la latence vers le dispositif le plus proche

    • ex\u00e9cutez doublezero latency

      sortie

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      notez ci-dessus que le dispositif le plus proche est dz-ny7-sw01

      Nous voulons nous connecter \u00e0 ce dispositif. :

  2. D\u00e9terminez si vous \u00eates d\u00e9j\u00e0 connect\u00e9 au dispositif cible

    • ex\u00e9cutez doublezero user list --env testnet | grep 111.11.11.11 remplacez 111.11.11.11 par l'adresse IPv4 publique de votre dispositif connect\u00e9 \u00e0 DoubleZero. Vous pouvez \u00e9galement utiliser votre ID de validateur ou l'ID doublezero.

      sortie

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      Dans cet exemple, nous sommes d\u00e9j\u00e0 connect\u00e9s au dispositif le plus proche. Plus d'\u00e9tapes ne sont n\u00e9cessaires, nous pouvons nous arr\u00eater ici.

      Consid\u00e9rons plut\u00f4t si la sortie \u00e9tait account | user_type | groups | device | location | cyoa_type | client_ip | dz_ip | accesspass | tunnel_id | tunnel_net | status | owner 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL | | fra-dz-001-x | New York | GREOverDIA | 111.11.11.11 | 111.11.11.11 | Prepaid: (MAX) | 514 | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn Ce serait une connexion sous-optimale. Consid\u00e9rons si une reconnexion est n\u00e9cessaire.

      Avant la connexion, nous v\u00e9rifierons si le dispositif a des tunnels utilisateur disponibles.

  3. Optionnel : examiner le r\u00e9seau pour les dispositifs disponibles

    \u00c0 des fins \u00e9ducatives, nous allons d'abord : - ex\u00e9cuter doublezero device list pour une liste compl\u00e8te des dispositifs. Nous avons extrait 2 dispositifs comme exemple pour expliquer la sortie.

    sortie :\n```\naccount                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n```\nNotez ci-dessus que `ams001-dz002` a 69 utilisateurs et 128 utilisateurs maximum. Ce dispositif peut accueillir 59 utilisateurs suppl\u00e9mentaires.\n\nCependant, `dz-fr5-sw01` a 0 utilisateurs et 0 utilisateurs maximum. Vous ne pourrez pas vous connecter \u00e0 ce dispositif. Avec un max_users de 0, le dispositif n'accepte aucune connexion.\n\nRevenons maintenant \u00e0 la connexion \u00e0 notre dispositif le plus proche.\n
  4. D\u00e9terminez si le dispositif cible a une connexion disponible

    • ex\u00e9cutez doublezero device list | grep dz-ny7-sw01 remplacez dz-ny7-sw01 par votre dispositif cible

      sortie

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      ici nous pouvons voir que dz-ny7-sw01 dispose d'espace disponible pour la connexion.

  5. Se connecter au dispositif DoubleZero le plus proche

    Nous allons nous d\u00e9connecter, puis nous reconnecter \u00e0 doublezero.

    Ex\u00e9cutez d'abord - doublezero disconnect

    sortie

    ```\nDoubleZero Service Provisioning\n\ud83d\udd0d  Decommissioning User\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\\ [00:00:00] [##########>-----------------------------] 1/4 deleting user       account...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     \ud83d\udd0d  Deleting User Account for: 6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW\n\ud83d\udd0d  User Account deleted\n\u2705  Deprovisioning Complete\n```\n

    maintenant nous v\u00e9rifions le statut pour confirmer notre d\u00e9connexion avec - doublezero status

    sortie

    Tunnel status | Last Session Update | Tunnel Name | Tunnel src | Tunnel dst | Doublezero IP | User Type\ndisconnected  | no session data     |             |            |            |               |\n
    Enfin nous nous reconnecterons avec - doublezero connect ibrl

    sortie

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n
    notez dans la sortie ci-dessus que nous avons Connected to device: dz-ny7-sw01 c'est le r\u00e9sultat souhait\u00e9 de notre enqu\u00eate initiale \u00e0 l'\u00e9tape 1, o\u00f9 nous avons d\u00e9couvert que dz-ny7-sw01 \u00e9tait le dispositif avec la latence la plus faible.

"},{"location":"fr/troubleshooting/#probleme-doublezero-status-retourne-certains-champs-avec-na","title":"Probl\u00e8me : doublezero status retourne certains champs avec N/A","text":"

Ce probl\u00e8me est g\u00e9n\u00e9ralement li\u00e9 \u00e0 une discordance entre le daemon et le client actuels, par rapport au daemon et au client avec lesquels le tunnel DZ connect\u00e9 a \u00e9t\u00e9 \u00e9tabli.

Sympt\u00f4mes : - Lors de l'ex\u00e9cution de doublezero status, l'utilisateur rencontre N/A dans certains champs

Solutions : 1. Ex\u00e9cutez doublezero status

Exemple :\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\nNotez dans notre exemple de sortie ci-dessus que le `Tunnel status` est `up`. Notre `Network` est `mainnet-beta`. Cependant, `Current Device` et `Metro` sont `N/A`\n\nCela indique un tunnel ouvert sur votre machine qui n'est pas dans votre environnement actuel.\nDans ce cas, le statut `up`, sans `Current Device` trouv\u00e9 sur `mainnet-beta` nous r\u00e9v\u00e8le que notre tunnel est sur testnet !\n
  1. Changez votre environnement.

    Pour rectifier la discordance, vous changerez votre environnement vers l'oppos\u00e9 de l'environnement retournant N/A

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    Pour configurer la CLI Client DoubleZero (doublezero) et le daemon (doublezerod) afin de se connecter au mainnet-beta DoubleZero :

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. V\u00e9rifiez votre statut

    Apr\u00e8s avoir chang\u00e9 d'environnement, ex\u00e9cutez :

    doublezero status\n

    La sortie attendue devrait \u00eatre similaire \u00e0 :

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    Avec tous les champs remplis, vous \u00eates maintenant dans le bon environnement.

"},{"location":"it/","title":"Benvenuti in DoubleZero","text":"

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 \u00e8 un protocollo e una rete decentralizzati ad alte prestazioni, ottimizzati per i sistemi distribuiti, come le blockchain. Gli utenti di DoubleZero beneficiano di un servizio integrato per la trasmissione altamente ottimizzata e il pre-processing dei dati dei sistemi distribuiti.

"},{"location":"it/#a-chi-e-destinato-doublezero","title":"A chi \u00e8 destinato DoubleZero?","text":""},{"location":"it/#contributori","title":"Contributori","text":"

I contributori di DoubleZero dispongono di capacit\u00e0 di rete sotto forma di link in fibra privati sottoutilizzati e hardware (es. switch e dispositivi FPGA). La configurazione di queste risorse per estendere la rete DoubleZero crea un servizio informativo integrato. Utilizzando il protocollo DZ, i contributori di rete uniscono questa capacit\u00e0 in una rete mesh globale dinamica ed espansiva e ricevono incentivi in token per il loro contributo.

"},{"location":"it/#utenti","title":"Utenti","text":"

Gli utenti di DoubleZero partecipano a sistemi distribuiti, come le blockchain, che richiedono connettivit\u00e0 di rete ad alte prestazioni. Collegando un sistema blockchain a DoubleZero, gli utenti ottengono un insieme di funzionalit\u00e0 di ottimizzazione per accelerare gli I/O di rete.

Nella sua implementazione iniziale, la rete DoubleZero \u00e8 compatibile con i client validatori blockchain, nonch\u00e9 con i provider di infrastrutture RPC e MEV. Questi sistemi utente vengono sottoposti al controllo degli accessi verificando i loro indirizzi di chiave pubblica univoci sui rispettivi registri prima di consentire l'accesso alla rete. Man mano che la rete evolve per includere sistemi utente di altri ecosistemi, verranno aggiunte strategie di identificazione e autenticazione aggiuntive, personalizzate per ciascuna comunit\u00e0 di progetti utenti.

"},{"location":"it/#vantaggi","title":"Vantaggi","text":"

L'unica alternativa a DoubleZero \u00e8 l'internet pubblico. Rispetto all'internet pubblico, la rete DoubleZero offre due miglioramenti per le blockchain.

Primo, le transazioni in entrata possono essere filtrate al margine in modo non discrezionale a livello hardware del contributore di rete (cio\u00e8 rimozione di spam e duplicati) prima di essere inviate agli utenti (es. nodi blockchain) della rete DoubleZero. Ci\u00f2 consente alle blockchain di beneficiare di risorse di filtraggio condivise a livello di sistema, anzich\u00e9 richiedere a ogni singolo validatore di fornire risorse sufficienti. Di conseguenza, i validatori possono riallocare le proprie risorse verso attivit\u00e0 direttamente generatrici di ricavi. Questa funzionalit\u00e0 non \u00e8 ancora operativa.

Secondo, i messaggi in uscita vengono instradati in modo pi\u00f9 diretto e prioritizzati per migliorare l'efficienza. Ci\u00f2 \u00e8 possibile perch\u00e9 in DoubleZero la logica di instradamento del movimento dati globale \u00e8 ottimizzata per la velocit\u00e0, a differenza dell'internet pubblico. Pertanto, i validatori beneficiano di un jitter ridotto, definito come la quantit\u00e0 di variazione nella latenza tra due endpoint di cavo dati. In sostanza, i nodi blockchain possono inviare e ricevere blocchi pi\u00f9 velocemente.

Complessivamente, questi vantaggi della rete DoubleZero possono raggiungere livelli di prestazioni altrimenti irraggiungibili tramite l'internet pubblico.

Per ulteriori dettagli, consultare il whitepaper DoubleZero Protocol.

"},{"location":"it/#prossimi-passi","title":"Prossimi Passi","text":""},{"location":"it/DZ%20Mainnet-beta%20Connection/","title":"Connessione Validatore Mainnet-Beta in Modalit\u00e0 IBRL","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#connessione-a-mainnet-beta-in-modalita-ibrl","title":"Connessione a Mainnet-Beta in Modalit\u00e0 IBRL","text":"

Note

La modalit\u00e0 IBRL non richiede il riavvio dei client validatori, perch\u00e9 utilizza il tuo indirizzo IP pubblico esistente.

I validatori Solana Mainnet completeranno la connessione a DoubleZero Mainnet-beta, che \u00e8 dettagliata su questa pagina.

Ogni validatore Solana ha il proprio keypair di identit\u00e0; da questo, estrai la chiave pubblica nota come node ID. Questa \u00e8 l'impronta digitale univoca del validatore sulla rete Solana.

Con il DoubleZeroID e il node ID identificati, dimostrerai la propriet\u00e0 della tua macchina. Questo viene fatto creando un messaggio che include il DoubleZeroID firmato con la chiave di identit\u00e0 del validatore. La firma crittografica risultante serve come prova verificabile che controlli il validatore.

Infine, invierai una richiesta di connessione a DoubleZero. Questa richiesta comunica: \"Ecco la mia identit\u00e0, ecco la prova di propriet\u00e0, ed ecco come intendo connettermi.\" DoubleZero valida queste informazioni, accetta la prova e fornisce l'accesso alla rete per il validatore su DoubleZero.

Questa guida consente a 1 Validatore Primario di registrarsi, e fino a 3 macchine di backup/failover contemporaneamente.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#prerequisiti","title":"Prerequisiti","text":"

Info

L'ID Validatore verr\u00e0 verificato con Solana gossip per determinare l'IP target. L'IP target e il DoubleZero ID verranno poi utilizzati per aprire un tunnel GRE tra la tua macchina e il DoubleZero Device target.

Considera: Nel caso in cui tu abbia un ID junk e un ID Primario allo stesso IP, solo l'ID Primario verr\u00e0 usato nella registrazione della macchina. Questo perch\u00e9 l'ID junk non apparir\u00e0 nel gossip, e quindi non pu\u00f2 essere usato per verificare l'IP della macchina target.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

L'ultimo passo del setup era disconnettersi dalla rete. Questo serve a garantire che sia aperto solo un tunnel sulla tua macchina verso DoubleZero, e che quel tunnel sia sulla rete corretta.

Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al mainnet-beta DoubleZero:

DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Dovresti vedere il seguente output: \u2705 doublezerod configured for environment mainnet-beta

Dopo circa 30 secondi vedrai i dispositivi DoubleZero disponibili:

doublezero latency\n
Esempio di output (Mainnet-Beta)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
L'output del Testnet sar\u00e0 identico nella struttura, ma con meno dispositivi.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#2-apri-la-porta-44880","title":"2. Apri la porta 44880","text":"

Gli utenti devono aprire la porta 44880 per utilizzare alcune funzionalit\u00e0 di routing.

Per aprire la porta 44880 puoi aggiornare le IP tables come:

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

nota i flag -i doublezero0, -o doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

O UFW come:

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

nota i flag in on doublezero0, out on doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#3-attesta-la-proprieta-del-validatore","title":"3. Attesta la Propriet\u00e0 del Validatore","text":"

Con il tuo ambiente DoubleZero impostato, \u00e8 ora il momento di attestare la propriet\u00e0 del tuo Validatore.

Il DoubleZero ID creato nel setup del tuo validatore primario deve essere utilizzato su tutte le macchine di backup.

L'ID sulla tua macchina primaria pu\u00f2 essere trovato con doublezero address. Lo stesso ID deve essere in ~/.config/doublezero/id.json su tutte le macchine del cluster.

Per fare questo verificherai prima che la macchina da cui stai eseguendo i comandi sia il tuo Validatore Primario con:

doublezero-solana passport find-validator -u mainnet-beta\n

Questo verifica che il validatore sia registrato nel gossip e appaia nel programma leader.

Output atteso:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Info

Lo stesso flusso di lavoro viene utilizzato per una o pi\u00f9 macchine. Per registrare una macchina, escludi gli argomenti \"--backup-validator-ids\" o \"backup_ids=\" da qualsiasi comando in questa pagina.

Ora, su tutte le macchine di backup su cui intendi eseguire il tuo Validatore Primario, esegui il seguente comando:

doublezero-solana passport find-validator -u mainnet-beta\n

Output atteso:

Connected to Solana: mainnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
Questo output \u00e8 atteso. Il nodo di backup non pu\u00f2 essere nel programma leader al momento della creazione del pass.

Eseguirai ora questo comando su tutte le macchine di backup su cui intendi utilizzare l'account di voto e l'identit\u00e0 del tuo Validatore Primario.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#prepara-la-connessione","title":"Prepara la Connessione","text":"

Esegui il seguente comando sulla macchina del Validatore Primario. Questa \u00e8 la macchina su cui hai stake attivo, che \u00e8 nel programma leader con il tuo ID validatore primario nel gossip Solana sulla macchina da cui stai eseguendo il comando:

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

Esempio di output:

DoubleZero Passport - Prepare Validator Access Request\nConnected to Solana: mainnet-beta\n\nPrimary validator \ud83d\udda5\ufe0f  \ud83d\udc8e:\n  ID: ValidatorIdentity111111111111111111111111111\n  Gossip: \u2705 OK 11.11.11.111)\n  Leader scheduler: \u2705 OK (Stake: 1,050,000.00 SOL)\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity222222222222222222222222222\n  Gossip: \u2705 OK (22.22.22.222)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\nBackup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity333333333333333333333333333\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n\n  Backup validator \ud83d\udda5\ufe0f \ud83d\udee1\ufe0f:\n  ID: ValidatorIdentity444444444444444444444444444\n  Gossip: \u2705 OK (33.33.33.333)\n  Leader scheduler:  \u2705 OK (not a leader scheduled validator)\n\n  To request access, sign the following message with your validator's identity key:\n\n  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n
Nota l'output alla fine di questo comando. \u00c8 la struttura per il passo successivo.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#4-genera-la-firma","title":"4. Genera la Firma","text":"

Alla fine dell'ultimo passo, abbiamo ricevuto un output pre-formattato per solana sign-offchain-message

Dall'output sopra eseguiremo questo comando sulla macchina del Validatore Primario.

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

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"it/DZ%20Mainnet-beta%20Connection/#5-avvia-una-richiesta-di-connessione-in-doublezero","title":"5. Avvia una Richiesta di Connessione in DoubleZero","text":"

Usa il comando request-validator-access per creare un account su Solana per la richiesta di connessione. L'agente DoubleZero Sentinel rileva il nuovo account, valida la sua identit\u00e0 e firma, e crea il pass di accesso in DoubleZero in modo che il server possa stabilire una connessione.

Usa il node ID, il DoubleZeroID e la firma.

Note

In questo esempio usiamo -k /home/user/.config/solana/id.json per trovare l'Identit\u00e0 del validatore. Usa la posizione appropriata per il tuo deployment locale.

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

Output:

Questo output pu\u00f2 essere usato per vedere la transazione su un explorer Solana. Assicurati di cambiare l'explorer su mainnet. Questa verifica \u00e8 facoltativa.

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n

Se ha successo, DoubleZero registrer\u00e0 il primario con i suoi backup. Ora puoi fare failover tra gli IP registrati nel pass di accesso. DoubleZero manterr\u00e0 automaticamente la connettivit\u00e0 quando passi ai nodi di backup registrati in questo modo.

"},{"location":"it/DZ%20Mainnet-beta%20Connection/#6-connettiti-in-modalita-ibrl","title":"6. Connettiti in Modalit\u00e0 IBRL","text":"

Sul server, con l'utente che si connetter\u00e0 a DoubleZero, esegui il comando connect per stabilire la connessione a DoubleZero.

doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendi un minuto per il completamento del tunnel GRE. Finch\u00e9 il tunnel GRE non \u00e8 completato, l'output dello stato potrebbe restituire \"down\" o \"Unknown\"

Verifica la tua connessione:

doublezero status\n

Output:

Note

Esamina questo output. Nota che il Tunnel src e il DoubleZero IP corrispondono all'indirizzo IPv4 pubblico sulla tua macchina.

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | mainnet-beta\n
Uno stato up significa che sei connesso con successo.

Potrai visualizzare le route propagate da altri utenti su DoubleZero eseguendo:

ip route\n
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"it/DZ%20Mainnet-beta%20Connection/#passo-successivo-pubblicazione-degli-shred-via-multicast","title":"Passo Successivo: Pubblicazione degli Shred via Multicast","text":"

Se hai completato questa configurazione e prevedi di pubblicare shred via multicast, procedi alla pagina successiva.

"},{"location":"it/DZ%20Testnet%20Connection/","title":"Connessione Validatore Testnet in Modalit\u00e0 IBRL","text":"

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.

Connettendomi al testnet DoubleZero accetto i termini del Contratto di Valutazione indicati qui (clicca per espandere)

DoubleZero Testnet Contratto di Valutazione

Accedendo o utilizzando la Soluzione (definita di seguito), accetti a partire dalla prima data di tale accesso (la \"Data di Efficacia\") che il presente Contratto di Valutazione (il \"Contratto\") stabilisce i termini e le condizioni in base ai quali DoubleZero Foundation (\"DZF\") ti fornir\u00e0 (\"Utente\" o \"tu\") l'accesso alla Soluzione su base di valutazione. In considerazione delle reciproche promesse contenute nel presente, accetti quanto segue:

1. DEFINIZIONI.

1.1 \"Informazioni Riservate\" indica qualsiasi informazione divulgata da una parte all'altra che sia designata come riservata, o che dovrebbe altrimenti essere intesa come riservata, incluse, ma non limitate a, la Soluzione, piani di prodotto, piani aziendali, segreti commerciali, tecnologia o qualsiasi altra informazione proprietaria.

1.2 \"Soluzione\" indica la versione testnet dell'infrastruttura di rete ad alte prestazioni DoubleZero per progetti web3 (\"Testnet\") e il relativo servizio di filtraggio al margine con larghezza di banda integrata (\"Servizio Informativo\"), il Software DZ (definito di seguito), tutti i materiali forniti da DZF relativi al Software DZ (\"Documentazione\") e altri materiali che DZF fornisce all'Utente ai sensi del presente.

2. ACCESSO.

2.1 Accesso alla Soluzione. Subordinatamente ai termini e alle condizioni del presente Contratto, DZF fornir\u00e0 all'Utente l'accesso alla Soluzione tramite Internet. L'accesso dell'Utente \u00e8 un uso limitato, non esclusivo e non trasferibile della Soluzione per consentire all'Utente di valutare il Servizio Informativo. Con riferimento a qualsiasi software che comprende la Soluzione (\"Software DZ\"), DZF concede all'Utente una licenza limitata, revocabile, durante il Periodo di Valutazione, per copiare, scaricare, fare un numero ragionevole di copie, eseguire e distribuire (ove applicabile) tale Software DZ esclusivamente come previsto dalla Documentazione.

2.2 Restrizioni. L'Utente pu\u00f2 utilizzare la Soluzione in conformit\u00e0 al presente Contratto dalla Data di Efficacia fino alla risoluzione da parte di DZF (il \"Periodo di Valutazione\"). L'Utente comprende che qualsiasi diritto di utilizzare la Soluzione oltre il Periodo di Valutazione sar\u00e0 soggetto a un accordo commerciale separato tra le parti al riguardo, incluso il pagamento di commissioni. L'Utente non dovr\u00e0, e non dovr\u00e0 consentire a terzi di: (i) modificare o creare opere derivate basate sulla Soluzione o su qualsiasi sua parte; (ii) riprodurre la Soluzione salvo quanto espressamente consentito dal presente Contratto; (iii) sublicenziare, distribuire, vendere, prestare, affittare, trasferire o concedere diritti sulla Soluzione o fornire accesso alla Soluzione a terzi, su base di service bureau o altrimenti; o (iv) utilizzare la Soluzione diversamente da quanto previsto nel presente.

2.3 Propriet\u00e0. DZF conserva tutti i diritti, titoli e interessi, inclusi i diritti di propriet\u00e0 intellettuale, nella e sulla Soluzione.

3. FEEDBACK. DZF pu\u00f2 periodicamente richiedere che l'Utente fornisca, e l'Utente accetta di fornire a DZF, feedback sull'uso, il funzionamento e la funzionalit\u00e0 della Soluzione (\"Feedback\"). L'Utente concede a DZF un diritto e una licenza non esclusivi, mondiali, perpetui, irrevocabili, esenti da royalty, completamente pagati, completamente sublicenziabili e trasferibili per utilizzare e incorporare il Feedback in qualsiasi prodotto e servizio, per produrre, usare, vendere, offrire in vendita, importare e altrimenti sfruttare tali prodotti e servizi, e per altrimenti usare, copiare, distribuire e sfruttare il Feedback senza restrizioni.

4. DURATA E RISOLUZIONE.

4.1 Durata. Il presente Contratto avr\u00e0 inizio alla Data di Efficacia e rimarr\u00e0 in piena vigenza ed efficacia per il Periodo di Valutazione. Entrambe le parti possono risolvere il presente Contratto immediatamente per convenienza, per qualsiasi motivo o senza motivo, mediante notifica scritta all'altra parte (l'e-mail \u00e8 sufficiente).

4.1 Effetti della Risoluzione. Alla risoluzione del presente Contratto per qualsiasi motivo: (i) i diritti concessi all'Utente ai sensi del presente cesseranno immediatamente; (ii) l'Utente dovr\u00e0 immediatamente interrompere qualsiasi uso della Soluzione e restituire o distruggere tutta la Documentazione e qualsiasi Software DZ sotto il suo controllo; (iii) ciascuna parte dovr\u00e0 prontamente restituire o distruggere tutte le Informazioni Riservate e la propriet\u00e0 dell'altra parte; e (iv) le Sezioni 2.2, 2.3, 3, 4.2 e da 5 a 8 sopravvivranno.

5. RISERVATEZZA. Ciascuna parte accetta di utilizzare le Informazioni Riservate dell'altra parte esclusivamente per adempiere ai propri obblighi ed esercitare i propri diritti ai sensi del presente Contratto e non divulgher\u00e0, n\u00e9 permetter\u00e0 la divulgazione, delle stesse, salvo quanto altrimenti consentito nel presente. Tuttavia, ciascuna parte pu\u00f2 divulgare le Informazioni Riservate al proprio personale, avvocati e altri rappresentanti che abbiano necessit\u00e0 di conoscerle e siano vincolati da obblighi di riservatezza non meno protettivi di quelli stabiliti nel presente Contratto; e come richiesto dalla legge.

6. ESCLUSIONE DI GARANZIE; LIMITAZIONE DI RESPONSABILIT\u00c0.

6.1 ESCLUSIONE DI GARANZIE. LA SOLUZIONE VIENE FORNITA \"COS\u00cc COM'\u00c8\" SENZA GARANZIE DI ALCUN TIPO. DZF NON FORNISCE GARANZIE, ESPRESSE, IMPLICITE, LEGALI O DI ALTRO TIPO CON RIFERIMENTO ALLA SOLUZIONE E ALLA DOCUMENTAZIONE.

6.2 LIMITAZIONE DI RESPONSABILIT\u00c0. SALVO PER UNA VIOLAZIONE DELLE SEZIONI 2.1, 2.2 E 5, IN NESSUN CASO ALCUNA PARTE SAR\u00c0 RESPONSABILE NEI CONFRONTI DELL'ALTRA PER DANNI INDIRETTI, INCIDENTALI, SPECIALI O ALTRI DANNI CONSEQUENZIALI. IN NESSUN CASO LA RESPONSABILIT\u00c0 AGGREGATA DI DZF SUPERER\u00c0 CENTO DOLLARI ($100).

7. LEGGE APPLICABILE. Il presente Contratto e tutte le questioni derivanti da o relative al presente Contratto saranno regolati, interpretati e costruiti in conformit\u00e0 alle leggi delle Isole Cayman. Le eventuali controversie saranno risolte tramite arbitrato amministrato dal Cayman International Mediation & Arbitration Centre (CI-MAC).

8. DISPOSIZIONI GENERALI. Il presente Contratto non pu\u00f2 essere trasferito o ceduto dall'Utente senza il previo consenso scritto di DZF. DZF pu\u00f2 liberamente cedere il presente Contratto. Il presente Contratto, insieme a eventuali allegati, costituisce l'accordo completo tra le parti.

"},{"location":"it/DZ%20Testnet%20Connection/#connessione-al-testnet-in-modalita-ibrl","title":"Connessione al Testnet in Modalit\u00e0 IBRL","text":"

Note

La modalit\u00e0 IBRL non richiede il riavvio dei client validatori, perch\u00e9 utilizza il tuo indirizzo IP pubblico esistente.

I validatori Solana Testnet completeranno la connessione al Testnet DoubleZero, che \u00e8 dettagliata su questa pagina.

Ogni validatore Solana ha il proprio keypair di identit\u00e0; da questo, estrai la chiave pubblica nota come node ID. Questa \u00e8 l'impronta digitale univoca del validatore sulla rete Solana.

Con il DoubleZeroID e il node ID identificati, dimostrerai la propriet\u00e0 della tua macchina. Questo viene fatto creando un messaggio che include il DoubleZeroID firmato con la chiave di identit\u00e0 del validatore. La firma crittografica risultante serve come prova verificabile che controlli il validatore.

Infine, invierai una richiesta di connessione a DoubleZero. Questa richiesta comunica: \"Ecco la mia identit\u00e0, ecco la prova di propriet\u00e0, ed ecco come intendo connettermi.\" DoubleZero valida queste informazioni, accetta la prova e fornisce l'accesso alla rete per il validatore su DoubleZero.

Questa guida consente a 1 Validatore Primario di registrarsi, e fino a 3 macchine di backup/failover contemporaneamente.

"},{"location":"it/DZ%20Testnet%20Connection/#prerequisiti","title":"Prerequisiti","text":"

Info

L'ID Validatore verr\u00e0 verificato con Solana gossip per determinare l'IP target. L'IP target e il DoubleZero ID verranno poi utilizzati per aprire un tunnel GRE tra la tua macchina e il DoubleZero Device target.

"},{"location":"it/DZ%20Testnet%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al testnet DoubleZero:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Dovresti vedere il seguente output:
\u2705 doublezerod configured for environment testnet\n

Dopo circa 30 secondi vedrai i dispositivi DoubleZero disponibili:

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

L'output del Mainnet sar\u00e0 identico nella struttura, ma con molti pi\u00f9 dispositivi disponibili.

"},{"location":"it/DZ%20Testnet%20Connection/#2-apri-la-porta-44880","title":"2. Apri la porta 44880","text":"

Gli utenti devono aprire la porta 44880 per utilizzare alcune funzionalit\u00e0 di routing.

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

nota i flag -i doublezero0, -o doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

O UFW:

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

nota i flag in on doublezero0, out on doublezero0 che limitano questa regola solo all'interfaccia DoubleZero

"},{"location":"it/DZ%20Testnet%20Connection/#3-attesta-la-proprieta-del-validatore","title":"3. Attesta la Propriet\u00e0 del Validatore","text":"

In ordine per fare questo verificherai prima che la macchina da cui stai eseguendo i comandi sia il tuo Validatore Primario con:

doublezero-solana passport find-validator -ut\n

Output atteso:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 11.11.11.111\nValidator ID: ValidatorIdentity111111111111111111111111111\nGossip IP: 11.11.11.111\nIn Leader scheduler\n\u2705 This validator can connect as a primary in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udc8e. It is a leader scheduled validator.\n

Ora, su tutte le macchine di backup:

doublezero-solana passport find-validator -ut\n

Output atteso:

Connected to Solana: testnet\n\nDoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111\nDetected public IP: 22.22.22.222\nValidator ID: ValidatorIdentity222222222222222222222222222\nGossip IP: 22.22.22.222\nIn Not in Leader scheduler\n \u2705 This validator can only connect as a backup in DoubleZero \ud83d\udda5\ufe0f  \ud83d\udedf. It is not leader scheduled and cannot act as a primary validator.\n
"},{"location":"it/DZ%20Testnet%20Connection/#prepara-la-connessione","title":"Prepara la Connessione","text":"
doublezero-solana passport prepare-validator-access -ut \\\n  --doublezero-address YourDoubleZeroAddress11111111111111111111111111111 \\\n  --primary-validator-id ValidatorIdentity111111111111111111111111111 \\\n  --backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444>\n
"},{"location":"it/DZ%20Testnet%20Connection/#4-genera-la-firma","title":"4. Genera la Firma","text":"
  solana sign-offchain-message \\\n     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n     -k <identity-keypair-file.json>\n

Output:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7\n
"},{"location":"it/DZ%20Testnet%20Connection/#5-avvia-una-richiesta-di-connessione-in-doublezero","title":"5. Avvia una Richiesta di Connessione in DoubleZero","text":"
doublezero-solana passport request-validator-access -k <path to keypair> -ut \\\n--primary-validator-id ValidatorIdentity111111111111111111111111111 \\\n--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \\\n--signature Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7 --doublezero-address YourDoubleZeroAddress11111111111111111111111111111\n

Output:

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp\n
"},{"location":"it/DZ%20Testnet%20Connection/#6-connettiti-in-modalita-ibrl","title":"6. Connettiti in Modalit\u00e0 IBRL","text":"
doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

Verifica la tua connessione:

doublezero status\n
 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"it/DZ%20Testnet%20Connection/#passo-successivo-pubblicazione-degli-shred-via-multicast","title":"Passo Successivo: Pubblicazione degli Shred via Multicast","text":"

Se hai completato questa configurazione e prevedi di pubblicare shred via multicast, procedi alla pagina successiva.

"},{"location":"it/New%20Tenant/","title":"Nuovo Tenant","text":"

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.

Se desideri che il tuo sistema distribuito sfrutti la rete DoubleZero, siamo lieti di assisterti con qualsiasi domanda tecnica tu possa avere.

Modulo di Contatto

"},{"location":"it/Other%20Multicast%20Connection/","title":"Altra Connessione Multicast","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

Caso d'Uso Primo Passo Quando approvato, connettiti tramite: Iscriversi a Jito Shredstream Contatta Jito per l'approvazione. doublezero connect multicast --subscribe jito-shredstream

Informazioni dettagliate sulla connessione:

"},{"location":"it/Other%20Multicast%20Connection/#1-installazione-client-doublezero","title":"1. Installazione Client DoubleZero","text":"

Segui le istruzioni di setup per installare e configurare il client DoubleZero.

"},{"location":"it/Other%20Multicast%20Connection/#2-istruzioni-di-connessione","title":"2. Istruzioni di Connessione","text":"

Connettiti a DoubleZero in Modalit\u00e0 Multicast Come publisher:

doublezero connect multicast --publish <nome feed>

o come subscriber:

doublezero connect multicast --subscribe <nome feed>

o per pubblicare e sottoscrivere:

doublezero connect multicast --publish <nome feed> --subscribe <nome feed>

Per pubblicare o sottoscrivere a pi\u00f9 feed puoi includere pi\u00f9 nomi di feed separati da spazi. Questo pu\u00f2 essere usato anche per pubblicare e sottoscrivere feed di pubblicazione. Ad esempio doublezero connect multicast --subscribe feed1 feed2 feed3

Dovresti vedere un output simile al seguente:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User to devnet...\nPublic IP detected: 137.174.145.145 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n    DoubleZero ID: <your dz_id>\n\ud83d\udd0d  Provisioning User for IP: <your public ip>\n    Creating an account for the IP: <your public ip>\n    The Device has been selected: <the doublezero device you are connecting to>\n    Service provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"it/Other%20Multicast%20Connection/#3-verifica-la-tua-connessione-multicast-attiva","title":"3. Verifica la tua connessione multicast attiva.","text":"

Attendi 60 secondi e poi esegui

doublezero status\n
Risultato atteso: - Sessione BGP attiva sulla rete DoubleZero corretta - Se sei un publisher, il tuo IP DoubleZero sar\u00e0 diverso dall'IP Tunnel Src. \u00c8 previsto. - Se sei solo un subscriber, il tuo IP DoubleZero sar\u00e0 uguale all'IP Tunnel Src.

~$ doublezero status\n Tunnel Status  | Last Session Update     | Tunnel Name | Tunnel Src      | Tunnel Dst | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro   | Network\n BGP Session Up | 2026-02-11 20:46:20 UTC | doublezero1 | 137.174.145.145 | 100.0.0.1  | 198.18.0.1    | Multicast | ams-dz001      | \u2705 ams-dz001         | Amsterdam | Testnet\n

Verifica i gruppi a cui sei connesso:

doublezero user list --client-ip <il tuo ip>\n

account user_type groups device location cyoa_type client_ip dz_ip accesspass tunnel_id tunnel_net status owner wQWmt7L6mTyszhyLywJeTk85KJhe8BGW4oCcmxbhaxJ Multicast P:mg02 ams-dz001 Amsterdam GREOverDIA 137.174.145.145 198.18.0.1 Prepaid: (MAX) 515 169.254.3.58/31 activated DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan"},{"location":"it/Permissioned%20Connection/","title":"Connessione con Permesso Non-Validatore a DoubleZero in Modalit\u00e0 IBRL","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

"},{"location":"it/Permissioned%20Connection/#panoramica-dellonboarding-degli-utenti-con-permesso","title":"Panoramica dell'Onboarding degli Utenti con Permesso","text":"

L'onboarding degli utenti \u00e8 attualmente con permesso per i non-validatori e gli RPC. Per iniziare il flusso con permesso, compila questo modulo. Ecco cosa aspettarsi durante questo processo:

"},{"location":"it/Permissioned%20Connection/#connessione-a-mainnet-beta-e-testnet-in-modalita-ibrl","title":"Connessione a Mainnet-Beta e Testnet in Modalit\u00e0 IBRL","text":"

Note

La modalit\u00e0 IBRL non richiede il riavvio dei client validatori, perch\u00e9 utilizza il tuo indirizzo IP pubblico esistente.

Gli Utenti con Permesso completeranno la connessione a DoubleZero Mainnet-beta, che \u00e8 dettagliata su questa pagina.

"},{"location":"it/Permissioned%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

L'ultimo passo del setup era disconnettersi dalla rete. Questo serve a garantire che sia aperto solo un tunnel sulla tua macchina verso DoubleZero, e che quel tunnel sia sulla rete corretta.

Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al testnet DoubleZero:

DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al mainnet-beta DoubleZero:
DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

Dovresti vedere il seguente output:

\u2705 doublezerod configured for environment mainnet-beta\n
Dovresti vedere il seguente output: \u2705 doublezerod configured for environment testnet

Dopo circa 30 secondi vedrai i dispositivi DoubleZero disponibili:

doublezero latency\n
Esempio di output (Testnet)
 pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.74ms   | 1.92ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.88ms   | 4.39ms   | 2.72ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.45ms   | 3.30ms   | 2.74ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.88ms   | 5.13ms   | 3.02ms   | true\n uzyg9iYw2FEbtdTHaDb5HoeEWYAPRPQgvsgyd873qPS  | nyc001-dz002  | 4.42.212.122    | 3.17ms   | 3.63ms   | 3.33ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.33ms   | 5.46ms   | 3.39ms   | true\n 9oKLaL6Hwno5TyAFutTbbkNrzxm1fw9fhzkiUHgsxgGx | dz-dc10-sw01  | 137.239.200.186 | 6.84ms   | 7.01ms   | 6.91ms   | true\n DESzDP8GkSTpQLkrUegLkt4S2ynGfZX5bTDzZf3sEE58 | was001-dz002  | 38.88.214.133   | 7.39ms   | 7.44ms   | 7.41ms   | true\n HHNCpqB7CwHVLxAiB1S86ko6gJRzLCtw78K1tc7ZpT5P | was001-dz001  | 66.198.11.74    | 7.67ms   | 7.85ms   | 7.76ms   | true\n 9LFtjDzohKvCBzSquQD4YtL3HwuvkKBDE7KSzb8ztV2b | dz-mtl11-sw01 | 134.195.161.10  | 9.88ms   | 10.01ms  | 9.95ms   | true\n 9M7FfYYyjM4wGinKPofZRNmQFcCjCKRbXscGBUiXvXnG | dz-tor1-sw01  | 209.42.165.10   | 14.52ms  | 14.53ms  | 14.52ms  | true\n
L'output del Testnet sar\u00e0 identico nella struttura, ma con molti pi\u00f9 dispositivi disponibili.

"},{"location":"it/Permissioned%20Connection/#2-contatta-la-doublezero-foundation","title":"2. Contatta la DoubleZero Foundation","text":"

La DoubleZero Foundation. Dovrai fornire il tuo DoubleZeroID, il tuo ID Validatore (node ID) e il indirizzo IPv4 pubblico da cui ti connetterai.

"},{"location":"it/Permissioned%20Connection/#3-connettiti-in-modalita-ibrl","title":"3. Connettiti in Modalit\u00e0 IBRL","text":"

Sul server, con l'utente che si connetter\u00e0 a DoubleZero, esegui il comando connect per stabilire la connessione a DoubleZero.

doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendi un minuto per il completamento del tunnel. Finch\u00e9 il tunnel non \u00e8 completato, l'output dello stato potrebbe restituire \"down\" o \"Unknown\"

Verifica la tua connessione:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Uno stato up significa che sei connesso con successo.

Potrai visualizzare le route propagate da altri utenti su DoubleZero eseguendo:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"it/Permissioned%20Connection/#passo-successivo-multicast","title":"Passo Successivo: Multicast","text":"

Se hai completato questa configurazione e prevedi di usare il Multicast, procedi alla pagina successiva.

"},{"location":"it/Shelby%20Permissioned%20Connection/","title":"Connessione a DoubleZero in Modalit\u00e0 IBRL per Utenti Shelby Testnet","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

"},{"location":"it/Shelby%20Permissioned%20Connection/#ottieni-il-tuo-doublezeroid","title":"Ottieni il tuo DoubleZeroID","text":"

Dovrai fornire il tuo DoubleZeroID e il indirizzo IPv4 pubblico in questo modulo

"},{"location":"it/Shelby%20Permissioned%20Connection/#connessione-al-testnet-in-modalita-ibrl","title":"Connessione al Testnet in Modalit\u00e0 IBRL","text":"

Gli utenti con permesso Shelby completeranno la connessione al Testnet DoubleZero, che \u00e8 dettagliata su questa pagina.

"},{"location":"it/Shelby%20Permissioned%20Connection/#1-configurazione-dellambiente","title":"1. Configurazione dell'Ambiente","text":"

Segui le istruzioni di setup prima di procedere.

L'ultimo passo del setup era disconnettersi dalla rete. Questo serve a garantire che sia aperto solo un tunnel sulla tua macchina verso DoubleZero, e che quel tunnel sia sulla rete corretta.

Per configurare la CLI DoubleZero Client (doublezero) per connettersi al tenant Shelby su DoubleZero:

doublezero config set --tenant shelby\n

Applica regole firewall aggiuntive specifiche per Shelby:

iptables:

sudo iptables -A INPUT -i doublezero0 -p tcp --dport 39431 -j ACCEPT\nsudo iptables -A INPUT -p tcp --dport 39431 -j DROP\n

UFW:

sudo ufw allow in on doublezero0 to any port 39431 proto tcp\nsudo ufw deny in to any port 39431 proto tcp\n

"},{"location":"it/Shelby%20Permissioned%20Connection/#2-contatta-la-doublezero-foundation","title":"2. Contatta la DoubleZero Foundation","text":"

La DoubleZero Foundation. Dovrai fornire il tuo DoubleZeroID e il indirizzo IPv4 pubblico da cui ti connetterai.

"},{"location":"it/Shelby%20Permissioned%20Connection/#3-connettiti-in-modalita-ibrl","title":"3. Connettiti in Modalit\u00e0 IBRL","text":"

Sul server, con l'utente che si connetter\u00e0 a DoubleZero, esegui il comando connect per stabilire la connessione a DoubleZero.

doublezero connect ibrl\n

Dovresti vedere un output che indica il provisioning, come:

DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic 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`\n\ud83d\udd0d  Provisioning User for IP: 137.184.101.183\n    User account created\n    Connected to device: nyc-dz001\n    The user has been successfully activated\n    Service provisioned with status: ok\n\u2705  User Provisioned\n
Attendi un minuto per il completamento del tunnel. Finch\u00e9 il tunnel non \u00e8 completato, l'output dello stato potrebbe restituire \"down\" o \"Unknown\"

Verifica la tua connessione:

doublezero status\n

Output:

Tunnel status | Last Session Update     | Tunnel Name | Tunnel src      | Tunnel dst   | DoubleZero IP   | User Type\nup            | 2025-09-10 12:16:03 UTC | doublezero0 | 137.184.101.183 | 64.86.249.22 | 137.184.101.183 | IBRL\n
Uno stato up significa che sei connesso con successo.

Potrai visualizzare le route propagate da altri utenti su DoubleZero eseguendo:

ip route\n
Output:

default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100\n5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64\n...\n
"},{"location":"it/Swapping-sol-to-2z/","title":"Swapping sol to 2z","text":"

Prima di accedere o utilizzare il codice o i materiali correlati, si prega di leggere il disclaimer.

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.

Disclaimer

Il presente documento e il codice correlato vengono forniti esclusivamente a scopo informativo e tecnico. La funzionalit\u00e0 di conversione token descritta in questo documento \u00e8 di tipo non-custodial. Gli utenti interagiscono direttamente con gli smart contract sottostanti, mantenendo sempre il controllo completo dei propri asset.

Il sistema pu\u00f2 dipendere da o interagire con codice di terze parti, fonti di dati o meccanismi di prezzo e commissioni (ad esempio smart contract, API o exchange decentralizzati) non sviluppati, gestiti o revisionati dagli sviluppatori e dagli emittenti. Non vengono fornite dichiarazioni o garanzie sull'accuratezza, la funzionalit\u00e0 o la sicurezza dei componenti di terze parti. Gli sviluppatori e gli emittenti di questo codice non garantiscono la sua accuratezza, completezza o disponibilit\u00e0 continua. Il codice e i materiali correlati vengono forniti \"COS\u00cc COME SONO\" e possono contenere errori, difetti o vulnerabilit\u00e0. L'utilizzo \u00e8 a proprio rischio. Gli sviluppatori e gli emittenti non riceveranno alcuna commissione per l'utilizzo di questi contratti. Non vi \u00e8 alcun obbligo di mantenimento, aggiornamento o supporto del codice o della documentazione correlata.

Il presente documento non costituisce un'offerta, una sollecitazione o una raccomandazione a partecipare alla conversione di token, allo scambio o ad altre transazioni. Non vengono forniti consulenze legali, finanziarie o di investimento. Gli utenti sono i soli responsabili della determinazione della legalit\u00e0 delle proprie attivit\u00e0. Prima di utilizzare il codice o partecipare alle conversioni, \u00e8 necessario consultare le leggi e i regolamenti applicabili nella propria giurisdizione e consultare consulenti indipendenti. L'uso \u00e8 vietato dove illegale, incluso da parte di persone o organizzazioni sanzionate o da regioni soggette a restrizioni.

Nella misura massima consentita dalla legge, gli sviluppatori e gli emittenti declinano qualsiasi responsabilit\u00e0 per perdite, danni o reclami derivanti da o correlati all'uso del codice o alla partecipazione alle conversioni.

La revisione e l'utilizzo del presente documento e del codice correlato sono soggetti ai Termini di Utilizzo del Sito Web e ai Termini di Utilizzo del Protocollo.

Il protocollo DoubleZero raccoglie le entrate dagli utenti validatori denominate in SOL, ma distribuisce le ricompense ai contributori denominate in 2Z. Pertanto, \u00e8 necessario convertire SOL in 2Z.

A tal fine, i partecipanti idonei possono negoziare con il contratto di conversione DoubleZero, acquistando SOL dal contratto e vendendo 2Z. Il pricing si basa sui feed di prezzo Pyth e su un meccanismo di sconto programmato.

Questa guida descrive come utilizzare il programma.

Prima di accedere o utilizzare questo documento e il codice correlato, si prega di leggere il disclaimer in fondo al documento.

"},{"location":"it/Swapping-sol-to-2z/#design-del-programma","title":"Design del Programma","text":"

Il programma di conversione \u00e8 essenzialmente un pool di liquidit\u00e0 unilaterale, con una dimensione batch fissa di 1 SOL per ogni transazione. I partecipanti idonei possono depositare 2Z e prelevare SOL dal programma, con il prezzo determinato dal prezzo oracolo Pyth e da uno sconto dinamico. Nel tempo, questo realizza l'obiettivo di convertire il token nativo del programma in 2Z.

Per utilizzare il programma, i trader devono fornire due prezzi Pyth recenti (SOL/USD e 2Z/USD) e la quantit\u00e0 di 2Z. Il programma calcola quindi la quantit\u00e0 di 2Z necessaria per acquistare 1 SOL basandosi sul prezzo SOL/2Z implicito. Vengono poi eseguiti alcuni passaggi aggiuntivi:

\\[ \\text{discount} = \\min\\{0.00002 \\times \\left(s_{\\text{now}} - s_{\\text{last}}\\right), 0.01\\} \\]

A questo punto, se il trader fornisce abbastanza 2Z per eseguire la transazione al prezzo calcolato (incluso lo sconto), la transazione verr\u00e0 eseguita a quel prezzo. Il trader ricever\u00e0 il SOL acquistato e il 2Z in eccesso.

Il contratto non consente quindi ulteriori transazioni nello stesso slot. Questo per evitare che il contratto paghi uno slippage eccessivo nel caso in cui il prezzo Pyth si discosti troppo dal prezzo reale in qualsiasi momento (al di l\u00e0 di quanto possono catturare i filtri esistenti).

"},{"location":"it/Swapping-sol-to-2z/#esecuzione-atomica-senza-gas","title":"Esecuzione Atomica Senza Gas","text":"

Questa sezione descrive l'utilizzo del comando harvest-dz. Questo comando esegue atomicamente due operazioni: 1. Il comando richiede a Jupiter una quotazione contro il programma di conversione SOL nativo <> 2Z. 2. Se il routing Jupiter produce pi\u00f9 2Z/SOL rispetto a quanto richiesto dal programma di conversione SOL nativo, harvest-2z eseguir\u00e0 la conversione e restituir\u00e0 al portafoglio 1 SOL e la differenza in 2Z.

"},{"location":"it/Swapping-sol-to-2z/#raccolta-di-2z","title":"Raccolta di 2Z","text":"

Per eseguire, esegui il seguente comando:

doublezero-solana revenue-distribution harvest-2z\n
L'output sar\u00e0 simile al seguente:
Harvested 5.98151278 2Z tokens with 1.000000000 SOL\n
Il comando pu\u00f2 anche essere simulato usando il parametro --dry-run. L'esecuzione a secco generer\u00e0 log del programma e un output come il seguente:

Simulated harvesting 5.98151278 2Z tokens with 1.000000000 SOL\n
"},{"location":"it/Swapping-sol-to-2z/#conversione-tramite-protocollo","title":"Conversione Tramite Protocollo","text":"

Questa sezione descrive come controllare il tasso di conversione e come eseguire la conversione usando la CLI doublezero-solana. Infine, descrive l'interfaccia per integrazioni personalizzate con il contratto di conversione DoubleZero.

"},{"location":"it/Swapping-sol-to-2z/#come-controllare-il-prezzo-di-conversione-sol2z-tramite-doublezero-solana","title":"Come controllare il prezzo di conversione SOL/2Z tramite doublezero-solana","text":"

Per controllare il tasso di conversione SOL/2Z su Mainnet Beta, esegui il seguente comando:

doublezero-solana revenue-distribution fetch sol-conversion\n

L'output visualizzato sar\u00e0 simile al seguente:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 805.72612992  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 805.38772494  | Includes 0.04200000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

Il Journal Balance informa l'utente di quanta liquidit\u00e0 SOL \u00e8 disponibile nello smart contract di distribuzione delle entrate. Finch\u00e9 il Journal Balance supera la dimensione della transazione fissa di 1 SOL, l'utente pu\u00f2 negoziare.

La prima riga mostra il prezzo di conversione SOL/2Z \"reale\" dell'oracolo off-chain. La seconda riga \u00e8 il prezzo di conversione utilizzato dalla conversione on-chain, che \u00e8 il prezzo reale aggiustato per lo sconto algoritmico.

"},{"location":"it/Swapping-sol-to-2z/#come-convertire-2z-in-sol-tramite-doublezero-solana","title":"Come convertire 2Z in SOL tramite doublezero-solana","text":"

Per convertire token 2Z in SOL, esegui il seguente comando:

doublezero-solana revenue-distribution convert-2z\n

Per impostazione predefinita, questa transazione avr\u00e0 successo se c'\u00e8 sufficiente liquidit\u00e0 SOL e abbastanza 2Z nell'ATA per eseguire la conversione. Specificando i seguenti parametri, puoi avere un controllo pi\u00f9 granulare sulla conversione:

      --limit-price <DECIMAL>                    Il prezzo limite predefinito \u00e8 il prezzo oracolo SOL/2Z corrente\n      --source-2z-account <PUBKEY>               L'account token deve essere di propriet\u00e0 del firmatario. Se non specificato, il valore predefinito \u00e8 l'ATA del firmatario\n      --checked-sol-amount <SOL>                 Controlla esplicitamente l'importo SOL. Se specificato, questo importo verr\u00e0 verificato rispetto alla quantit\u00e0 di riempimento fissa\n

Il prezzo limite specificato determina il prezzo peggiore che sei disposto ad accettare quando esegui la conversione SOL/2Z. Ad esempio, supponiamo che il prezzo 2Z scontato di SOL sia 800 (800 token 2Z per 1 SOL). Se specifichi un prezzo limite di 790, non sei disposto a scambiare pi\u00f9 di 790 token 2Z per 1 SOL, quindi non verr\u00e0 tentata la conversione. Ma se specifichi 810, sei disposto a scambiare fino a 810 token 2Z (in questo caso, solo 800 token 2Z in questa transazione), quindi la transazione passer\u00e0.

L'account token 2Z di origine sovrascrive l'ATA predefinito, usando il firmatario come proprietario di questo ATA 2Z. Tuttavia, se hai un altro account token che vuoi usare per la conversione, fornisci la sua chiave pubblica tramite questo parametro.

Come opzione, puoi specificare l'importo SOL da verificare rispetto alla dimensione di riempimento standard (impostata a 1 SOL all'avvio). Se non corrisponde alla dimensione di riempimento del programma, la conversione fallir\u00e0. Questo riduce il rischio di non accorgersi che la dimensione di riempimento del programma \u00e8 cambiata.

"},{"location":"it/Swapping-sol-to-2z/#interfaccia-per-lacquisto-di-sol","title":"Interfaccia per l'Acquisto di SOL","text":"

L'interfaccia e la CLI doublezero-solana si trovano in questo repository. Il codice sorgente dell'interfaccia del contratto di conversione DoubleZero \u00e8 qui. Il Program ID \u00e8 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs.

Un metodo conveniente per generare gli account necessari per l'istruzione buy SOL \u00e8 usare il metodo new (in instruction/account.rs):

pub fn new(\n    fill_registry_key: &Pubkey,\n    user_token_account_key: &Pubkey,\n    dz_mint_key: &Pubkey,\n    user_key: &Pubkey,\n) -> Self;\n

fill_registry_key pu\u00f2 essere ottenuto da ProgramState

pub struct ProgramState {\n    pub admin_key: Pubkey,\n    pub fills_registry_key: Pubkey, // questa chiave\n    pub is_paused: bool,\n    pub configuration_registry_bump: u8,\n    pub program_state_bump: u8,\n    pub deny_list_registry_bump: u8,\n    pub withdraw_authority_bump: u8,\n    pub last_trade_slot: u64,\n    pub deny_list_authority: Pubkey,\n}\n

In alternativa, puoi chiamare getProgramAccounts con il discriminatore tramite Solana RPC. Tuttavia, poich\u00e9 questa chiave pubblica non cambier\u00e0 mai, si raccomanda di metterla in cache.

user_key \u00e8 il firmatario dell'istruzione buy SOL e deve essere il proprietario di user_token_account_key. Come descritto sopra, non deve essere necessariamente l'ATA. Finch\u00e9 l'account token 2Z \u00e8 di propriet\u00e0 di user_key, l'istruzione avr\u00e0 successo.

La struttura BuySolAccounts implementa Into<Vec<AccountMeta>>, quindi pu\u00f2 generare tutti i metadati degli account necessari per costruire l'istruzione.

I dati dell'istruzione sono

    SolConversionInstructionData::BuySol {\n        limit_price: u64,\n        oracle_price_data: OraclePriceData,\n    },\n

Questi dati dell'istruzione sono serializzati con Borsh, con un selettore Anchor di 8 byte, serializzando tutto con BorshSerialize::serialize.

I dati del prezzo oracolo possono essere ottenuti da questo endpoint pubblico: https://sol-2z-oracle-api-v1.mainnet-beta.doublezero.xyz/swap-rate. I dati possono essere deserializzati usando la struttura OraclePriceData in oracle.rs tramite serde.

#[derive(Debug, BorshDeserialize, BorshSerialize, Clone, Default, PartialEq, Eq)]\n#[cfg_attr(\n    feature = \"serde\",\n    derive(serde::Deserialize),\n    serde(rename_all = \"camelCase\")\n)]\npub struct OraclePriceData {\n    pub swap_rate: u64,\n    pub timestamp: i64,\n    pub signature: String,\n}\n

Esempio di recupero usando il crate reqwest:

use anyhow::{Context, Result};\n\npub async fn try_request_oracle_conversion_price(oracle_endpoint: &str) -> Result<OraclePriceData> {\n    reqwest::Client::new()\n        .get(oracle_endpoint)\n        .header(\"User-Agent\", \"SOL buyoooooooor\")\n        .send()\n        .await?\n        .json()\n        .await\n        .with_context(|| format!(\"Failed to request SOL/2Z price from {oracle_endpoint}\"))\n}\n

Con il Program ID, gli account e i dati dell'istruzione, dovresti essere in grado di costruire l'istruzione per acquistare SOL dal contratto di conversione DoubleZero.

"},{"location":"it/Validator%20Multicast%20Connection/","title":"Connessione Multicast Validatore","text":"

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.

Connettendomi a DoubleZero accetto i Termini di Servizio DoubleZero

Se non sei ancora connesso a DoubleZero, completa prima la documentazione di Setup e di connessione Mainnet-Beta per validatori.

Se sei un validatore gi\u00e0 connesso a DoubleZero, puoi continuare con questa guida.

"},{"location":"it/Validator%20Multicast%20Connection/#jito-agave-versione-319-o-superiore","title":"Jito-Agave (versione 3.1.9 o superiore)","text":"
  1. Nel tuo script di avvio del validatore, aggiungi: --shred-receiver-address 233.84.178.1:7733

    Puoi inviare a Jito e al gruppo bebop contemporaneamente.

    esempio:

    #!/bin/bash\nexport PATH=\"/home/sol/.local/share/solana/install/releases/v3.1.9-jito/bin:$PATH\"\nBLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf\nRELAYER_URL=http://ny.mainnet.relayer.jito.wtf:8100\nSHRED_RECEIVER_ADDR=<JitoBlockEngineAddress>\n<...Il resto della tua configurazione...>\n--shred-receiver-address 233.84.178.1:7733\n
  2. Riavvia il tuo validatore.

  3. Connettiti al gruppo multicast DoubleZero bebop come publisher: doublezero connect multicast --publish bebop

"},{"location":"it/Validator%20Multicast%20Connection/#frankendancer","title":"Frankendancer","text":"
  1. In config.toml, aggiungi:
    [tiles.shred]\nadditional_shred_destinations_leader = [ \"233.84.178.1:7733\", ]\n
  2. Riavvia il tuo validatore.

  3. Connettiti al gruppo multicast DoubleZero bebop come publisher: doublezero connect multicast --publish bebop

Note

Gli utenti Frankendancer in modalit\u00e0 driver XDP non possono usare tcpdump. Al momento non c'\u00e8 modo di confermare che stai pubblicando, ma una soluzione sar\u00e0 disponibile a breve.

"},{"location":"it/Validator%20Multicast%20Connection/#conferma-che-stai-pubblicando","title":"Conferma che stai pubblicando","text":"

Durante il tuo prossimo slot leader, usa tcpdump per confermare che stai pubblicando nel gruppo multicast. Dovresti vedere un heartbeat ogni 10 secondi per verificare che stai pubblicando shred.

Esegui: sudo tcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765

Esempio di output quando si pubblica:

tcpdump: verbose output suppressed, use -v[v]... for full protocol decode\ntcpdump: verbose output suppressed, use -v[v]... for full protocol decodetcpdump -vv -c5 -ni doublezero1 port 7733 or port 5765\ntcpdump: listening on doublezero1, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes\n21:53:11.018243 IP (tos 0x0, ttl 32, id 47109, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:21.018217 IP (tos 0x0, ttl 32, id 47558, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:31.018042 IP (tos 0x0, ttl 32, id 47919, offset 0, flags [DF], proto UDP (17), length 32)\n    148.51.120.2.38319 > 233.84.178.1.5765: [bad udp cksum 0xa7a9 -> 0x67ba!] UDP, length 4\n21:53:32.822061 IP (tos 0x0, ttl 64, id 5721, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0xadfc!] UDP, length 1203\n21:53:32.822110 IP (tos 0x0, ttl 64, id 5722, offset 0, flags [DF], proto UDP (17), length 1231)\n    148.51.120.2.57512 > 233.84.178.1.7733: [bad udp cksum 0xac58 -> 0x9e62!] UDP, length 1203\n5 packets captured\n204 packets received by filter\n0 packets dropped by kernel\n
"},{"location":"it/architecture/","title":"Architettura","text":"

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.

Quali sono i diversi attori e componenti della rete DoubleZero?

Figura 1: Componenti dell'architettura di rete"},{"location":"it/architecture/#contributori","title":"Contributori","text":"

La rete DoubleZero \u00e8 composta da contributi di connettivit\u00e0 ed elaborazione di pacchetti da parte di una comunit\u00e0 in crescita di provider distribuiti di infrastrutture di rete in citt\u00e0 di tutto il mondo. I contributori portano al protocollo link in fibra ottica e risorse di elaborazione delle informazioni per fornire la rete mesh decentralizzata.

"},{"location":"it/architecture/#contributori-di-larghezza-di-banda-di-rete","title":"Contributori di Larghezza di Banda di Rete","text":"

I contributori di rete devono fornire larghezza di banda dedicata tra due punti, operare dispositivi compatibili con DoubleZero (DZD) a ciascuna estremit\u00e0, e una connessione a internet a ciascuna estremit\u00e0. I contributori di rete devono anche eseguire software DoubleZero su ogni DZD per fornire servizi come multicast, ricerca utenti e servizi di filtraggio al margine.

I link fisici della rete DoubleZero sono forniti sotto forma di cavi in fibra ottica, comunemente denominati servizi a lunghezza d'onda. I contributori di rete destinano link di rete sottoutilizzati, di propriet\u00e0 o in locazione da provider di infrastrutture, tra due o pi\u00f9 data center. Questi link sono terminati ad entrambe le estremit\u00e0 da DoubleZero Device, che sono enclosure di switching di rete fisiche che eseguono istanze del software DoubleZero Agent.

"},{"location":"it/architecture/#doublezero-exchange-dzx-sito-di-cross-connect","title":"DoubleZero Exchange (DZX / Sito di Cross-connect)","text":"

Le DoubleZero Exchange (DZX) sono punti di interconnessione nella rete mesh dove diversi link dei contributori vengono collegati insieme. Le DZX sono situate nelle principali aree metropolitane del mondo dove si verificano le intersezioni di rete. I contributori di rete devono cross-connectare i propri link nella pi\u00f9 ampia rete mesh DoubleZero presso le DZX geograficamente pi\u00f9 vicine ai loro endpoint di link.

"},{"location":"it/architecture/#contributori-di-risorse-computazionali","title":"Contributori di Risorse Computazionali","text":"

Separatamente dai contributori di rete, i contributori di risorse sono un gruppo decentralizzato di partecipanti alla rete che svolgono vari compiti di manutenzione e monitoraggio necessari per sostenere l'integrit\u00e0 tecnica e la funzionalit\u00e0 continua della rete DoubleZero. Nello specifico, essi (i) tracciano le transazioni e i pagamenti degli utenti; (ii) calcolano le commissioni per i contributori di rete; (iii) registrano i risultati di (i) e (ii); (iv) amministrano, in modo strettamente non discrezionale, gli smart contract che controllano la tokenomica del protocollo; (v) trasmettono attestazioni alla blockchain applicabile; e (vi) pubblicano dati di telemetria sulla qualit\u00e0 e l'utilizzo dei link per fornire metriche di prestazione in tempo reale e trasparenti per tutti i contributori di rete.

"},{"location":"it/architecture/#componenti","title":"Componenti","text":""},{"location":"it/architecture/#doublezero-daemon","title":"DoubleZero Daemon","text":"

Il software DoubleZero Daemon viene eseguito su server che necessitano di comunicare sulla rete DoubleZero. Il daemon si interfaccia con lo stack di rete del kernel dell'host per creare e gestire interfacce tunnel, tabelle di routing e route.

"},{"location":"it/architecture/#activator","title":"Activator","text":"

Il servizio Activator, ospitato da uno o pi\u00f9 membri contributori di risorse computazionali della comunit\u00e0 DoubleZero, monitora gli eventi contrattuali che richiedono allocazioni di indirizzi IP e cambiamenti di stato e gestisce tali cambiamenti per conto della rete.

"},{"location":"it/architecture/#controller","title":"Controller","text":"

Il servizio Controller, ospitato da uno o pi\u00f9 contributori di risorse computazionali della comunit\u00e0 DoubleZero, funge da interfaccia di configurazione per i DoubleZero Device Agent per rendere la loro configurazione corrente in base agli eventi degli smart contract.

"},{"location":"it/architecture/#agent","title":"Agent","text":"

Il software Agent viene eseguito direttamente sui DoubleZero Device e applica le modifiche di configurazione ai dispositivi come interpretate dal servizio Controller. Il software Agent interroga il Controller per le modifiche alla configurazione, calcola eventuali differenze tra la versione canonica on-chain dello stato del dispositivo e la configurazione attiva sul dispositivo e applica le modifiche necessarie per riconciliare la configurazione attiva.

"},{"location":"it/architecture/#device","title":"Device","text":"

L'enclosure del dispositivo fisico che fornisce il routing e la terminazione dei link per la rete DoubleZero. I DZD eseguono il software DoubleZero Agent e vengono configurati in base ai dati letti dal servizio Controller.

"},{"location":"it/connect/","title":"Connect","text":"

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.

If you are not redirected, click here.

"},{"location":"it/contribute-operations/","title":"Guida Operativa per i Contributori","text":"

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.

Questa guida descrive le attivit\u00e0 operative continuative per la manutenzione dei DoubleZero Device (DZD), inclusi gli aggiornamenti degli agent, gli aggiornamenti di dispositivi/interfacce e la gestione dei link.

Prerequisiti: Prima di utilizzare questa guida, assicurati di aver:

"},{"location":"it/contribute-operations/#aggiornamenti-del-dispositivo","title":"Aggiornamenti del Dispositivo","text":"

Usa doublezero device update per modificare le impostazioni del dispositivo dopo il provisioning iniziale.

doublezero device update --pubkey <DEVICE_PUBKEY> [OPTIONS]\n

Opzioni di aggiornamento comuni:

Opzione Descrizione --device-type <TYPE> Cambia modalit\u00e0 operativa: hybrid, transit, edge (vedi Tipi di Dispositivo) --location <LOCATION> Sposta il dispositivo in una posizione diversa --metrics-publisher <PUBKEY> Cambia la metrics publisher key"},{"location":"it/contribute-operations/#aggiornamenti-delle-interfacce","title":"Aggiornamenti delle Interfacce","text":"

Usa doublezero device interface update per modificare le interfacce esistenti. Questo comando accetta le stesse opzioni di interface create.

doublezero device interface update <DEVICE> <NAME> [OPTIONS]\n

Per l'elenco completo delle opzioni dell'interfaccia incluse le impostazioni CYOA/DIA, vedi Creazione delle Interfacce.

Esempio - Aggiungere impostazioni CYOA a un'interfaccia esistente:

doublezero device interface update lax-dz001 Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000\n
"},{"location":"it/contribute-operations/#elenca-le-interfacce","title":"Elenca le Interfacce","text":"
doublezero device interface list              # All interfaces across all devices\ndoublezero device interface list <DEVICE>     # Interfaces for a specific device\n
"},{"location":"it/contribute-operations/#aggiornamento-del-config-agent","title":"Aggiornamento del Config Agent","text":"

Quando viene rilasciata una nuova versione del Config Agent, segui questi passaggi per aggiornare.

"},{"location":"it/contribute-operations/#1-scarica-la-versione-piu-recente","title":"1. Scarica la versione pi\u00f9 recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"it/contribute-operations/#2-spegni-lagent","title":"2. Spegni l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#3-rimuovi-la-vecchia-versione","title":"3. Rimuovi la vecchia versione","text":"

Prima, trova il nome del file della vecchia versione:

switch# show extensions\n

Esegui i seguenti comandi per rimuovere la vecchia versione. Sostituisci <OLD_VERSION> con la versione precedente dall'output sopra:

switch# delete flash:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"it/contribute-operations/#4-installa-la-nuova-versione","title":"4. Installa la nuova versione","text":"
switch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-operations/#5-riavvia-lagent","title":"5. Riavvia l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-agent\nswitch(config-daemon-doublezero-agent)# no shutdown\nswitch(config-daemon-doublezero-agent)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#6-verifica-laggiornamento","title":"6. Verifica l'aggiornamento","text":"

Lo stato dovrebbe essere \"A, I, B\".

switch# show extensions\n

"},{"location":"it/contribute-operations/#7-verifica-loutput-del-log-del-config-agent","title":"7. Verifica l'Output del Log del Config Agent","text":"
show agent doublezero-agent log\n
"},{"location":"it/contribute-operations/#aggiornamento-del-telemetry-agent","title":"Aggiornamento del Telemetry Agent","text":"

Quando viene rilasciata una nuova versione del Telemetry Agent, segui questi passaggi per aggiornare.

"},{"location":"it/contribute-operations/#1-scarica-la-versione-piu-recente_1","title":"1. Scarica la versione pi\u00f9 recente","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n
"},{"location":"it/contribute-operations/#2-spegni-lagent_1","title":"2. Spegni l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#3-rimuovi-la-vecchia-versione_1","title":"3. Rimuovi la vecchia versione","text":"

Prima, trova il nome del file della vecchia versione:

switch# show extensions\n

Esegui i seguenti comandi per rimuovere la vecchia versione. Sostituisci <OLD_VERSION> con la versione precedente dall'output sopra:

switch# delete flash:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\nswitch# delete extension:doublezero-device-telemetry-agent_<OLD_VERSION>_linux_amd64.rpm\n

"},{"location":"it/contribute-operations/#4-installa-la-nuova-versione_1","title":"4. Installa la nuova versione","text":"
switch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-operations/#5-riavvia-lagent_1","title":"5. Riavvia l'agent","text":"
switch# configure\nswitch(config)# daemon doublezero-telemetry\nswitch(config-daemon-doublezero-telemetry)# no shutdown\nswitch(config-daemon-doublezero-telemetry)# exit\nswitch(config)# exit\n
"},{"location":"it/contribute-operations/#6-verifica-laggiornamento_1","title":"6. Verifica l'aggiornamento","text":"

Lo stato dovrebbe essere \"A, I, B\".

switch# show extensions\n

"},{"location":"it/contribute-operations/#7-verifica-loutput-del-log-del-telemetry-agent","title":"7. Verifica l'Output del Log del Telemetry Agent","text":"
show agent doublezero-telemetry log\n
"},{"location":"it/contribute-operations/#monitoraggio","title":"Monitoraggio","text":"

\u26a0\ufe0f Importante:

  1. Per gli esempi di configurazione di seguito, prestare attenzione a se i propri agent utilizzano un VRF di gestione.
  2. Il configuration agent e il telemetry agent utilizzano la stessa porta di ascolto (:8080) per il loro endpoint delle metriche per impostazione predefinita. Se si abilitano le metriche su entrambi, usare il flag -metrics-addr per impostare porte di ascolto univoche per ciascun agent.
"},{"location":"it/contribute-operations/#metriche-del-config-agent","title":"Metriche del Config Agent","text":"

Il configuration agent sul dispositivo DoubleZero ha la capacit\u00e0 di esporre metriche compatibili con prometheus impostando il flag -metrics-enable nella configurazione del daemon doublezero-agent. La porta di ascolto predefinita \u00e8 tcp/8080 ma pu\u00f2 essere modificata per adattarsi all'ambiente tramite -metrics-addr:

daemon doublezero-agent\n   exec /usr/local/bin/doublezero-agent -pubkey $PUBKEY -controller $CONTROLLER_ADDR -metrics-enable -metrics-addr 10.0.0.11:2112\n   no shutdown\n

Le seguenti metriche specifiche di DoubleZero sono esposte insieme alle metriche di runtime go-specific:

$ curl -s 10.0.0.11:2112/metrics | grep doublezero\n\n# HELP doublezero_agent_apply_config_errors_total Number of errors encountered while applying config to the device\n# TYPE doublezero_agent_apply_config_errors_total counter\ndoublezero_agent_apply_config_errors_total 0\n\n# HELP doublezero_agent_bgp_neighbors_errors_total Number of errors encountered while retrieving BGP neighbors from the device\n# TYPE doublezero_agent_bgp_neighbors_errors_total counter\ndoublezero_agent_bgp_neighbors_errors_total 0\n\n# HELP doublezero_agent_build_info Build information of the agent\n# TYPE doublezero_agent_build_info gauge\ndoublezero_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:48Z\",version=\"0.6.5~git20250923140746.4378018f\"} 1\n\n# HELP doublezero_agent_get_config_errors_total Number of errors encountered while getting config from the controller\n# TYPE doublezero_agent_get_config_errors_total counter\ndoublezero_agent_get_config_errors_total 0\n

"},{"location":"it/contribute-operations/#errori-ad-alto-segnale","title":"Errori ad Alto Segnale","text":""},{"location":"it/contribute-operations/#metriche-del-telemetry-agent","title":"Metriche del Telemetry Agent","text":"

Il telemetry agent sul dispositivo DoubleZero ha la capacit\u00e0 di esporre metriche compatibili con prometheus impostando il flag -metrics-enable nella configurazione del daemon doublezero-telemetry. La porta di ascolto predefinita \u00e8 tcp/8080 ma pu\u00f2 essere modificata per adattarsi all'ambiente tramite -metrics-addr:

daemon doublezero-telemetry\n   exec /usr/local/bin/doublezero-telemetry  --local-device-pubkey $PUBKEY --env $ENV --keypair $KEY_PAIR -metrics-enable --metrics-addr 10.0.0.11:2113\n   no shutdown\n

Le seguenti metriche specifiche di DoubleZero sono esposte insieme alle metriche di runtime go-specific:

$ curl -s 10.0.0.11:2113/metrics | grep doublezero\n\n# HELP doublezero_device_telemetry_agent_build_info Build information of the device telemetry agent\n# TYPE doublezero_device_telemetry_agent_build_info gauge\ndoublezero_device_telemetry_agent_build_info{commit=\"4378018f\",date=\"2025-09-23T14:07:45Z\",version=\"0.6.5~git20250923140743.4378018f\"} 1\n\n# HELP doublezero_device_telemetry_agent_errors_total Number of errors encountered\n# TYPE doublezero_device_telemetry_agent_errors_total counter\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_program_load\"} 7\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_write_samples\"} 8\ndoublezero_device_telemetry_agent_errors_total{error_type=\"collector_submit_samples_on_close\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_getting_local_interfaces\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_finding_local_tunnel\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"peer_discovery_link_tunnel_net_invalid\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_failed_to_initialize_account\"} 0\ndoublezero_device_telemetry_agent_errors_total{error_type=\"submitter_retries_exhausted\"} 0\n\n# HELP doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels Number of local tunnel interfaces not found during peer discovery\n# TYPE doublezero_device_telemetry_agent_peer_discovery_not_found_tunnels gauge\ndoublezero_device_telemetry_agent_peer_discovery_not_found_tunnels{local_device_pk=\"8PQkip3CxWhQTdP7doCyhT2kwjSL2csRTdnRg2zbDPs1\"} 0\n

"},{"location":"it/contribute-operations/#errori-ad-alto-segnale_1","title":"Errori ad Alto Segnale","text":""},{"location":"it/contribute-operations/#gestione-dei-link","title":"Gestione dei Link","text":""},{"location":"it/contribute-operations/#drenaggio-dei-link","title":"Drenaggio dei Link","text":"

Il drenaggio dei link consente ai contributori di rimuovere gradualmente un link dal servizio attivo per manutenzione o risoluzione dei problemi. Ci sono due stati di drenaggio:

Stato Comportamento IS-IS Descrizione soft-drained Metrica impostata a 1.000.000 Il link viene depriorizzato. Il traffico utilizzer\u00e0 percorsi alternativi se disponibili, ma utilizzer\u00e0 comunque questo link se \u00e8 l'unica opzione. hard-drained Impostato a passivo Il link viene completamente rimosso dal routing. Nessun traffico attraverser\u00e0 questo link."},{"location":"it/contribute-operations/#transizioni-di-stato","title":"Transizioni di Stato","text":"

Le seguenti transizioni di stato sono consentite:

activated \u2192 soft-drained \u2713\nactivated \u2192 hard-drained \u2713\nsoft-drained \u2192 hard-drained \u2713\nhard-drained \u2192 soft-drained \u2713\nsoft-drained \u2192 activated \u2713\nhard-drained \u2192 activated \u2717 (must go through soft-drained first)\n

\u26a0\ufe0f Nota: Non \u00e8 possibile passare direttamente da hard-drained ad activated. Devi prima passare a soft-drained, poi ad activated.

"},{"location":"it/contribute-operations/#soft-drain-di-un-link","title":"Soft Drain di un Link","text":"

Il soft drain depriorizza un link impostando la sua metrica IS-IS a 1.000.000. Il traffico preferir\u00e0 percorsi alternativi ma pu\u00f2 comunque utilizzare questo link se necessario.

doublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\n
"},{"location":"it/contribute-operations/#hard-drain-di-un-link","title":"Hard Drain di un Link","text":"

L'hard drain rimuove completamente il link dal routing impostando IS-IS in modalit\u00e0 passiva. Nessun traffico attraverser\u00e0 questo link.

doublezero link update --pubkey <LINK_PUBKEY> --status hard-drained\n
"},{"location":"it/contribute-operations/#ripristino-di-un-link-allattivo","title":"Ripristino di un Link all'Attivo","text":"

Per riportare un link drenato al normale funzionamento:

# From soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n\n# From hard-drained (must go through soft-drained first)\ndoublezero link update --pubkey <LINK_PUBKEY> --status soft-drained\ndoublezero link update --pubkey <LINK_PUBKEY> --status activated\n
"},{"location":"it/contribute-operations/#override-del-ritardo","title":"Override del Ritardo","text":"

La funzionalit\u00e0 di override del ritardo consente ai contributori di modificare temporaneamente il ritardo effettivo di un link senza modificare il valore di ritardo misurato effettivo. Questo \u00e8 utile per declassare temporaneamente un link da percorso primario a secondario.

"},{"location":"it/contribute-operations/#imposta-un-override-del-ritardo","title":"Imposta un Override del Ritardo","text":"

Per sovrascrivere il ritardo di un link (rendendolo meno preferito nel routing):

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 100\n

I valori validi sono da 0.01 a 1000 millisecondi.

"},{"location":"it/contribute-operations/#cancella-un-override-del-ritardo","title":"Cancella un Override del Ritardo","text":"

Per rimuovere l'override e tornare a utilizzare il ritardo misurato effettivo:

doublezero link update --pubkey <LINK_PUBKEY> --delay-override-ms 0\n

\u26a0\ufe0f Nota: Quando un link \u00e8 in soft-drain, sia delay_ms che delay_override_ms vengono sovrascritti a 1000ms (1 secondo) per garantire la depriorizzazione.

"},{"location":"it/contribute-overview/","title":"Documentazione Contributori","text":"

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.

Terminologia

Nuovo a DoubleZero? Consulta il Glossario per le definizioni dei termini chiave come DZD, DZX e CYOA.

Benvenuto alla documentazione per i contributori DoubleZero. Questa sezione copre tutto ci\u00f2 di cui hai bisogno per diventare un contributore di rete.

Interessato a diventare un contributore di rete?

Consulta la pagina Requisiti e Architettura per comprendere l'hardware, la larghezza di banda e la connettivit\u00e0 necessaria per contribuire alla rete DoubleZero.

"},{"location":"it/contribute-overview/#lista-di-controllo-per-lonboarding","title":"Lista di Controllo per l'Onboarding","text":"

Usa questa lista di controllo per monitorare i tuoi progressi. Tutti gli elementi devono essere completati prima che il tuo contributo sia tecnicamente operativo.

"},{"location":"it/contribute-overview/#fase-1-prerequisiti","title":"Fase 1: Prerequisiti","text":""},{"location":"it/contribute-overview/#fase-2-configurazione-account","title":"Fase 2: Configurazione Account","text":""},{"location":"it/contribute-overview/#fase-3-provisioning-del-dispositivo","title":"Fase 3: Provisioning del Dispositivo","text":""},{"location":"it/contribute-overview/#fase-4-creazione-link-e-installazione-agent","title":"Fase 4: Creazione Link e Installazione Agent","text":""},{"location":"it/contribute-overview/#fase-5-burn-in-del-link","title":"Fase 5: Burn-in del Link","text":""},{"location":"it/contribute-overview/#fase-6-verifica-e-attivazione","title":"Fase 6: Verifica e Attivazione","text":""},{"location":"it/contribute-overview/#ottenere-aiuto","title":"Ottenere Aiuto","text":"

Come parte dell'onboarding, DZF ti aggiunger\u00e0 ai canali Slack per i contributori:

Canale Scopo #dz-contributor-announcements Comunicazioni ufficiali da DZF e Malbec Labs \u2014 aggiornamenti CLI/agent, modifiche importanti, annunci di sicurezza. Monitora per aggiornamenti critici; fai domande nei thread. #dz-contributor-incidents Eventi non pianificati che impattano il servizio. Gli incidenti vengono pubblicati automaticamente tramite API/web form con gravit\u00e0 e dispositivi/link interessati. La discussione e la risoluzione dei problemi avvengono nei thread. #dz-contributor-maintenance Attivit\u00e0 di manutenzione pianificate (aggiornamenti, riparazioni). Pianificate tramite API/web form con orari di inizio/fine previsti. Discussione nei thread. #dz-contributor-ops Discussione aperta per tutti i contributori \u2014 domande operative, aiuto CLI, condivisione di runbook e playbook.

Riceverai anche un canale privato DZ/Malbec Labs per supporto diretto alla tua organizzazione.

"},{"location":"it/contribute-overview/#regole-dz-prefix","title":"Regole DZ Prefix","text":"

Critico: Utilizzo del Pool DZ Prefix

Il pool di DZ prefix che fornisci \u00e8 gestito dal protocollo DoubleZero per l'allocazione IP.

Come vengono utilizzati i DZ prefix:

NON puoi usare questi indirizzi per:

Requisiti:

Se hai bisogno di indirizzi per le tue apparecchiature (IP interfacce DIA, gestione, ecc.), usa un pool di indirizzi separato.

"},{"location":"it/contribute-overview/#riferimento-rapido-termini-chiave","title":"Riferimento Rapido: Termini Chiave","text":"

Nuovo a DoubleZero? Ecco i termini essenziali (vedi il Glossario completo):

Termine Definizione DZD DoubleZero Device - il tuo switch fisico Arista che esegue gli agenti DZ DZX DoubleZero Exchange - punto di interconnessione metro dove i contributori si collegano CYOA Choose Your Own Adventure - metodo di connettivit\u00e0 utente (GREOverDIA, GREOverFabric, ecc.) DIA Direct Internet Access - connettivit\u00e0 internet richiesta da tutti i DZD per controller e telemetria, comunemente usata come tipo CYOA per la connettivit\u00e0 utente su dispositivi edge/hybrid WAN Link Link tra i tuoi DZD (stesso contributore) DZX Link Link verso il DZD di un altro contributore (richiede accettazione reciproca) Config Agent Interroga il controller, applica la configurazione al tuo DZD Telemetry Agent Raccoglie metriche di latenza/perdita TWAMP, le invia al registro onchain Service Key La tua chiave di identit\u00e0 contributore per le operazioni CLI Metrics Publisher Key Chiave per firmare gli invii di telemetria onchain"},{"location":"it/contribute-overview/#struttura-della-documentazione","title":"Struttura della Documentazione","text":"Guida Descrizione Requisiti e Architettura Specifiche hardware, architettura di rete, opzioni di larghezza di banda Provisioning Dispositivo Passo per passo: chiavi \u2192 accesso repo \u2192 dispositivo \u2192 link \u2192 agenti Operazioni Aggiornamenti agent, gestione link, monitoraggio Glossario Tutta la terminologia DoubleZero definita"},{"location":"it/contribute-overview/#nozioni-di-base-di-rete-per-non-ingegneri-di-rete","title":"Nozioni di Base di Rete per Non-Ingegneri di Rete","text":"

Se non hai un background ingegneristico di rete, ecco un primer sui concetti utilizzati in questa documentazione:

"},{"location":"it/contribute-overview/#indirizzamento-ip","title":"Indirizzamento IP","text":""},{"location":"it/contribute-overview/#livelli-di-rete","title":"Livelli di Rete","text":""},{"location":"it/contribute-overview/#termini-comuni","title":"Termini Comuni","text":""},{"location":"it/contribute-overview/#specifico-di-doublezero","title":"Specifico di DoubleZero","text":"

Pronto per iniziare? Inizia con Requisiti e Architettura.

"},{"location":"it/contribute-provisioning/","title":"Guida al Provisioning dei Dispositivi","text":"

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.

Questa guida illustra il provisioning di un DoubleZero Device (DZD) dall'inizio alla fine. Ogni fase corrisponde alla Checklist di Onboarding.

"},{"location":"it/contribute-provisioning/#come-si-incastra-tutto","title":"Come Si Incastra Tutto","text":"

Prima di entrare nei dettagli, ecco il quadro generale di ci\u00f2 che stai costruendo:

flowchart TB\n    subgraph Onchain\n        SC[DoubleZero Ledger]\n    end\n\n    subgraph Your Infrastructure\n        MGMT[Management Server<br/>DoubleZero CLI]\n        DZD[Your DZD<br/>Arista Switch]\n        DZD ---|WAN Link| DZD2[Your other DZD]\n    end\n\n    subgraph Other Contributor\n        OtherDZD[Their DZD]\n    end\n\n    subgraph Users\n        VAL[Validators]\n        RPC[RPC Nodes]\n    end\n\n    MGMT -.->|Registers devices,<br/>links, interfaces| SC\n    DZD ---|DZX Link| OtherDZD\n    VAL ---|Connect via Internet| DZD\n    RPC ---|Connect via Internet| DZD
"},{"location":"it/contribute-provisioning/#fase-1-prerequisiti","title":"Fase 1: Prerequisiti","text":"

Prima di poter effettuare il provisioning di un dispositivo, \u00e8 necessario che l'hardware fisico sia configurato e alcuni indirizzi IP allocati.

"},{"location":"it/contribute-provisioning/#cosa-ti-serve","title":"Cosa Ti Serve","text":"Requisito Perch\u00e9 \u00c8 Necessario Hardware DZD Switch Arista 7280CR3A (vedi specifiche hardware) Spazio Rack 4U con adeguato flusso d'aria Alimentazione Alimentazioni ridondanti, ~4KW raccomandato Accesso di Gestione Accesso SSH/console per configurare lo switch Connettivit\u00e0 Internet Per la pubblicazione di metriche e per recuperare la configurazione dal controller Blocco IPv4 Pubblico Minimo /29 per il pool di prefissi DZ (vedi sotto)"},{"location":"it/contribute-provisioning/#installa-la-cli-doublezero","title":"Installa la CLI DoubleZero","text":"

La CLI DoubleZero (doublezero) viene utilizzata durante tutto il provisioning per registrare dispositivi, creare link e gestire il contributo. Deve essere installata su un server di gestione o VM \u2014 non sullo switch DZD stesso. Lo switch esegue solo il Config Agent e il Telemetry Agent (installati nella Fase 4).

Ubuntu / Debian:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Rocky Linux / RHEL:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Verifica che il daemon sia in esecuzione:

sudo systemctl status doublezerod\n

"},{"location":"it/contribute-provisioning/#comprendere-il-tuo-prefisso-dz","title":"Comprendere il Tuo Prefisso DZ","text":"

Il tuo prefisso DZ \u00e8 un blocco di indirizzi IP pubblici che il protocollo DoubleZero gestisce per l'allocazione degli IP.

flowchart LR\n    subgraph \"Your /29 Block (8 IPs)\"\n        IP1[\"First IP<br/>Reserved for<br/>your device\"]\n        IP2[\"IP 2\"]\n        IP3[\"IP 3\"]\n        IP4[\"...\"]\n        IP8[\"IP 8\"]\n    end\n\n    IP1 -->|Assigned to| LO[Loopback100<br/>on your DZD]\n    IP2 -->|Allocated to| U1[User 1]\n    IP3 -->|Allocated to| U2[User 2]

Come vengono usati i prefissi DZ:

Regole del Prefisso DZ

NON PUOI usare questi indirizzi per:

Requisiti:

Se hai bisogno di indirizzi per la tua infrastruttura (IP di interfaccia DIA, gestione, ecc.), usa un pool di indirizzi separato.

"},{"location":"it/contribute-provisioning/#fase-2-configurazione-dellaccount","title":"Fase 2: Configurazione dell'Account","text":"

In questa fase, crei le chiavi crittografiche che identificano te e i tuoi dispositivi sulla rete.

"},{"location":"it/contribute-provisioning/#dove-eseguire-la-cli","title":"Dove Eseguire la CLI","text":"

NON installare la CLI sul tuo switch

La CLI DoubleZero (doublezero) deve essere installata su un server di gestione o VM, non sullo switch Arista.

flowchart LR\n    subgraph \"Management Server/VM\"\n        CLI[DoubleZero CLI]\n        KEYS[Your Keypairs]\n    end\n\n    subgraph \"Your DZD Switch\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n    end\n\n    CLI -->|Creates devices, links| BC[Blockchain]\n    CA -->|Pulls config| CTRL[Controller]\n    TA -->|Submits metrics| BC
Installare sul Server di Gestione Installare sullo Switch CLI doublezero Config Agent La tua service keypair Telemetry Agent La tua metrics publisher keypair Metrics publisher keypair (copia)"},{"location":"it/contribute-provisioning/#cosa-sono-le-chiavi","title":"Cosa Sono le Chiavi?","text":"

Pensa alle chiavi come credenziali di accesso sicure:

Entrambe sono keypair crittografiche (una chiave pubblica che condividi, una chiave privata che mantieni segreta).

flowchart LR\n    subgraph \"Your Keys\"\n        SK[Service Key<br/>~/.config/solana/id.json]\n        MK[Metrics Publisher Key<br/>~/.config/doublezero/metrics-publisher.json]\n    end\n\n    SK -->|Used for| CLI[CLI Commands<br/>doublezero device create<br/>doublezero link create]\n    MK -->|Used for| TEL[Telemetry Agent<br/>Submits metrics onchain]
"},{"location":"it/contribute-provisioning/#passo-21-genera-la-tua-service-key","title":"Passo 2.1: Genera la Tua Service Key","text":"

Questa \u00e8 la tua identit\u00e0 principale per interagire con DoubleZero.

doublezero keygen\n

Questo crea una keypair nella posizione predefinita. L'output mostra la tua chiave pubblica - questa \u00e8 quella che condividerai con DZF.

"},{"location":"it/contribute-provisioning/#passo-22-genera-la-tua-metrics-publisher-key","title":"Passo 2.2: Genera la Tua Metrics Publisher Key","text":"

Questa chiave viene utilizzata dal Telemetry Agent per firmare le submission delle metriche.

doublezero keygen -o ~/.config/doublezero/metrics-publisher.json\n
"},{"location":"it/contribute-provisioning/#passo-23-invia-le-chiavi-a-dzf","title":"Passo 2.3: Invia le Chiavi a DZF","text":"

Contatta la DoubleZero Foundation o Malbec Labs e fornisci:

  1. La tua chiave pubblica della service key
  2. Il tuo username GitHub (per l'accesso al repository)

Loro provvederanno a:

"},{"location":"it/contribute-provisioning/#passo-24-verifica-il-tuo-account","title":"Passo 2.4: Verifica il Tuo Account","text":"

Una volta confermato, verifica che il tuo account contributore esista:

doublezero contributor list\n

Dovresti vedere il tuo codice contributore nell'elenco.

"},{"location":"it/contribute-provisioning/#passo-25-accedi-al-repository-contributori","title":"Passo 2.5: Accedi al Repository Contributori","text":"

Il repository malbeclabs/contributors contiene:

Segui le istruzioni l\u00ec per la configurazione specifica del dispositivo.

"},{"location":"it/contribute-provisioning/#fase-3-provisioning-del-dispositivo","title":"Fase 3: Provisioning del Dispositivo","text":"

Ora registrerai il tuo dispositivo fisico sulla blockchain e configurerai le sue interfacce.

"},{"location":"it/contribute-provisioning/#comprendere-i-tipi-di-dispositivo","title":"Comprendere i Tipi di Dispositivo","text":"
flowchart TB\n    subgraph \"Edge Device\"\n        E[Edge DZD]\n        EU[Users connect here]\n        EU --> E\n        E <-->|DZX Link| ED[Other DZD]\n    end\n\n    subgraph \"Transit Device\"\n        T[Transit DZD]\n        T <-->|WAN Link| T2[Another DZD]\n        T <-->|DZX Link| TD[Other DZD]\n    end\n\n    subgraph \"Hybrid Device\"\n        H[Hybrid DZD]\n        HU[Users connect here]\n        HU --> H\n        H <-->|WAN Link| H2[Another DZD]\n        H <-->|DZX Link| HD[Other DZD]\n    end
Tipo Cosa Fa Quando Usarlo Edge Accetta solo connessioni utente Singola posizione, solo rivolto agli utenti Transit Sposta il traffico tra dispositivi Connettivit\u00e0 backbone, nessun utente Hybrid Connessioni utente E backbone Il pi\u00f9 comune - fa tutto"},{"location":"it/contribute-provisioning/#passo-31-trova-la-tua-posizione-e-lexchange","title":"Passo 3.1: Trova la Tua Posizione e l'Exchange","text":"

Prima di creare il tuo dispositivo, cerca i codici per la posizione del tuo data center e l'exchange pi\u00f9 vicino:

# List available locations (data centers)\ndoublezero location list\n\n# List available exchanges (interconnect points)\ndoublezero exchange list\n
"},{"location":"it/contribute-provisioning/#passo-32-crea-il-tuo-dispositivo-on-chain","title":"Passo 3.2: Crea il Tuo Dispositivo On-Chain","text":"

Registra il tuo dispositivo sulla blockchain:

doublezero device create \\\n  --code <YOUR_DEVICE_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR_CODE> \\\n  --device-type hybrid \\\n  --location <LOCATION_CODE> \\\n  --exchange <EXCHANGE_CODE> \\\n  --public-ip <DEVICE_PUBLIC_IP> \\\n  --dz-prefixes <YOUR_DZ_PREFIX>\n

Esempio:

doublezero device create \\\n  --code nyc-dz001 \\\n  --contributor acme \\\n  --device-type hybrid \\\n  --location EQX-NY5 \\\n  --exchange nyc \\\n  --public-ip \"203.0.113.10\" \\\n  --dz-prefixes \"198.51.100.0/28\"\n

Output atteso:

Signature: 4vKz8H...truncated...7xPq2\n

Verifica che il tuo dispositivo sia stato creato:

doublezero device list | grep nyc-dz001\n

Parametri spiegati:

Parametro Cosa Significa --code Un nome univoco per il tuo dispositivo (es. nyc-dz001) --contributor Il tuo codice contributore (fornito da DZF) --device-type hybrid, transit, o edge --location Codice del data center da location list --exchange Codice dell'exchange pi\u00f9 vicino da exchange list --public-ip L'IP pubblico dove gli utenti si connettono al tuo dispositivo via internet --dz-prefixes Il tuo blocco IP allocato per gli utenti"},{"location":"it/contribute-provisioning/#passo-33-crea-le-interfacce-loopback-richieste","title":"Passo 3.3: Crea le Interfacce Loopback Richieste","text":"

Ogni dispositivo ha bisogno di due interfacce loopback per il routing interno:

# VPNv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback255 --loopback-type vpnv4\n\n# IPv4 loopback\ndoublezero device interface create <DEVICE_CODE> Loopback256 --loopback-type ipv4\n

Output atteso (per ogni comando):

Signature: 3mNx9K...truncated...8wRt5\n
"},{"location":"it/contribute-provisioning/#passo-34-crea-interfacce-fisiche","title":"Passo 3.4: Crea Interfacce Fisiche","text":"

Registra le porte fisiche che utilizzerai:

# Basic interface\ndoublezero device interface create <DEVICE_CODE> Ethernet1/1\n

Output atteso:

Signature: 7pQw2R...truncated...4xKm9\n
"},{"location":"it/contribute-provisioning/#passo-35-crea-linterfaccia-cyoa-per-dispositivi-edgehybrid","title":"Passo 3.5: Crea l'Interfaccia CYOA (per dispositivi Edge/Hybrid)","text":"

Se il tuo dispositivo accetta connessioni utente, hai bisogno di un'interfaccia CYOA (Choose Your Own Adventure). Questo indica al sistema come gli utenti si connettono a te.

Tipi CYOA Spiegati:

Tipo In Italiano Semplice Quando Usarlo gre-over-dia Gli utenti si connettono tramite internet normale Il pi\u00f9 comune - gli utenti si connettono tramite il DIA al tuo DZD gre-over-private-peering Gli utenti si connettono tramite link privato Gli utenti hanno una connessione diretta alla tua rete gre-over-public-peering Gli utenti si connettono tramite IX Gli utenti fanno peering con te a un internet exchange gre-over-fabric Utenti sulla stessa rete locale Utenti nello stesso data center gre-over-cable Cavo diretto all'utente Singolo utente dedicato

Esempio - Utenti internet standard:

doublezero device interface create <DEVICE_CODE> Ethernet1/2 \\\n  --interface-cyoa gre-over-dia \\\n  --interface-dia dia \\\n  --bandwidth 10000 \\\n  --cir 1000 \\\n  --user-tunnel-endpoint \\\n  --wait\n

Output atteso:

Signature: 2wLp8N...truncated...5vHt3\n

Parametri spiegati:

Parametro Cosa Significa --interface-cyoa Come si connettono gli utenti (vedi tabella sopra) --interface-dia dia se questa \u00e8 una porta rivolta a internet --bandwidth Velocit\u00e0 della porta in Mbps (10000 = 10Gbps) --cir Velocit\u00e0 impegnata in Mbps (larghezza di banda garantita) --user-tunnel-endpoint Questa porta accetta tunnel utente"},{"location":"it/contribute-provisioning/#passo-36-verifica-il-tuo-dispositivo","title":"Passo 3.6: Verifica il Tuo Dispositivo","text":"
doublezero device list\n

Output di esempio:

 account                                      | code      | contributor | location | exchange | device_type | public_ip    | dz_prefixes     | users | max_users | status    | health  | mgmt_vrf | owner\n 7xKm9pQw2R4vHt3...                          | nyc-dz001 | acme        | EQX-NY5  | nyc      | hybrid      | 203.0.113.10 | 198.51.100.0/28 | 0     | 14        | activated | pending |          | 5FMtd5Woq5XAAg54...\n

Il tuo dispositivo dovrebbe apparire con stato activated.

"},{"location":"it/contribute-provisioning/#fase-4-stabilimento-del-link-e-installazione-degli-agent","title":"Fase 4: Stabilimento del Link e Installazione degli Agent","text":"

I link connettono il tuo dispositivo al resto della rete DoubleZero.

"},{"location":"it/contribute-provisioning/#comprendere-i-link","title":"Comprendere i Link","text":"
flowchart LR\n    subgraph \"Your Network\"\n        D1[Your DZD 1<br/>NYC]\n        D2[Your DZD 2<br/>LAX]\n    end\n\n    subgraph \"Other Contributor\"\n        O1[Their DZD<br/>NYC]\n    end\n\n    D1 ---|WAN Link<br/>Same contributor| D2\n    D1 ---|DZX Link<br/>Different contributors| O1
Tipo di Link Connette Accettazione WAN Link Due dei TUOI dispositivi Automatica (possiedi entrambi) DZX Link Il tuo dispositivo a quello di UN ALTRO contributore Richiede la loro accettazione"},{"location":"it/contribute-provisioning/#passo-41-crea-wan-link-se-hai-piu-dispositivi","title":"Passo 4.1: Crea WAN Link (se hai pi\u00f9 dispositivi)","text":"

I WAN link connettono i tuoi dispositivi:

doublezero link create wan \\\n  --code <LINK_CODE> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <DEVICE_1_CODE> \\\n  --side-a-interface <INTERFACE_ON_DEVICE_1> \\\n  --side-z <DEVICE_2_CODE> \\\n  --side-z-interface <INTERFACE_ON_DEVICE_2> \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 20 \\\n  --jitter-ms 1\n

Esempio:

doublezero link create wan \\\n  --code nyc-lax-wan01 \\\n  --contributor acme \\\n  --side-a nyc-dz001 \\\n  --side-a-interface Ethernet3/1 \\\n  --side-z lax-dz001 \\\n  --side-z-interface Ethernet3/1 \\\n  --bandwidth 10000 \\\n  --mtu 9000 \\\n  --delay-ms 65 \\\n  --jitter-ms 1\n

Output atteso:

Signature: 5tNm7K...truncated...9pRw2\n
"},{"location":"it/contribute-provisioning/#passo-42-crea-dzx-link","title":"Passo 4.2: Crea DZX Link","text":"

I DZX link connettono il tuo dispositivo direttamente al DZD di un altro contributore:

doublezero link create dzx \\\n  --code <DEVICE_CODE_A:DEVICE_CODE_Z> \\\n  --contributor <YOUR_CONTRIBUTOR> \\\n  --side-a <YOUR_DEVICE_CODE> \\\n  --side-a-interface <YOUR_INTERFACE> \\\n  --side-z <OTHER_DEVICE_CODE> \\\n  --bandwidth <BANDWIDTH in Kbps, Mbps, or Gbps> \\\n  --mtu <MTU> \\\n  --delay-ms <DELAY> \\\n  --jitter-ms <JITTER>\n

Output atteso:

Signature: 8mKp3W...truncated...2nRx7\n

Dopo aver creato un DZX link, l'altro contributore deve accettarlo:

# The OTHER contributor runs this\ndoublezero link accept \\\n  --code <LINK_CODE> \\\n  --side-z-interface <THEIR_INTERFACE>\n

Output atteso (per il contributore che accetta):

Signature: 6vQt9L...truncated...3wPm4\n
"},{"location":"it/contribute-provisioning/#passo-43-verifica-i-link","title":"Passo 4.3: Verifica i Link","text":"
doublezero link list\n

Output di esempio:

 account                                      | code          | contributor | side_a_name | side_a_iface_name | side_z_name | side_z_iface_name | link_type | bandwidth | mtu  | delay_ms | jitter_ms | delay_override_ms | tunnel_id | tunnel_net      | status    | health  | owner\n 8vkYpXaBW8RuknJq...                         | nyc-dz001:lax-dz001 | acme        | nyc-dz001   | Ethernet3/1       | lax-dz001   | Ethernet3/1       | WAN       | 10Gbps    | 9000 | 65.00ms  | 1.00ms    | 0.00ms            | 42        | 172.16.0.84/31  | activated | pending | 5FMtd5Woq5XAAg54...\n

I link dovrebbero mostrare lo stato activated una volta che entrambi i lati sono configurati.

"},{"location":"it/contribute-provisioning/#installazione-degli-agent","title":"Installazione degli Agent","text":"

Due software agent vengono eseguiti sul tuo DZD:

flowchart TB\n    subgraph \"Your DZD\"\n        CA[Config Agent]\n        TA[Telemetry Agent]\n        HW[Switch Hardware/Software]\n    end\n\n    CA -->|Polls for config| CTRL[Controller Service]\n    CA -->|Applies config| HW\n\n    HW -->|Metrics| TA\n    TA -->|Submits onchain| BC[DoubleZero Ledger]
Agent Cosa Fa Config Agent Recupera la configurazione dal controller, la applica al tuo switch Telemetry Agent Misura latenza/perdita verso altri dispositivi, riporta le metriche on-chain"},{"location":"it/contribute-provisioning/#passo-44-installa-il-config-agent","title":"Passo 4.4: Installa il Config Agent","text":""},{"location":"it/contribute-provisioning/#abilita-lapi-sul-tuo-switch","title":"Abilita l'API sul tuo switch","text":"

Aggiungi alla configurazione EOS:

management api eos-sdk-rpc\n    transport grpc eapilocal\n        localhost loopback vrf default\n        service all\n        no disabled\n

Nota VRF

Sostituisci default con il nome del tuo VRF di gestione se diverso (es. management).

"},{"location":"it/contribute-provisioning/#scarica-e-installa-lagent","title":"Scarica e installa l'agent","text":"
# Enter bash on the switch\nswitch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget AGENT_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:AGENT_FILENAME extension:\nswitch# extension AGENT_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-provisioning/#verifica-lestensione","title":"Verifica l'estensione","text":"
switch# show extensions\n

Lo stato dovrebbe essere \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nAGENT_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"it/contribute-provisioning/#configura-e-avvia-lagent","title":"Configura e avvia l'agent","text":"

Aggiungi alla configurazione EOS:

daemon doublezero-agent\n    exec /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Nota VRF

Se il tuo VRF di gestione non \u00e8 default (cio\u00e8 il namespace non \u00e8 ns-default), anteponi al comando exec exec /sbin/ip netns exec ns-<VRF>. Ad esempio, se il tuo VRF \u00e8 management:

daemon doublezero-agent\n    exec /sbin/ip netns exec ns-management /usr/local/bin/doublezero-agent -pubkey <YOUR_DEVICE_PUBKEY>\n    no shut\n

Ottieni la pubkey del tuo dispositivo da doublezero device list (la colonna account).

"},{"location":"it/contribute-provisioning/#verifica-che-sia-in-esecuzione","title":"Verifica che sia in esecuzione","text":"
switch# show agent doublezero-agent logs\n

Dovresti vedere \"Starting doublezero-agent\" e connessioni riuscite al controller.

"},{"location":"it/contribute-provisioning/#passo-45-installa-il-telemetry-agent","title":"Passo 4.5: Installa il Telemetry Agent","text":""},{"location":"it/contribute-provisioning/#copia-la-metrics-publisher-key-sul-tuo-dispositivo","title":"Copia la metrics publisher key sul tuo dispositivo","text":"
scp ~/.config/doublezero/metrics-publisher.json <SWITCH_IP>:/mnt/flash/metrics-publisher-keypair.json\n
"},{"location":"it/contribute-provisioning/#registra-il-metrics-publisher-on-chain","title":"Registra il metrics publisher on-chain","text":"
doublezero device update \\\n  --pubkey <DEVICE_ACCOUNT> \\\n  --metrics-publisher <METRICS_PUBLISHER_PUBKEY>\n

Ottieni la pubkey dal tuo file metrics-publisher.json.

"},{"location":"it/contribute-provisioning/#scarica-e-installa-lagent_1","title":"Scarica e installa l'agent","text":"
switch# bash\n$ sudo bash\n# cd /mnt/flash\n# wget TELEMETRY_DOWNLOAD_URL\n# exit\n$ exit\n\n# Install as EOS extension\nswitch# copy flash:TELEMETRY_FILENAME extension:\nswitch# extension TELEMETRY_FILENAME\nswitch# copy installed-extensions boot-extensions\n
"},{"location":"it/contribute-provisioning/#verifica-lestensione_1","title":"Verifica l'estensione","text":"
switch# show extensions\n

Lo stato dovrebbe essere \"A, I, B\":

Name                                        Version/Release     Status     Extension\n------------------------------------------- ------------------- ---------- ---------\nTELEMETRY_FILENAME    MAINNET_CLIENT_VERSION/1             A, I, B    1\n\nA: available | NA: not available | I: installed | F: forced | B: install at boot\n
"},{"location":"it/contribute-provisioning/#configura-e-avvia-lagent_1","title":"Configura e avvia l'agent","text":"

Aggiungi alla configurazione EOS:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

Nota VRF

Se il tuo VRF di gestione non \u00e8 default (cio\u00e8 il namespace non \u00e8 ns-default), aggiungi --management-namespace ns-<VRF> al comando exec. Ad esempio, se il tuo VRF \u00e8 management:

daemon doublezero-telemetry\n    exec /usr/local/bin/doublezero-telemetry --management-namespace ns-management --local-device-pubkey <DEVICE_ACCOUNT> --env mainnet --keypair /mnt/flash/metrics-publisher-keypair.json\n    no shut\n

"},{"location":"it/contribute-provisioning/#verifica-che-sia-in-esecuzione_1","title":"Verifica che sia in esecuzione","text":"
switch# show agent doublezero-telemetry logs\n

Dovresti vedere \"Starting telemetry collector\" e \"Starting submission loop\".

"},{"location":"it/contribute-provisioning/#fase-5-burn-in-del-link","title":"Fase 5: Burn-in del Link","text":"

Tutti i nuovi link devono completare il burn-in prima di trasportare traffico

I nuovi link devono essere drenati per almeno 24 ore prima di essere attivati per il traffico di produzione. Questo requisito di burn-in \u00e8 definito in RFC12: Network Provisioning, che specifica ~200.000 slot del DZ Ledger (~20 ore) di metriche pulite prima che un link sia pronto per il servizio.

Con gli agent installati e in esecuzione, monitora i tuoi link su metrics.doublezero.xyz per almeno 24 ore consecutive:

Sblocca il link solo quando il periodo di burn-in mostra un link pulito con zero perdite e zero errori.

"},{"location":"it/contribute-provisioning/#fase-6-verifica-e-attivazione","title":"Fase 6: Verifica e Attivazione","text":"

Esegui questa checklist per confermare che tutto funzioni.

Il tuo dispositivo inizia bloccato (max_users = 0)

Quando viene creato un dispositivo, max_users \u00e8 impostato a 0 per impostazione predefinita. Ci\u00f2 significa che nessun utente pu\u00f2 ancora connettersi ad esso. Questo \u00e8 intenzionale \u2014 devi verificare che tutto funzioni prima di accettare traffico utente.

Prima di impostare max_users sopra 0, devi:

  1. Confermare che tutti i link abbiano completato il burn-in di 24 ore con zero perdite/errori su metrics.doublezero.xyz
  2. Coordinarsi con DZ/Malbec Labs per eseguire un test di connettivit\u00e0:
    • Un utente di test pu\u00f2 connettersi al tuo dispositivo?
    • L'utente riceve route tramite la rete DZ?
    • L'utente pu\u00f2 instradare il traffico tramite la rete DZ end-to-end?
  3. Solo dopo che DZ/ML conferma che i test sono passati, imposta max_users a 96:
doublezero device update --pubkey <DEVICE_ACCOUNT> --max-users 96\n
"},{"location":"it/contribute-provisioning/#controlli-del-dispositivo","title":"Controlli del Dispositivo","text":"
# Your device should appear with status \"activated\"\ndoublezero device list | grep <YOUR_DEVICE_CODE>\n

Output atteso:

 7xKm9pQw2R4vHt3... | nyc-dz001 | acme | EQX-NY5 | nyc | hybrid | 203.0.113.10 | 198.51.100.0/28 | 0 | 14 | activated | pending | | 5FMtd5Woq5XAAg54...\n
# Your interfaces should be listed\ndoublezero device interface list | grep <YOUR_DEVICE_CODE>\n

Output atteso:

 nyc-dz001 | Loopback255 | loopback | vpnv4 | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.91/32  | 56 | false | activated\n nyc-dz001 | Loopback256 | loopback | ipv4  | none | none | 0 | 0 | 1500 | static | 0 | 172.16.1.100/32 | 0  | false | activated\n nyc-dz001 | Ethernet1/1 | physical | none  | none | none | 0 | 0 | 1500 | static | 0 |                 | 0  | false | activated\n
"},{"location":"it/contribute-provisioning/#controlli-dei-link","title":"Controlli dei Link","text":"
# Links should show status \"activated\"\ndoublezero link list | grep <YOUR_DEVICE_CODE>\n

Output atteso:

 8vkYpXaBW8RuknJq... | nyc-lax-wan01 | acme | nyc-dz001 | Ethernet3/1 | lax-dz001 | Ethernet3/1 | WAN | 10Gbps | 9000 | 65.00ms | 1.00ms | 0.00ms | 42 | 172.16.0.84/31 | activated | pending | 5FMtd5Woq5XAAg54...\n
"},{"location":"it/contribute-provisioning/#controlli-degli-agent","title":"Controlli degli Agent","text":"

Sullo switch:

# Config agent should show successful config pulls\nswitch# show agent doublezero-agent logs | tail -20\n\n# Telemetry agent should show successful submissions\nswitch# show agent doublezero-telemetry logs | tail -20\n
"},{"location":"it/contribute-provisioning/#diagramma-di-verifica-finale","title":"Diagramma di Verifica Finale","text":"
flowchart TB\n    subgraph \"Verification Checklist\"\n        D[Device Status: activated?]\n        I[Interfaces: registered?]\n        L[Links: activated?]\n        CA[Config Agent: pulling config?]\n        TA[Telemetry Agent: submitting metrics?]\n    end\n\n    D --> PASS\n    I --> PASS\n    L --> PASS\n    CA --> PASS\n    TA --> PASS\n\n    PASS[All Checks Pass] --> NOTIFY[Notify DZF/Malbec Labs<br/>You are technically ready!]
"},{"location":"it/contribute-provisioning/#risoluzione-dei-problemi","title":"Risoluzione dei Problemi","text":""},{"location":"it/contribute-provisioning/#creazione-del-dispositivo-fallisce","title":"Creazione del dispositivo fallisce","text":""},{"location":"it/contribute-provisioning/#link-bloccato-nello-stato-requested","title":"Link bloccato nello stato \"requested\"","text":""},{"location":"it/contribute-provisioning/#config-agent-non-si-connette","title":"Config Agent non si connette","text":""},{"location":"it/contribute-provisioning/#telemetry-agent-non-invia","title":"Telemetry Agent non invia","text":""},{"location":"it/contribute-provisioning/#prossimi-passi","title":"Prossimi Passi","text":""},{"location":"it/contribute/","title":"Requisiti e Architettura per i Contributori","text":"

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.

"},{"location":"it/contribute/#sommario","title":"Sommario","text":"

Chiunque desideri monetizzare i propri cavi in fibra ottica e hardware di rete sottoutilizzati pu\u00f2 contribuire alla rete DoubleZero. I contributori di rete devono fornire larghezza di banda dedicata tra due punti, operare dispositivi compatibili con DoubleZero (DZD) ad entrambe le estremit\u00e0, e una connessione alla rete internet pubblica ad entrambe le estremit\u00e0. I contributori di rete devono anche eseguire il software DoubleZero su ogni DZD per fornire servizi come multicast, ricerca utenti e filtraggio perimetrale.

Lo smart contract DoubleZero \u00e8 il pilastro fondamentale per garantire che la rete mantenga link di alta qualit\u00e0 che possono essere misurati e integrati nella topologia, consentendo ai nostri controller di rete di sviluppare il percorso end-to-end pi\u00f9 efficiente tra i diversi utenti e endpoint. A seguito dell'esecuzione dello smart contract e del deployment dell'infrastruttura di rete e della larghezza di banda, un'entit\u00e0 viene classificata come contributore di rete. Consulta DoubleZero Economics per comprendere ulteriormente l'economia alla base della partecipazione a DoubleZero come contributore di rete.

"},{"location":"it/contribute/#requisiti-per-diventare-un-contributore-di-rete-doublezero","title":"Requisiti per Diventare un Contributore di Rete DoubleZero","text":""},{"location":"it/contribute/#guida-rapida-allavvio","title":"Guida Rapida all'Avvio","text":"

Come contributore di rete, il modo pi\u00f9 semplice per iniziare con DoubleZero \u00e8 identificare la capacit\u00e0 nella propria rete che pu\u00f2 essere dedicata a DoubleZero. Una volta identificata, i DZD devono essere distribuiti, facilitando la rete overlay DoubleZero che richiede solo raggiungibilit\u00e0 IPv4 e un MTU minimo di 2048 byte come dipendenze dalla rete del contributore.

La Figura 1 illustra il modello pi\u00f9 semplice per contribuire con larghezza di banda e servizi di invio ed elaborazione dei pacchetti. Un DZD viene distribuito in ogni data center, interfacciandosi con la rete interna del contributore per fornire connettivit\u00e0 WAN DoubleZero. Questo \u00e8 integrato da un accesso internet locale, tipicamente una soluzione Direct Internet Access (DIA), utilizzata come punto di accesso per gli utenti DoubleZero. Mentre ci si aspetta che il DIA sia l'opzione preferita per facilitare l'accesso agli utenti di DoubleZero, sono possibili numerosi modelli di connettivit\u00e0, ad esempio cablaggio fisico ai server, estensione del fabric di rete, ecc. Ci riferiamo a queste opzioni come Choose Your Own Adventure (CYOA), fornendo al contributore la flessibilit\u00e0 di connettere utenti locali o remoti nel modo che meglio si adatta alle proprie politiche di rete interne.

Come in qualsiasi rete, la raggiungibilit\u00e0 \u00e8 una parte fondamentale dell'architettura poich\u00e9 i contributori di rete non possono vivere in isolamento. Pertanto, il DZD deve avere un link a un DoubleZero Exchange (DZX) per creare una rete contigua tra i partecipanti.

Figura 1: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 2 Data Center - Singolo Contributore"},{"location":"it/contribute/#esempi-di-contributo","title":"Esempi di Contributo","text":"

I modi in cui un contributore di rete pu\u00f2 ampliare i propri contributi a DoubleZero sono molteplici, tra cui:

"},{"location":"it/contribute/#esempio-1-singolo-contributore-3-data-center-due-link","title":"Esempio 1: Singolo Contributore, 3 Data Center, Due Link","text":"Figura 2: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 3 Data Center - Singolo Contributore

Un singolo DZD pu\u00f2 supportare pi\u00f9 link contribuiti a DoubleZero. La Figura 2 illustra una potenziale topologia se un singolo data center, indicato come 1, termina la larghezza di banda verso due diversi data center remoti 2 e 3. In questo scenario, ogni data center contiene solo 1 DZD. Tutti i DZD utilizzano il DIA per i punti di accesso degli utenti come interfaccia CYOA.

"},{"location":"it/contribute/#esempio-2-singolo-contributore-3-data-center-tre-link","title":"Esempio 2: Singolo Contributore, 3 Data Center, Tre Link","text":"

La Figura 3 descrive la topologia DoubleZero quando un singolo contributore distribuisce tre link in una topologia a triangolo tra 3 data center. In uno scenario simile all'esempio 1, un singolo DZD viene distribuito nei data center 1, 2 e 3, ognuno dei quali supporta 2 link di rete indipendenti. La topologia risultante \u00e8 un triangolo o anello tra i data center.

Figura 3: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 3 Data Center - Singolo Contributore"},{"location":"it/contribute/#doublezero-exchange","title":"DoubleZero Exchange","text":"

La creazione di una rete contigua \u00e8 un elemento fondamentale dell'architettura DoubleZero. I contributori si interfacciano tramite un DoubleZero Exchange (DZX) all'interno di un'area metropolitana, ovvero una citt\u00e0 come New York (NYC), Londra (LON) o Tokyo (TYO). Un DZX \u00e8 un fabric di rete simile a un Internet Exchange, che consente il peering e lo scambio di route.

Nella Figura 4, il contributore di rete 1 opera nei data center 1, 2 e 3, mentre il contributore di rete 2 opera nei data center 2, 4 e 5. Interconnettendosi nel data center 2, la portata della rete DoubleZero si estende a 5 data center contigui.

Figura 4: Contributo di Larghezza di Banda alla Rete DoubleZero Tra 2 Contributori di Larghezza di Banda"},{"location":"it/contribute/#opzioni-di-contributo-della-larghezza-di-banda","title":"Opzioni di Contributo della Larghezza di Banda","text":"

DoubleZero richiede a un contributore di rete di offrire connettivit\u00e0 integrata tramite una larghezza di banda garantita, un profilo di latenza e jitter tra DZD in due data center di terminazione espresso tramite uno smart contract. DoubleZero non impone come un contributore di rete implementa il proprio contributo, tuttavia, nelle sezioni seguenti forniamo opzioni indicative per l'utilizzo a loro esclusiva discrezione.

Aree importanti da considerare per un contributore di rete potrebbero essere:

"},{"location":"it/contribute/#larghezza-di-banda-layer-1","title":"Larghezza di Banda Layer 1","text":"Figura 5: Servizi Ottici Layer 1

La larghezza di banda Layer 1, pi\u00f9 formalmente descritta come servizi a lunghezza d'onda, pu\u00f2 prevedere capacit\u00e0 dedicata su un'infrastruttura ottica esistente, come DWDM, CWDM o tramite multiplexer ottici (MUX). Nella Figura 5, i DZD utilizzano un'ottica colorata cablata a un MUX L1, che sovrappone la lunghezza d'onda del DZD su una fibra scura esistente.

Questa soluzione offre numerosi vantaggi per i contributori di rete che gi\u00e0 gestiscono una rete core esistente. Le modifiche operative iterative, cos\u00ec come i requisiti aggiuntivi di CAPEX e OPEX, sono modesti. Questa opzione \u00e8 particolarmente robusta nell'offrire segregazione dai servizi di rete del contributore.

"},{"location":"it/contribute/#larghezza-di-banda-packet-switched","title":"Larghezza di Banda Packet Switched","text":"

Le reti packet switched possono essere considerate una tipica rete aziendale, che esegue protocolli standard di routing e switching a supporto delle applicazioni aziendali. Esistono numerose tecnologie di rete che raggiungono la connettivit\u00e0, ad esempio estensioni layer 2 (L2) tramite tag VLAN.

"},{"location":"it/contribute/#estensione-l2","title":"Estensione L2","text":"Figura 6: Reti Packet Switched - Estensione L2

Un'estensione L2 come mostrato nella Figura 6 pu\u00f2 essere facilitata tramite il tagging VLAN. La porta di un DZD pu\u00f2 essere cablata a uno switch della rete interna del contributore, con la porta dello switch impostata come porta di accesso, ad esempio, nella VLAN 10. Tramite il tagging 802.1q, questa VLAN pu\u00f2 essere trasportata su pi\u00f9 hop di switch sulla rete del contributore, terminando allo switch che si interfaccia con il DZD remoto.

Questa soluzione beneficia di un'ampia compatibilit\u00e0 e di una relativa facilit\u00e0 di implementazione, creando al contempo segmentazione tra DoubleZero e i servizi layer 3 interni. La larghezza di banda pu\u00f2 essere controllata in base alla velocit\u00e0 dell'interfaccia dello switch o router interno del contributore. Occorre prestare particolare attenzione alle prestazioni attraverso la rete L2 interna condivisa tramite tecnologie come Quality of Service (QoS) o altre politiche di gestione del traffico. Tuttavia, gli investimenti aggiuntivi in CAPEX e OPEX dovrebbero essere modesti se \u00e8 disponibile capacit\u00e0 esistente nella rete core del contributore.

"},{"location":"it/contribute/#larghezza-di-banda-di-terze-parti-dedicata","title":"Larghezza di Banda di Terze Parti Dedicata","text":"Figura 7: Larghezza di Banda di Terze Parti Dedicata

Sebbene il riutilizzo della capacit\u00e0 disponibile sar\u00e0 interessante per molti contributori di rete, \u00e8 possibile anche dedicare larghezza di banda appena acquisita a DoubleZero. In tale scenario, il DZD si collegherebbe direttamente al gestore di terze parti senza alcun dispositivo interno del contributore in linea (Figura 7).

Questa opzione \u00e8 interessante in quanto garantisce larghezza di banda dedicata per DoubleZero, \u00e8 semplice dal punto di vista operativo e garantisce una completa segmentazione da qualsiasi altro servizio di rete. Questa opzione avr\u00e0 probabilmente il maggiore aumento dell'OPEX e richiede nuovi contratti di servizio con gestori di terze parti.

"},{"location":"it/contribute/#requisiti-hardware","title":"Requisiti Hardware","text":""},{"location":"it/contribute/#contributo-di-larghezza-di-banda-100gbps","title":"Contributo di Larghezza di Banda 100Gbps","text":"

Si noti che le quantit\u00e0 riportate di seguito riflettono l'attrezzatura necessaria in due data center, ovvero l'hardware totale necessario per distribuire 1 cavo in fibra ottica per il contributo di larghezza di banda.

*Tutti gli FPGA sono soggetti a test finali. I contributi 10G possono essere supportati utilizzando switch Arista 7130LBR con FPGA dual Virtex\u00ae UltraScale+\u2122 integrati (per qualsiasi domanda, DoubleZero Foundation / Malbec Labs sono lieti di fornire ulteriori informazioni)."},{"location":"it/contribute/#requisiti-di-funzione-e-porta","title":"Requisiti di Funzione e Porta","text":"Funzione Velocit\u00e0 Porta Requisito DZ QTY Note Larghezza di Banda Privata 100G S\u00ec 1 Direct Internet Access (DIA) 10G S\u00ec 2 DoubleZero eXchange (DZX) 100G S\u00ec* 1 Deve essere supportato una volta che pi\u00f9 di 3 provider operano nella stessa area metropolitana; prima di ci\u00f2, cross-connect o altri accordi di peering possono essere utilizzati per interconnettersi con altri provider. Management No 1 Determinato dalle politiche di gestione interne del contributore. Console No 1 Determinato dalle politiche di gestione interne del contributore."},{"location":"it/contribute/#hardware-di-rete-dzd","title":"Hardware di Rete DZD","text":"Produttore Modello Numero Parte Requisito DZ QTY Note AMD* V80* 24540474 S\u00ec 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ec 2 Possono essere possibili alternative se i lead time sono problematici."},{"location":"it/contribute/#ottiche-100g","title":"Ottiche - 100G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR No 16 Scelta di cablaggio e ottica a discrezione del contributore. 100G richiesto per connettere gli FPGA."},{"location":"it/contribute/#ottiche-10g","title":"Ottiche - 10G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 10GBASE-LR SFP-10G-LR No 2 Scelta di cablaggio e ottica a discrezione del contributore. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 2 Scelta di cablaggio e ottica a discrezione del contributore."},{"location":"it/contribute/#indirizzamento-ip","title":"Indirizzamento IP","text":"Indirizzamento IP Dimensione Minima Sottorete Requisito DZ Note IPv4 Pubblico /29 S\u00ec (per DZD edge/hybrid) Deve essere instradabile tramite DIA. Potremmo eliminare la necessit\u00e0 di questo nel tempo.

Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Eventuali requisiti per l'indirizzamento point-to-point, ad esempio sulle interfacce DIA, devono essere gestiti tramite un pool di indirizzi diverso.

"},{"location":"it/contribute/#contributo-di-larghezza-di-banda-10gbps","title":"Contributo di Larghezza di Banda 10Gbps","text":"

Si noti che le quantit\u00e0 riflettono l'attrezzatura di due data center, ovvero l'hardware totale necessario per distribuire 1 contributo di larghezza di banda.

"},{"location":"it/contribute/#requisiti-di-funzione-e-porta_1","title":"Requisiti di Funzione e Porta","text":"Funzione Velocit\u00e0 Porta Requisito DZ QTY Note Larghezza di Banda Privata 10G S\u00ec 1 Direct Internet Access (DIA) 10G S\u00ec 2 DoubleZero eXchange (DZX) 100G S\u00ec* 1 Deve essere supportato una volta che pi\u00f9 di 3 provider operano nella stessa area metropolitana; prima di ci\u00f2, cross-connect o altri accordi di peering possono essere utilizzati per interconnettersi con altri provider. Management No 1 Determinato dalle politiche di gestione interne del contributore. Console No 1 Determinato dalle politiche di gestione interne del contributore."},{"location":"it/contribute/#hardware","title":"Hardware","text":"Produttore Modello Numero Parte Requisito DZ QTY Note AMD* V80* 24540474* S\u00ec 4 Arista 7280CR3A DCS-7280CR3A-32S S\u00ec 2 Possono essere possibili alternative se i lead time sono problematici."},{"location":"it/contribute/#ottiche-100g_1","title":"Ottiche - 100G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 100GBASE-LR QSFP-100G-LR No 14 Scelta di cablaggio e ottica a discrezione del contributore. 100G richiesto per connettere gli FPGA."},{"location":"it/contribute/#ottiche-10g_1","title":"Ottiche - 10G","text":"Produttore Modello Numero Parte Requisito DZ QTY Note Arista 10GBASE-LR SFP-10G-LR No 4 Scelta di cablaggio e ottica a discrezione del contributore. Finisar DynamiX QSA\u2122 MAM1Q00A-QSA No 4 Scelta di cablaggio e ottica a discrezione del contributore."},{"location":"it/contribute/#indirizzamento-ip_1","title":"Indirizzamento IP","text":"Indirizzamento IP Dimensione Minima Sottorete Requisito DZ Note IPv4 Pubblico /29 S\u00ec (per DZD edge/hybrid) Deve essere instradabile tramite DIA. Potremmo eliminare la necessit\u00e0 di questo nel tempo.

Assicurarsi che l'intero pool /29 sia disponibile per il protocollo DZ. Eventuali requisiti per l'indirizzamento point-to-point, ad esempio sulle interfacce DIA, devono essere gestiti tramite un pool di indirizzi diverso.

"},{"location":"it/contribute/#requisiti-del-data-center","title":"Requisiti del Data Center","text":""},{"location":"it/contribute/#requisiti-di-rack-e-alimentazione","title":"Requisiti di Rack e Alimentazione","text":"Requisito Specifica Spazio Rack 4U Alimentazione 4KW (raccomandato)"},{"location":"it/contribute/#prossimi-passi","title":"Prossimi Passi","text":"

Pronto a effettuare il provisioning del tuo primo DZD? Continua con la Guida al Provisioning dei Dispositivi.

"},{"location":"it/glossary/","title":"Glossario","text":"

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.

Questa pagina definisce la terminologia specifica di DoubleZero utilizzata in tutta la documentazione.

"},{"location":"it/glossary/#infrastruttura-di-rete","title":"Infrastruttura di Rete","text":""},{"location":"it/glossary/#dzd-doublezero-device","title":"DZD (DoubleZero Device)","text":"

L'hardware di switching di rete fisico che termina i link DoubleZero ed esegue il software DoubleZero Agent. I DZD vengono distribuiti nei data center e forniscono servizi di routing, elaborazione dei pacchetti e connettivit\u00e0 degli utenti. Ogni DZD richiede specifiche hardware specifiche ed esegue sia il Config Agent che il Telemetry Agent.

"},{"location":"it/glossary/#dzx-doublezero-exchange","title":"DZX (DoubleZero Exchange)","text":"

Punti di interconnessione nella rete mesh dove diversi link dei contributori vengono collegati insieme. Le DZX sono situate nelle principali aree metropolitane (es. NYC, LON, TYO) dove si verificano le intersezioni di rete. I contributori di rete devono cross-connectare i propri link nella pi\u00f9 ampia rete DoubleZero mesh presso la DZX pi\u00f9 vicina. Concettualmente simile a un Internet Exchange (IX).

"},{"location":"it/glossary/#wan-link","title":"WAN Link","text":"

Un link Wide Area Network tra due DZD operati dallo stesso contributore. I WAN link forniscono connettivit\u00e0 backbone all'interno dell'infrastruttura di un singolo contributore.

"},{"location":"it/glossary/#dzx-link","title":"DZX Link","text":"

Un link tra DZD operati da diversi contributori, stabilito presso una DZX. I DZX link richiedono accettazione esplicita da entrambe le parti.

"},{"location":"it/glossary/#dz-prefix","title":"DZ Prefix","text":"

Allocazioni di indirizzi IP in formato CIDR assegnate a un DZD per l'indirizzamento della rete overlay. Specificato durante la creazione del dispositivo usando il parametro --dz-prefixes.

"},{"location":"it/glossary/#tipi-di-dispositivo","title":"Tipi di Dispositivo","text":""},{"location":"it/glossary/#dispositivo-edge","title":"Dispositivo Edge","text":"

Un DZD che fornisce connettivit\u00e0 utente alla rete DoubleZero. I dispositivi edge sfruttano le interfacce CYOA per terminare gli utenti (validatori, operatori RPC) e connetterli alla rete.

"},{"location":"it/glossary/#dispositivo-transit","title":"Dispositivo Transit","text":"

Un DZD che fornisce connettivit\u00e0 backbone all'interno della rete DoubleZero. I dispositivi transit spostano il traffico tra i DZD ma non terminano direttamente le connessioni utente.

"},{"location":"it/glossary/#dispositivo-hybrid","title":"Dispositivo Hybrid","text":"

Un DZD che combina le funzionalit\u00e0 sia di edge che di transit, fornendo sia connettivit\u00e0 utente che routing backbone.

"},{"location":"it/glossary/#connettivita","title":"Connettivit\u00e0","text":""},{"location":"it/glossary/#cyoa-choose-your-own-adventure","title":"CYOA (Choose Your Own Adventure)","text":"

Tipi di interfaccia che consentono ai contributori di registrare opzioni di connettivit\u00e0 per gli utenti per connettersi alla rete DoubleZero. Le interfacce CYOA includono vari metodi come DIA, tunnel GRE e peering privato. Consulta Creazione Interfacce CYOA per i dettagli di configurazione.

"},{"location":"it/glossary/#dia-direct-internet-access","title":"DIA (Direct Internet Access)","text":"

Un termine di rete standard per la connettivit\u00e0 fornita tramite l'internet pubblico. In DoubleZero, DIA \u00e8 un tipo di interfaccia CYOA dove gli utenti (validatori, operatori RPC) si connettono a un DZD tramite la loro connessione internet esistente.

"},{"location":"it/glossary/#ibrl-increase-bandwidth-reduce-latency","title":"IBRL (Increase Bandwidth Reduce Latency)","text":"

Una modalit\u00e0 di connessione che consente a validatori e nodi RPC di connettersi a DoubleZero senza riavviare i propri client blockchain. IBRL utilizza l'indirizzo IP pubblico esistente e stabilisce un tunnel overlay verso il DZD pi\u00f9 vicino. Consulta Connessione Mainnet-Beta per le istruzioni di configurazione.

"},{"location":"it/glossary/#multicast","title":"Multicast","text":"

Un metodo di consegna dei pacchetti one-to-many supportato da DoubleZero. La modalit\u00e0 multicast ha due ruoli: publisher (invia pacchetti attraverso la rete) e subscriber (riceve pacchetti dal publisher). Utilizzato dai team di sviluppo per la distribuzione efficiente dei dati. Consulta Altra Connessione Multicast per i dettagli di connessione.

"},{"location":"it/glossary/#componenti-software","title":"Componenti Software","text":""},{"location":"it/glossary/#doublezerod","title":"doublezerod","text":"

Il servizio daemon DoubleZero che viene eseguito sui server degli utenti (validatori, nodi RPC). Gestisce la connessione alla rete DoubleZero, gestisce la creazione dei tunnel e mantiene la connettivit\u00e0 ai DZD. Configurato tramite systemd e controllato attraverso la CLI doublezero.

"},{"location":"it/glossary/#doublezero-cli","title":"doublezero (CLI)","text":"

L'interfaccia a riga di comando per interagire con la rete DoubleZero. Utilizzata per connettersi, gestire le identit\u00e0, controllare lo stato ed eseguire operazioni amministrative. Comunica con il daemon doublezerod.

"},{"location":"it/glossary/#config-agent","title":"Config Agent","text":"

Agente software in esecuzione sui DZD che gestisce la configurazione del dispositivo. Legge la configurazione dal servizio Controller e applica le modifiche al dispositivo. Consulta Installazione Config Agent per la configurazione.

"},{"location":"it/glossary/#telemetry-agent","title":"Telemetry Agent","text":"

Agente software in esecuzione sui DZD che raccoglie metriche di prestazione (latenza, jitter, perdita di pacchetti) e le invia al registro DoubleZero. Consulta Installazione Telemetry Agent per la configurazione.

"},{"location":"it/glossary/#controller","title":"Controller","text":"

Un servizio che fornisce la configurazione agli agenti DZD. Il Controller deriva le configurazioni dei dispositivi dallo stato onchain nel registro DoubleZero.

"},{"location":"it/glossary/#stati-dei-link","title":"Stati dei Link","text":""},{"location":"it/glossary/#activated","title":"Activated","text":"

Lo stato operativo normale di un link. Il traffico scorre attraverso il link e partecipa alle decisioni di routing.

"},{"location":"it/glossary/#soft-drained","title":"Soft-Drained","text":"

Uno stato di manutenzione in cui il traffico sar\u00e0 scoraggiato su un link specifico. Utilizzato per finestre di manutenzione graduali. Pu\u00f2 passare a activated o hard-drained.

"},{"location":"it/glossary/#hard-drained","title":"Hard-Drained","text":"

Uno stato di manutenzione in cui il link \u00e8 completamente rimosso dal servizio. Nessun traffico scorre attraverso il link. Deve passare a soft-drained prima di tornare a activated.

"},{"location":"it/glossary/#organizzazioni-e-token","title":"Organizzazioni e Token","text":""},{"location":"it/glossary/#dzf-doublezero-foundation","title":"DZF (DoubleZero Foundation)","text":"

La DoubleZero Foundation \u00e8 una societ\u00e0 fondazionale senza soci delle Isole Cayman costituita per supportare lo sviluppo, la decentralizzazione, la sicurezza e l'adozione della rete DoubleZero.

"},{"location":"it/glossary/#token-2z","title":"Token 2Z","text":"

Il token nativo della rete DoubleZero. Utilizzato per pagare le commissioni dei validatori e distribuito come ricompense ai contributori. I validatori possono pagare le commissioni in 2Z tramite un programma di swap on-chain. Consulta Pagamento Commissioni con 2Z e Scambio SOL per 2Z.

"},{"location":"it/glossary/#contributor","title":"Contributor","text":"

Un provider di infrastrutture di rete che contribuisce larghezza di banda e hardware alla rete DoubleZero. I contributori operano DZD, forniscono link WAN e DZX, e ricevono incentivi in token 2Z per il loro contributo. Consulta la Documentazione Contributori per iniziare.

"},{"location":"it/glossary/#concetti-di-rete","title":"Concetti di Rete","text":""},{"location":"it/glossary/#mtu-maximum-transmission-unit","title":"MTU (Maximum Transmission Unit)","text":"

La dimensione massima del pacchetto (in byte) che pu\u00f2 essere trasmessa su un link di rete. I WAN link DoubleZero utilizzano tipicamente MTU 9000 (jumbo frame) per l'efficienza.

"},{"location":"it/glossary/#vrf-virtual-routing-and-forwarding","title":"VRF (Virtual Routing and Forwarding)","text":"

Una tecnologia che consente a pi\u00f9 tabelle di routing isolate di esistere sullo stesso router fisico. I contributori spesso utilizzano un VRF di gestione separato per isolare il traffico di gestione degli switch dal traffico di produzione.

"},{"location":"it/glossary/#gre-generic-routing-encapsulation","title":"GRE (Generic Routing Encapsulation)","text":"

Un protocollo di tunneling che incapsula i pacchetti di rete all'interno di pacchetti IP. Utilizzato dalle connessioni IBRL e CYOA per creare tunnel overlay tra utenti e DZD.

"},{"location":"it/glossary/#bgp-border-gateway-protocol","title":"BGP (Border Gateway Protocol)","text":"

Il protocollo di routing utilizzato per lo scambio di informazioni di routing tra reti su internet. DoubleZero utilizza BGP internamente con ASN 65342.

"},{"location":"it/glossary/#asn-autonomous-system-number","title":"ASN (Autonomous System Number)","text":"

Un identificatore univoco assegnato a una rete per il routing BGP. Tutti i dispositivi DoubleZero utilizzano ASN 65342 per il processo BGP interno.

"},{"location":"it/glossary/#interfaccia-loopback","title":"Interfaccia Loopback","text":"

Un'interfaccia di rete virtuale su un router/switch utilizzata per scopi di gestione e routing. I DZD utilizzano Loopback255 (VPNv4) e Loopback256 (IPv4) per il routing interno.

"},{"location":"it/glossary/#cidr-classless-inter-domain-routing","title":"CIDR (Classless Inter-Domain Routing)","text":"

Una notazione per specificare gli intervalli di indirizzi IP. Il formato \u00e8 IP/lunghezza-prefisso dove la lunghezza del prefisso indica le dimensioni della rete (es. /29 = 8 indirizzi, /24 = 256 indirizzi).

"},{"location":"it/glossary/#jitter","title":"Jitter","text":"

Variazione nella latenza dei pacchetti nel tempo. Il jitter basso \u00e8 fondamentale per le applicazioni in tempo reale.

"},{"location":"it/glossary/#rtt-round-trip-time","title":"RTT (Round-Trip Time)","text":"

Il tempo necessario a un pacchetto per viaggiare dalla sorgente alla destinazione e ritorno. Utilizzato per misurare la latenza di rete tra i dispositivi.

"},{"location":"it/glossary/#twamp-two-way-active-measurement-protocol","title":"TWAMP (Two-Way Active Measurement Protocol)","text":"

Un protocollo per la misurazione delle metriche di prestazione di rete come latenza e perdita di pacchetti. Il Telemetry Agent utilizza TWAMP per raccogliere metriche tra i DZD.

"},{"location":"it/glossary/#is-is-intermediate-system-to-intermediate-system","title":"IS-IS (Intermediate System to Intermediate System)","text":"

Un protocollo di routing link-state utilizzato internamente dalla rete DoubleZero. Le metriche IS-IS vengono regolate durante le operazioni di drenaggio dei link.

"},{"location":"it/glossary/#blockchain-e-chiavi","title":"Blockchain e Chiavi","text":""},{"location":"it/glossary/#onchain","title":"Onchain","text":"

Nel contesto DoubleZero, onchain si riferisce a dati e operazioni registrati nel registro DoubleZero. A differenza delle reti tradizionali dove le configurazioni di dispositivi e link risiedono in sistemi di gestione centralizzati, DoubleZero registra le registrazioni dei dispositivi, le configurazioni dei link e le trasmissioni di telemetria onchain, rendendo lo stato della rete trasparente e verificabile da tutti i partecipanti.

"},{"location":"it/glossary/#service-key","title":"Service Key","text":"

Un keypair crittografico utilizzato per autenticare le operazioni CLI. Questa \u00e8 la tua identit\u00e0 di contributore per interagire con lo smart contract DoubleZero. Memorizzata in ~/.config/solana/id.json.

"},{"location":"it/glossary/#metrics-publisher-key","title":"Metrics Publisher Key","text":"

Un keypair crittografico utilizzato dal Telemetry Agent per firmare le trasmissioni di metriche alla blockchain. Separata dalla service key per l'isolamento della sicurezza. Memorizzata in ~/.config/doublezero/metrics-publisher.json.

"},{"location":"it/glossary/#hardware-e-software","title":"Hardware e Software","text":""},{"location":"it/glossary/#eos-extensible-operating-system","title":"EOS (Extensible Operating System)","text":"

Il sistema operativo di rete di Arista che viene eseguito sugli switch DZD. I contributori installano Config Agent e Telemetry Agent come estensioni EOS.

"},{"location":"it/glossary/#eos-extension","title":"EOS Extension","text":"

Un pacchetto software che pu\u00f2 essere installato sugli switch Arista EOS. Gli agenti DZ vengono distribuiti come file .rpm e installati tramite il comando extension.

"},{"location":"it/multicast-admin/","title":"Multicast admin","text":"

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.

"},{"location":"it/multicast-admin/#gestione-dei-gruppi-multicast-in-doublezero","title":"Gestione dei Gruppi Multicast in DoubleZero","text":"

Un gruppo multicast \u00e8 una raccolta logica di dispositivi o nodi di rete che condividono un identificatore comune (tipicamente un indirizzo IP multicast) per trasmettere in modo efficiente i dati a pi\u00f9 destinatari. A differenza della comunicazione unicast (uno-a-uno) o broadcast (uno-a-tutti), il multicast consente a un mittente di trasmettere un singolo flusso di dati che viene replicato dalla rete solo per i ricevitori che si sono uniti al gruppo.

Questo approccio ottimizza l'utilizzo della larghezza di banda e riduce il carico sia sul mittente che sull'infrastruttura di rete, poich\u00e9 i pacchetti vengono trasmessi una sola volta per link e duplicati solo quando necessario per raggiungere pi\u00f9 subscriber. I gruppi multicast sono comunemente utilizzati in scenari come lo streaming video in diretta, le conferenze, la distribuzione di dati finanziari e i sistemi di messaggistica in tempo reale.

In DoubleZero, i gruppi multicast forniscono un meccanismo sicuro e controllato per gestire chi pu\u00f2 inviare (publisher) e ricevere (subscriber) dati all'interno di ciascun gruppo, garantendo una distribuzione delle informazioni efficiente e governata.

flowchart LR\n    subgraph Publisher\n        P1[Publisher 1]\n        P2[Publisher 2]\n        P3[Publisher 3]\n    end\n    subgraph Subscriber\n        S1[Subscriber 1]\n        S2[Subscriber 2]\n        S3[Subscriber 3]\n        S4[Subscriber 4]\n    end\n    P1 --> B[Gruppo Multicast]\n    P2 --> B\n    P3 --> B\n    B --> S1\n    B --> S2\n    B --> S3\n    B --> S4

Il diagramma sopra mostra come pi\u00f9 utenti possono pubblicare messaggi in un gruppo multicast e come pi\u00f9 utenti possono sottoscrivere per ricevere quei messaggi. La rete DoubleZero replica efficientemente i pacchetti, garantendo che tutti i subscriber ricevano i messaggi senza inutile overhead di trasmissione.

"},{"location":"it/multicast-admin/#1-creazione-e-visualizzazione-dei-gruppi-multicast","title":"1. Creazione e Visualizzazione dei Gruppi Multicast","text":"

I gruppi multicast sono la base per la distribuzione sicura ed efficiente dei dati in DoubleZero. Ogni gruppo \u00e8 identificato in modo univoco e configurato con una larghezza di banda specifica e un proprietario. Solo gli amministratori della DoubleZero Foundation possono creare nuovi gruppi multicast, garantendo una corretta governance e allocazione delle risorse.

Una volta creati, i gruppi multicast possono essere elencati per fornire una panoramica di tutti i gruppi disponibili, della loro configurazione e del loro stato attuale. Questo \u00e8 essenziale per gli operatori di rete e i proprietari dei gruppi per monitorare le risorse e gestire gli accessi.

Creazione di un gruppo multicast:

Solo la DoubleZero Foundation pu\u00f2 creare nuovi gruppi multicast. Il comando di creazione richiede un codice univoco, la larghezza di banda massima e la chiave pubblica del proprietario (o 'me' per il pagante corrente).

doublezero multicast group create --code <CODE> --max-bandwidth <MAX_BANDWIDTH> --owner <OWNER>\n

Elenco di tutti i gruppi multicast:

Per elencare tutti i gruppi multicast e visualizzare le informazioni di riepilogo (inclusi codice gruppo, IP multicast, larghezza di banda, numero di publisher e subscriber, stato e proprietario):

doublezero multicast group list\n

Esempio di output:

 account                                      | code             | multicast_ip | max_bandwidth | publishers | subscribers | status    | owner\n 3eUvZvcpCtsfJ8wqCZvhiyBhbY2Sjn56JcQWpDwsESyX | jito-shredstream | 233.84.178.2 | 200Mbps       | 8          | 0           | activated | 44NdeuZfjhHg61grggBUBpCvPSs96ogXFDo1eRNSKj42\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01             | 233.84.178.0 | 1Gbps         | 0          | 0           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 2CuZeqMrQsrJ4h4PaAuTEpL3ETHQNkSC2XDo66vbDoxw | reserve          | 233.84.178.1 | 100Kbps       | 0          | 0           | activated | DZfPq5hgfwrSB3aKAvcbua9MXE3CABZ233yj6ymncmnd\n 4LezgDr5WZs9XNTgajkJYBsUqfJYSd19rCHekNFCcN5D | turbine          | 233.84.178.3 | 1Gbps         | 0          | 4           | activated | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Questo comando mostra una tabella con tutti i gruppi multicast e le loro principali propriet\u00e0: - account: Indirizzo account del gruppo - code: Codice del gruppo multicast - multicast_ip: Indirizzo IP multicast assegnato al gruppo - max_bandwidth: Larghezza di banda massima consentita per il gruppo - publishers: Numero di publisher nel gruppo - subscribers: Numero di subscriber nel gruppo - status: Stato attuale (es. activated) - owner: Chiave pubblica del proprietario

Una volta creato un gruppo, il proprietario pu\u00f2 gestire quali utenti sono autorizzati a connettersi come publisher o subscriber.

"},{"location":"it/multicast-admin/#2-gestione-delle-allowlist-publishersubscriber","title":"2. Gestione delle Allowlist Publisher/Subscriber","text":"

Le allowlist di publisher e subscriber sono essenziali per controllare l'accesso ai gruppi multicast in DoubleZero. Queste liste definiscono esplicitamente quali utenti sono autorizzati a pubblicare (inviare dati) o sottoscrivere (ricevere dati) all'interno di un gruppo multicast specifico.

La gestione di queste liste \u00e8 responsabilit\u00e0 del proprietario del gruppo, che pu\u00f2 aggiungere, rimuovere o visualizzare publisher e subscriber autorizzati usando la CLI DoubleZero. Una corretta gestione delle allowlist \u00e8 fondamentale per mantenere la sicurezza, l'integrit\u00e0 e la tracciabilit\u00e0 delle comunicazioni multicast.

Nota: Per sottoscrivere o pubblicare in un gruppo multicast, un utente deve prima essere autorizzato a connettersi a DoubleZero seguendo le procedure di connessione standard. I comandi allowlist descritti qui associano solo un utente DoubleZero gi\u00e0 autorizzato a un gruppo multicast. L'aggiunta di un nuovo IP all'allowlist di un gruppo multicast non concede di per s\u00e9 l'accesso a DoubleZero; l'utente deve aver gi\u00e0 completato il processo di autorizzazione generale prima di interagire con i gruppi multicast.

"},{"location":"it/multicast-admin/#aggiunta-di-un-publisher-allallowlist","title":"Aggiunta di un publisher all'allowlist","text":"
doublezero multicast group allowlist publisher add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#rimozione-di-un-publisher-dallallowlist","title":"Rimozione di un publisher dall'allowlist","text":"
doublezero multicast group allowlist publisher remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#visualizzazione-dellallowlist-publisher-per-un-gruppo","title":"Visualizzazione dell'allowlist publisher per un gruppo","text":"

Per elencare tutti i publisher nell'allowlist per un gruppo multicast specifico, usa:

doublezero multicast group allowlist publisher list --code <CODE>\n

Esempio:

doublezero multicast group allowlist publisher list --code mg01\n

Esempio di output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Questo comando mostra tutti i publisher attualmente autorizzati a connettersi al gruppo specificato, inclusi il loro account, codice gruppo, IP client e pagante utente.

"},{"location":"it/multicast-admin/#aggiunta-di-un-subscriber-allallowlist","title":"Aggiunta di un subscriber all'allowlist","text":"
doublezero multicast group allowlist subscriber add --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#rimozione-di-un-subscriber-dallallowlist","title":"Rimozione di un subscriber dall'allowlist","text":"
doublezero multicast group allowlist subscriber remove --code <CODE> --client-ip <CLIENT_IP> --user-payer <USER_PAYER>\n
"},{"location":"it/multicast-admin/#visualizzazione-dellallowlist-subscriber-per-un-gruppo","title":"Visualizzazione dell'allowlist subscriber per un gruppo","text":"

Per elencare tutti i subscriber nell'allowlist per un gruppo multicast specifico, usa:

doublezero multicast group allowlist subscriber list --code <CODE>\n

Esempio:

doublezero multicast group allowlist subscriber list --code mg01\n

Esempio di output:

 account                                      | multicast_group | client_ip       | user_payer\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 186.233.185.50  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 206.189.166.187 | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 164.92.244.134  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 204.74.232.130  | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 161.35.58.190   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n 8ZmH3bx4k1JNYLyEviNAsCFxRoDoG3Y4ntVCUxu24fUF | mg01            | 159.223.46.72   | DZfHfcCXTLwgZeCRKQ1FL1UuwAwFAZM93g86NMYpfYan\n

Questo comando mostra tutti i subscriber attualmente autorizzati a connettersi al gruppo specificato, inclusi il loro account, codice gruppo, IP client e pagante utente.

Per ulteriori informazioni sulla connessione e l'utilizzo del multicast, consulta Altra Connessione Multicast.

"},{"location":"it/paying-fees/","title":"Prezzi e Commissioni per Validatori","text":"

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.

Prezzi semplici e allineati per i validatori Solana

Le commissioni inizieranno dall'epoca 859, che inizia sabato 4 ottobre alle 4:00 ET. Viene applicata una commissione fissa del 5% sulle ricompense per la firma dei blocchi e sulle commissioni prioritarie.

Le commissioni finanziano direttamente l'infrastruttura che rende possibile DoubleZero, incluse le linee in fibra fisica e le apparecchiature nei data center.

Un'esplorazione approfondita del perch\u00e9 esistono le commissioni e del modello di prezzi per i validatori \u00e8 disponibile qui.

Questa guida si concentra su come vengono pagate le commissioni dal punto di vista tecnico.

"},{"location":"it/paying-fees/#modello-di-liquidazione","title":"Modello di Liquidazione","text":""},{"location":"it/paying-fees/#stima-delle-commissioni","title":"Stima delle Commissioni","text":"

Stime storiche e dati per chiave pubblica sono disponibili nel Repository Stime Commissioni. Il repository non sostituisce i dati on-chain. Sei responsabile del saldo on-chain, non del saldo in questo repository.

Domande? Contatta Nihar Shah a nihar@doublezero.us

"},{"location":"it/paying-fees/#dettagli-per-sviluppatori","title":"Dettagli per Sviluppatori","text":""},{"location":"it/paying-fees/#interfaccia-a-riga-di-comando","title":"Interfaccia a Riga di Comando","text":"

La CLI DoubleZero fornisce comandi per gestire i depositi dei validatori e monitorare i saldi. Avrai bisogno di SOL nell'account da cui esegui questi comandi per pagare il gas.

"},{"location":"it/paying-fees/#passo-1-comprendere-il-debito-dovuto","title":"Passo 1: Comprendere il Debito Dovuto","text":"

Per visualizzare il debito a un indirizzo specifico puoi usare questo formato:

doublezero-solana revenue-distribution fetch validator-debts --node-id ValidatorIdentity111111111111111111111111111\n
Esaminiamo un esempio di output di seguito:

| node_id                                      |    total_amount | deposit_balance | note                   |\n|----------------------------------------------|-----------------|-----------------|------------------------|\n| ValidatorIdentity111111111111111111111111111 | 0.632736605 SOL | 0.000220966 SOL | 0.632515639 SOL needed |\n| ValidatorIdentity111111111111111111111111111 | 24.520162479 SOL| 0.000000000 SOL | Not funded             |\n
Nell'output di esempio ci sono due possibili output sotto note. Not funded significa che l'account non \u00e8 stato finanziato. Nell'esempio, 0.632515639 SOL needed \u00e8 l'importo in sospeso di SOL necessario per pagare tutti i debiti attualmente dovuti associati all'ID Validatore target.

"},{"location":"it/paying-fees/#passo-2-pagare-il-debito-dovuto","title":"Passo 2: Pagare il Debito Dovuto","text":"

Note

Puoi pianificare l'esecuzione di questo comando a intervalli regolari.

Per pagare il debito dovuto puoi usare il seguente comando. Utilizzer\u00e0 automaticamente il keypair predefinito in $HOME/.config/solana/id.json

Puoi specificare il keypair con cui vuoi pagare il debito aggiungendo l'argomento -k path/to/keypair.json alla fine del comando.

doublezero-solana revenue-distribution validator-deposit --fund-outstanding-debt --node-id ValidatorIdentity111111111111111111111111111\n
Di seguito \u00e8 fornito un esempio di output

Solana validator deposit: DZ_PDA_MvFTgPku3dUrw2W3dbeK5dhxmXYKKYETDUK1V\nFunded: TransactionHashHVxSobvdY2r14CkEwsBDhwf2dBmFatyeftisrdfSocMM2tXPjFvXPRmVs1xagiqKSX4b92fgt\nNode ID: ValidatorIdentity111111111111111111111111111\nBalance: 0.309294915 SOL\n

Solana validator deposit: restituisce l'account di deposito che \u00e8 stato finanziato

Funded: restituisce l'hash della transazione, che puoi cercare nel tuo explorer Solana preferito

Node ID: restituisce l'ID Validatore per cui \u00e8 stato effettuato il pagamento

Balance: restituisce l'importo di SOL nell'account di deposito, dopo il completamento del trasferimento

"},{"location":"it/paying-fees2z/","title":"Paying fees2z","text":"

Prima di accedere o utilizzare il codice o i materiali correlati, si prega di leggere il disclaimer.

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.

Disclaimer

Il presente documento e il codice correlato vengono forniti esclusivamente a scopo informativo e tecnico. La funzionalit\u00e0 di conversione token descritta in questo documento \u00e8 di tipo non-custodial. Gli utenti interagiscono direttamente con gli smart contract sottostanti, mantenendo sempre il controllo completo dei propri asset.

Il sistema pu\u00f2 dipendere da o interagire con codice di terze parti, fonti di dati o meccanismi di prezzo e commissioni (ad esempio smart contract, API o exchange decentralizzati) non sviluppati, gestiti o revisionati dagli sviluppatori e dagli emittenti. Non vengono fornite dichiarazioni o garanzie sull'accuratezza, la funzionalit\u00e0 o la sicurezza dei componenti di terze parti. Gli sviluppatori e gli emittenti di questo codice non garantiscono la sua accuratezza, completezza o disponibilit\u00e0 continua. Il codice e i materiali correlati vengono forniti \"COS\u00cc COME SONO\" e possono contenere errori, difetti o vulnerabilit\u00e0. L'utilizzo \u00e8 a proprio rischio. Gli sviluppatori e gli emittenti non riceveranno alcuna commissione per l'utilizzo di questi contratti. Non vi \u00e8 alcun obbligo di mantenimento, aggiornamento o supporto del codice o della documentazione correlata.

Il presente documento non costituisce un'offerta, una sollecitazione o una raccomandazione a partecipare alla conversione di token, allo scambio o ad altre transazioni. Non vengono forniti consulenze legali, finanziarie o di investimento. Gli utenti sono i soli responsabili della determinazione della legalit\u00e0 delle proprie attivit\u00e0. Prima di utilizzare il codice o partecipare alle conversioni, \u00e8 necessario consultare le leggi e i regolamenti applicabili nella propria giurisdizione e consultare consulenti indipendenti. L'uso \u00e8 vietato dove illegale, incluso da parte di persone o organizzazioni sanzionate o da regioni soggette a restrizioni.

Nella misura massima consentita dalla legge, gli sviluppatori e gli emittenti declinano qualsiasi responsabilit\u00e0 per perdite, danni o reclami derivanti da o correlati all'uso del codice o alla partecipazione alle conversioni.

La revisione e l'utilizzo del presente documento e del codice correlato sono soggetti ai Termini di Utilizzo del Sito Web e ai Termini di Utilizzo del Protocollo.

I validatori possono pagare le commissioni in 2Z tramite il programma di conversione on-chain. La conversione viene eseguita scambiando 2Z per SOL. Il saldo SOL dell'account di deposito viene aggiornato in base alla conversione.

Questo processo utilizza sempre incrementi di 1 SOL. Il risultato di questa conversione va sempre direttamente all'account di deposito. \u00c8 unidirezionale: non \u00e8 possibile recuperare 2Z o SOL da questa transazione. Viene inviata al modulo di distribuzione on-chain.

"},{"location":"it/paying-fees2z/#passo-1","title":"Passo 1","text":"

Prima controlla il tasso di conversione corrente

doublezero-solana revenue-distribution fetch sol-conversion\n

Output:

| field           | description                  | value         | note                          |\n|-----------------|------------------------------|---------------|-------------------------------|\n| Swap Rate       | 2Z amount for 1 SOL          | 800.86265341  |                               |\n| Swap Rate       | 2Z amount for 1 SOL          | 797.75530631  | Includes 0.38800000% discount |\n| Journal Balance | SOL available for conversion | 438.670881289 |                               |\n

"},{"location":"it/paying-fees2z/#passo-2","title":"Passo 2","text":"

Invia un ordine a prezzo limite. Questa conversione viene eseguita a tuo rischio. Non raccomandiamo alcuna propensione al rischio; l'esempio fornito qui \u00e8 solo a scopo educativo.

"},{"location":"it/paying-fees2z/#come-costruire-un-ordine-a-prezzo-limite","title":"Come costruire un ordine a prezzo limite","text":"

Sulla base dell'esempio sopra, invieremo un ordine a prezzo limite superiore del 5% al prezzo stimato. 797.76 * 1.05 = 837.65

In questo esempio, supponiamo che ci siano 0 SOL nell'account di deposito.

doublezero-solana revenue-distribution --convert-2z-limit-price 837.65 --node-id ValidatorIdentity11111111111111111111111111111111111111111111111111111111111111 --fund 1\n
Il --fund 1 nel comando sopra aggiunge esplicitamente 1 SOL all'account di deposito.

La scelta di un numero diverso da 1 risulter\u00e0 in un errore che ti notifica dell'importo errato:

Error: SOL amount must be 1.000000000 for 2Z -> SOL conversion. Got 1.500000000\n

Ti verr\u00e0 chiesto di confermare la transazione:

\u26a0\ufe0f  By specifying --convert-2z-limit-price, you are funding 1.000000000 SOL to your deposit account. Proceed? [y/N]\n

Output:

2Z token balance: 987241.76579348\nConverted 2Z to SOL: 2iaBzd4vgEeDnpfSCD9aYFMWZ3UoVzrJfUjSMhsDhfSQ6isPZKkKe3ZWQ6b5aWvV3h8Vsk8Mmde6wmCiidD4Qc6s\nConverted 837.65 2Z tokens to 1.000000000 SOL\n
Nota che dopo una conversione riuscita, il Balance: verr\u00e0 aggiornato a 1 SOL.

Se il prezzo supera l'intervallo specificato, si verificher\u00e0 il seguente tipo di errore:

Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x177f; 10 log messages:\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs invoke [1]\n Program log: Instruction: BuySol\n Program log: Signature verified successfully\n Program log: Timestamp verified successfully\n Program log: Bid price 79500000000\n Program log: Ask price 79862251144\n Program data: 1fxoRNOEulcAypo7AAAAAAC7kYISAAAAiD4pmBIAAAAsk/ZoAAAAAA4PxjWjgr+ERO7jDdvoOmT/WpgDFLfY+FGKKDdOw4PMAAAAAAAAAAA=\n Program log: AnchorError thrown in on-chain/programs/converter-program/src/buy_sol.rs:142. Error Code: BidTooLow. Error Number: 6015. Error Message: Provided bid is too low.\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs consumed 50754 of 90000 compute units\n Program 9DRcqsJUCo8CL2xDCXpogwzLEVKRDzSyNtVgXqsXHfDs failed: custom program error: 0x177f\n

"},{"location":"it/quick-connect/","title":"Connessione Rapida","text":"

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.

Rispondi ad alcune domande e genereremo una guida di connessione personalizzata con i passaggi esatti e i comandi per la tua configurazione.

Guida Semplificata

Questo wizard fornisce snippet chiave dalla documentazione completa per connetterti il pi\u00f9 rapidamente possibile. Per dettagli completi, consulta le guide Setup e Tenant.

A quale rete ti stai connettendo? Mainnet-Beta Rete di produzione per validatori attivi e operatori RPC Testnet Rete di test e sviluppo Quale sistema operativo utilizza il tuo server? Ubuntu / Debian Ubuntu 22.04+ o Debian 11+ Rocky Linux / RHEL Rocky Linux o RHEL 9+ Quale ecosistema? Solana Validatori e operatori RPC su Solana Shelby RPC e Nodi di Storage su Shelby (solo Testnet) Nuovo Tenant Altri ecosistemi Quale strumento firewall utilizzi? iptables Regole iptables dirette UFW Uncomplicated Firewall Che tipo di nodo stai eseguendo? Validatore Validatore Solana con pianificazione leader e keypair di identit\u00e0 Non-validatore (RPC) Nodo RPC o infrastruttura MEV Di quale modalit\u00e0 di connessione hai bisogno? Unicast (IBRL) Connessione punto-a-punto standard Multicast Consegna di pacchetti one-to-many (publisher/subscriber) Entrambe Tunnel unicast e multicast simultanei Qual \u00e8 il tuo ruolo multicast? Publisher Invia dati a un gruppo multicast (es. produttore di blocchi) Subscriber Ricevi dati da un gruppo multicast"},{"location":"it/setup/","title":"Configurazione di DoubleZero","text":"

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.

Terminologia

Nuovo a DoubleZero? Consulta il Glossario per le definizioni di termini come doublezerod, IBRL, DZD e altri.

Connettendosi a DoubleZero, accetti i Termini di Servizio DoubleZero

"},{"location":"it/setup/#prerequisiti","title":"Prerequisiti","text":"

Warning

Per i validatori: DoubleZero deve essere installato direttamente sull'host del validatore, non in un container.

"},{"location":"it/setup/#connessione-a-doublezero","title":"Connessione a DoubleZero","text":"

Il Testnet DoubleZero e il Mainnet Beta DoubleZero sono reti fisicamente distinte. Scegli la rete appropriata durante l'installazione.

Unendoti a DoubleZero, stabilisci una identit\u00e0 DoubleZero (una chiave pubblica chiamata DoubleZero ID). Questa chiave \u00e8 uno dei modi in cui DoubleZero identifica la tua macchina.

"},{"location":"it/setup/#1-installa-il-pacchetto-doublezero","title":"1. Installa il pacchetto DoubleZero","text":"

Versione Corrente

Pacchetto Mainnet Beta Testnet doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Segui le istruzioni seguenti in base al tuo sistema operativo:

"},{"location":"it/setup/#ubuntu-debian","title":"Ubuntu / Debian","text":"

Deployment corrente raccomandato per Mainnet Beta:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

Deployment corrente raccomandato per Testnet:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero\n

"},{"location":"it/setup/#rocky-linux-rhel","title":"Rocky Linux / RHEL","text":"

Deployment corrente raccomandato per Mainnet Beta:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Deployment corrente raccomandato per Testnet:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash\nsudo yum install doublezero\n

Solo utenti esistenti: Passaggio del pacchetto da Testnet a Mainnet Beta, o da Mainnet Beta a Testnet

Installando dai repository di pacchetti sopra, il Testnet DoubleZero o il Mainnet Beta DoubleZero hanno ciascuno il proprio repository dedicato. Se ad un certo punto devi cambiare rete, dovrai rimuovere il repository del pacchetto precedentemente installato e aggiornare al repository target.

Questo esempio mostra la migrazione da Testnet a Mainnet Beta.

Seguendo gli stessi passaggi ma sostituendo il passaggio 3 con il comando di installazione Testnet sopra, \u00e8 possibile completare la migrazione da Mainnet Beta a Testnet.

  1. Trova i vecchi file del repository

    Prima, identifica i file di configurazione del repository DoubleZero esistenti sul sistema:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Rimuovi i vecchi file del repository

    Rimuovi i vecchi file del repository trovati nel passaggio precedente. Ad esempio:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list\nsudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg\n
  3. Installa dal nuovo repository

    Aggiungi il nuovo repository Mainnet Beta e installa l'ultimo pacchetto:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash\nsudo apt-get install doublezero=<versione_corrente_raccomandata_sopra>\n
"},{"location":"it/setup/#controlla-lo-stato-di-doublezerod","title":"Controlla lo stato di doublezerod","text":"

Dopo l'installazione del pacchetto, verr\u00e0 installata, abilitata e avviata una nuova unit\u00e0 systemd. Per controllare lo stato, esegui il seguente comando:

sudo systemctl status doublezerod\n

"},{"location":"it/setup/#configurazione-firewall-per-gre-e-bgp","title":"Configurazione Firewall per GRE e BGP","text":"

DoubleZero utilizza tunnel GRE (protocollo IP 47) e routing BGP (tcp/179 per indirizzi link-local). Assicurati che il tuo firewall consenta questi protocolli:

Consenti GRE e BGP con iptables:

sudo iptables -A INPUT -p gre -j ACCEPT\nsudo iptables -A OUTPUT -p gre -j ACCEPT\nsudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\nsudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT\n

O consenti GRE e BGP con UFW:

sudo ufw allow proto gre from any to any\nsudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\nsudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp\n
"},{"location":"it/setup/#2-crea-una-nuova-identita-doublezero","title":"2. Crea una Nuova Identit\u00e0 DoubleZero","text":"

Usa il seguente comando per creare un'identit\u00e0 DoubleZero sul server:

doublezero keygen\n

Info

Se hai un ID esistente che vuoi utilizzare, puoi seguire i passaggi opzionali seguenti.

Crea la directory di configurazione di doublezerod

mkdir -p ~/.config/doublezero\n

Copia o collega il file id.json che vuoi usare in DoubleZero nella directory di configurazione doublezero.

sudo cp </path/to/id.json> ~/.config/doublezero/\n
"},{"location":"it/setup/#3-ottieni-lidentita-doublezero-del-server","title":"3. Ottieni l'Identit\u00e0 DoubleZero del Server","text":"

Conferma la tua identit\u00e0 DoubleZero. Questa identit\u00e0 viene utilizzata per creare la connessione tra la tua macchina e DoubleZero.

doublezero address\n

Output:

YourDoubleZeroAddress11111111111111111111111111111\n

"},{"location":"it/setup/#4-conferma-che-doublezerod-ha-rilevato-i-dispositivi-dz","title":"4. Conferma che doublezerod ha Rilevato i Dispositivi DZ","text":"

Prima di connetterti, conferma che doublezerod ha rilevato e pingato ogni switch DZ testnet disponibile:

doublezero latency\n

Esempio di output:

$ doublezero latency\n pubkey                                       | name      | ip             | min      | max      | avg      | reachable\n 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true\n CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true\n BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true\n 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true\n 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true\n 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true\n 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true\n

Se i dispositivi non appaiono nell'output, attendi 10-20 secondi e riprova.

"},{"location":"it/setup/#5-disconnettiti-da-doublezero","title":"5. Disconnettiti da DoubleZero","text":"

La sezione successiva configurer\u00e0 l'ambiente DoubleZero. Per garantire il successo, disconnetti la sessione corrente. Questo evita problemi con pi\u00f9 tunnel aperti sulla macchina.

Conferma

doublezero status\n

Se lo stato \u00e8 up, esegui:

doublezero disconnect\n
"},{"location":"it/setup/#passo-successivo-tenant","title":"Passo Successivo: Tenant","text":"

La connessione a DoubleZero varia in base al caso d'uso. In DoubleZero, i tenant sono gruppi con profili utente simili. Ad esempio: blockchain, livelli di trasferimento dati, ecc.

"},{"location":"it/setup/#seleziona-il-tenant-e-continua-qui","title":"Seleziona il Tenant e Continua qui","text":""},{"location":"it/setup/#opzionale-abilitare-le-metriche-prometheus","title":"Opzionale: Abilitare le Metriche Prometheus","text":"

Gli operatori che conoscono le metriche Prometheus potrebbero voler abilitarle per il monitoraggio DoubleZero. Questo ti permetter\u00e0 di ottenere informazioni sulle prestazioni del client DoubleZero, sullo stato della connessione e sulla salute operativa.

"},{"location":"it/setup/#metriche-disponibili","title":"Metriche Disponibili","text":"

DoubleZero espone diverse metriche chiave: - Informazioni di build: versione, hash commit, data di build - Stato della sessione: se la sessione DoubleZero \u00e8 attiva - Metriche di connessione: latenza e informazioni di connessione - Dati di prestazione: throughput e tassi di errore

"},{"location":"it/setup/#abilitazione-delle-metriche-prometheus","title":"Abilitazione delle Metriche Prometheus","text":"

Per abilitare le metriche Prometheus sul client DoubleZero, segui questi passaggi:

"},{"location":"it/setup/#1-modifica-il-comando-di-avvio-del-servizio-systemd-doublezerod","title":"1. Modifica il comando di avvio del servizio systemd doublezerod","text":"

Crea o modifica la configurazione di override systemd:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/\nsudo nano /etc/systemd/system/doublezerod.service.d/override.conf\n

Sostituisci con questa configurazione:

Il flag -env deve puntare a testnet o mainnet-beta a seconda della rete da cui vuoi raccogliere dati. Nel blocco di esempio viene utilizzato testnet. Se necessario, pu\u00f2 essere cambiato in mainnet-beta.

[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113\n
"},{"location":"it/setup/#2-ricarica-e-riavvia-il-servizio","title":"2. Ricarica e riavvia il servizio","text":"
sudo systemctl daemon-reload\nsudo systemctl restart doublezerod\nsudo systemctl status doublezerod\n
"},{"location":"it/setup/#3-conferma-che-le-metriche-siano-disponibili","title":"3. Conferma che le metriche siano disponibili","text":"

Conferma che l'endpoint delle metriche stia rispondendo:

curl -s localhost:2113/metrics | grep doublezero\n

Output atteso:

# HELP doublezero_build_info Build information of the client\n# TYPE doublezero_build_info gauge\ndoublezero_build_info{commit=\"0d684e1b\",date=\"2025-09-10T16:30:25Z\",version=\"0.6.4\"} 1\n# HELP doublezero_session_is_up Status of session to doublezero\n# TYPE doublezero_session_is_up gauge\ndoublezero_session_is_up 0\n
"},{"location":"it/setup/#risoluzione-dei-problemi","title":"Risoluzione dei Problemi","text":"

Se le metriche non vengono visualizzate:

  1. Controlla lo stato del servizio: sudo systemctl status doublezerod
  2. Verifica la configurazione: sudo systemctl cat doublezerod
  3. Controlla i log: sudo journalctl -u doublezerod -f
  4. Testa l'endpoint: curl -v localhost:2113/metrics
  5. Controlla la porta: netstat -tlnp | grep 2113
"},{"location":"it/setup/#configurazione-del-server-prometheus","title":"Configurazione del Server Prometheus","text":"

La configurazione e la sicurezza esulano dall'ambito di questo documento. Grafana \u00e8 un'ottima opzione per la visualizzazione, e la documentazione Grafana qui descrive come raccogliere metriche Prometheus.

"},{"location":"it/setup/#dashboard-grafana-opzionale","title":"Dashboard Grafana (Opzionale)","text":"

Per la visualizzazione, puoi creare una dashboard Grafana con le metriche DoubleZero. I pannelli comuni includono: - Stato della sessione nel tempo - Informazioni di build - Tendenze della latenza di connessione - Monitoraggio del tasso di errore

"},{"location":"it/tenant/","title":"Tenant","text":"

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.

I tenant su DoubleZero sono gruppi di utenti con profili e requisiti di connessione simili, che tipicamente rappresentano diversi ecosistemi blockchain, livelli di trasferimento dati o sistemi distribuiti.

Esamina la tabella seguente e scegli il caso d'uso che descrive meglio come intendi interagire con la rete DoubleZero.

Solana

Caso d'Uso Prossimo Passo Validatore Solana Mainnet, inclusi i backup Connessione DoubleZero Mainnet-Beta Validatore Solana Testnet, inclusi i backup Connessione DoubleZero Testnet Non-Validatori - RPC e altri. Connessione DoubleZero Mainnet-Beta e Testnet

Shelby

Caso d'Uso Prossimo Passo RPC Shelby Testnet e Nodi di Storage Connessione DoubleZero Testnet

Nuovo Tenant

Caso d'Uso Prossimo Passo Hai un nuovo protocollo, applicazione o altro caso d'uso per sfruttare DoubleZero Aggiungi un Nuovo Tenant"},{"location":"it/troubleshooting/","title":"Risoluzione dei Problemi","text":"

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.

Questa guida copre una variet\u00e0 di problemi ed \u00e8 in continuo aggiornamento. Se completi la guida puoi cercare ulteriore supporto nel Discord DoubleZero Tech.

"},{"location":"it/troubleshooting/#comandi-comuni-e-output","title":"Comandi Comuni e Output","text":"

Per iniziare, esamina l'output dei seguenti comandi e il loro output atteso. Questi ti aiuteranno nella risoluzione dei problemi pi\u00f9 dettagliata. Se apri un ticket, potrebbe essere richiesto l'output di questi comandi.

"},{"location":"it/troubleshooting/#1-controlla-la-versione","title":"1. Controlla la Versione","text":"

Comando:

doublezero --version

Output di esempio:

DoubleZero 0.6.3\n

"},{"location":"it/troubleshooting/#2-controlla-lindirizzo-doublezero","title":"2. Controlla l'Indirizzo DoubleZero","text":"

Comando:

doublezero address

Output di esempio:

MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n

"},{"location":"it/troubleshooting/#3-verifica-il-tuo-pass-di-accesso","title":"3. Verifica il tuo Pass di Accesso","text":"

Chiave pubblica di esempio: MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 - sostituiscila con la tua chiave pubblica quando esegui il comando.

Comando:

doublezero access-pass list | grep MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2

Output: [nota che usiamo doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/' per mostrare l'intestazione in questo output]

account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\n2XHCWm8Sef1GirhAhAJVA8WTXToPT6gFYP7fA9mWMShR | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n

"},{"location":"it/troubleshooting/#4-controlla-i-crediti-del-registro-doublezero","title":"4. Controlla i Crediti del Registro DoubleZero","text":"

Comando:

doublezero balance

Output di esempio:

0.78 Credits\n

"},{"location":"it/troubleshooting/#5-controlla-lo-stato-della-connessione","title":"5. Controlla lo Stato della Connessione","text":"

Comando:

doublezero status

Output di esempio:

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\n up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n
"},{"location":"it/troubleshooting/#6-controlla-la-latenza","title":"6. Controlla la Latenza","text":"

Comando:

doublezero latency

Output di esempio:

 pubkey                                       | code         | ip             | min      | max      | avg      | reachable\n 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.49ms   | 2.61ms   | 2.56ms   | true\n Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.11ms  | 72.02ms  | true\n CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 72.42ms  | 72.51ms  | 72.45ms  | true\n 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.50ms  | 76.71ms  | 76.60ms  | true\n 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.00ms  | 83.14ms  | 83.08ms  | true\n hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.81ms  | 84.89ms  | 84.85ms  | true\n 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 104.81ms | 104.83ms | 104.82ms | true\n 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 178.04ms | 178.23ms | 178.13ms | true\n D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 227.67ms | 227.85ms | 227.75ms | true\n

"},{"location":"it/troubleshooting/#esempi-di-risoluzione-dei-problemi","title":"Esempi di Risoluzione dei Problemi","text":"

Ora che abbiamo esaminato gli output di base e ci\u00f2 che \u00e8 atteso in un deployment sano, possiamo esaminare alcuni esempi comuni di risoluzione dei problemi.

"},{"location":"it/troubleshooting/#problema-error-creating-user","title":"Problema: \u274c Error creating user","text":"

Questo problema \u00e8 generalmente correlato a una mancata corrispondenza tra la coppia chiave pubblica/IP attesa e quella che l'utente sta cercando di usare per accedere a DoubleZero.

Sintomi: - Quando si connette con doublezero connect ibrl l'utente incontra \u274c Error creating user

Soluzioni: 1. Controlla

`doublezero address`\n\nOutput di esempio:\n```\nMTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2\n```\n
  1. Verifica che questo indirizzo sia nella lista consentita:

    doublezero access-pass list | awk 'NR==1 || /MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2/'

    Output di esempio:

    account                                      | accesspass_type                                                | ip              | user_payer                                   | last_access_epoch | remaining_epoch | connections | status       | owner\n\nFHyoPs7U23MuSTtepEyXUtSAEffEpFpJGoYvug8X2sWY | prepaid                                                        | 141.14.14.14   | MTAwoHgKyTwwDGJo2dye6EWqyTn27JRwXxaDEaeMqe2 | MAX               | MAX             | 0           | requested    | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
    La chiave pubblica da doublezero address deve corrispondere alla chiave pubblica user_payer e l'indirizzo IP da cui stai cercando di connetterti deve corrispondere all'IP nell'Access-Pass. doublezero address \u00e8 originato dal file id.json in ~/.config/doublezero/ per impostazione predefinita. Vedi il passaggio 6 qui

  2. Se quanto sopra sembra corretto e stai ricevendo un errore durante la connessione, o se la mappatura sopra \u00e8 errata, contatta il supporto in DoubleZero Tech

"},{"location":"it/troubleshooting/#problema-error-provisioning-service-malformed-stuff-cannot-provision-multiple-tunnels-at-the-same-time","title":"Problema: \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time","text":"

Questo errore indica che un dispositivo \u00e8 gi\u00e0 connesso a DoubleZero.

Sintomi: - L'utente cerca di connettersi a DoubleZero - Viene incontrato \u274c Error provisioning service: malformed stuff: cannot provision multiple tunnels at the same time.

Soluzioni: 1. Controlla doublezero status

Output:\n```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n
  1. -up- indica una connessione sana.
  2. L'errore appare perch\u00e9 un tunnel a DoubleZero con il DoubleZero IP specifico \u00e8 gi\u00e0 attivo su questa macchina.

    Questo errore si verifica spesso dopo un aggiornamento del client DoubleZero. Gli aggiornamenti DoubleZero riavviano automaticamente il servizio doublezerod e ti riconnetteranno se eri connesso prima del riavvio del servizio.

"},{"location":"it/troubleshooting/#problema-lo-stato-doublezero-e-unknown-o-down","title":"Problema: Lo Stato DoubleZero \u00e8 unknown o down","text":"

Questo problema \u00e8 spesso correlato al tunnel GRE attivato con successo tra il server e il DoubleZero Device, ma un firewall che impedisce l'instaurazione della sessione BGP. Per questo motivo non stai ricevendo route dalla rete n\u00e9 inviando traffico su DoubleZero.

Sintomi: - doublezero connect ibrl \u00e8 riuscito. Tuttavia, doublezero status restituisce down o unknown

doublezero connect ibrl\nDoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: nyc-dz001\nThe user has been successfully activated\nService provisioned with status: ok\n\u2705  User Provisioned\n

```bash\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network\nup            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      | \u2705 ams-dz001          | Amsterdam | testnet\n```\n

Soluzioni: 1. Controlla le tue regole firewall!

DoubleZero utilizza lo spazio degli indirizzi link-local: 169.254.0.0/16 per le interfacce tunnel GRE tra la tua macchina e il DoubleZero Device. 169.254.0.0/16 \u00e8 tipicamente spazio \"non instradabile\" e pertanto le buone pratiche di sicurezza raccomandano di bloccare le comunicazioni verso/da questo spazio. Dovrai autorizzare una regola nel tuo firewall che consenta a src 169.254.0.0/16 di comunicare con dst 169.254.0.0/16 sulla porta tcp 179. Quella regola dovr\u00e0 essere posizionata sopra qualsiasi regola che nega il traffico verso 169.254.0.0/16.

In un firewall come ufw puoi eseguire `sudo ufw status` per visualizzare le regole del firewall.\n\nOutput di esempio che potrebbe essere simile a quello di un validatore Solana.\n```\nTo                         Action      From\n--                         ------      ----\n22/tcp                     ALLOW       Anywhere\n8899/tcp                   ALLOW       Anywhere\n8000:10000/tcp             ALLOW       Anywhere\n8000:10000/udp             ALLOW       Anywhere\n11200:11300/udp            ALLOW       Anywhere\n11200:11300/tcp            ALLOW       Anywhere\n\nTo                         Action      From\n--                         ------      ----\n10.0.0.0/8                 DENY OUT    Anywhere\n169.254.0.0/16             DENY OUT    Anywhere\n172.16.0.0/12              DENY OUT    Anywhere\n192.168.0.0/16             DENY OUT    Anywhere\n```\n\nNell'output sopra vedi che tutto il traffico verso 169.254.0.0/16, eccetto le porte specificate, viene negato.\n`sudo ufw insert <N> allow proto tcp from 169.254.0.0/16 to 169.254.0.0/16 port 179` per inserire la regola nella posizione <N>. Cio\u00e8, se N = 1 inserirai questa regola come prima regola.\n`sudo ufw status numbered` ti mostrer\u00e0 l'ordinamento numerico delle regole.\n
"},{"location":"it/troubleshooting/#problema-il-dispositivo-doublezero-piu-vicino-e-cambiato","title":"Problema: Il dispositivo DoubleZero pi\u00f9 vicino \u00e8 cambiato","text":"

Non si tratta di un errore, ma pu\u00f2 essere un'ottimizzazione. Di seguito \u00e8 riportata una best practice che pu\u00f2 essere eseguita di tanto in tanto, o automatizzata.

Soluzioni:

  1. Controlla la latenza verso il dispositivo pi\u00f9 vicino

    • esegui doublezero latency

      output

       pubkey                                       | code          | ip              | min      | max      | avg      | reachable\n 2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | 137.239.213.162 | 1.80ms   | 1.90ms   | 1.84ms   | true\n ETdwWpdQ7fXDHH5ea8feMmWxnZZvSKi4xDvuEGcpEvq3 | dz-ny5-sw01   | 137.239.213.170 | 1.83ms   | 2.10ms   | 1.92ms   | true\n 8gisbwJnNhMNEWz587cAJMtSSFuWeNFtiufPuBTVqF2Z | dz-ny7-sw02   | 142.215.184.122 | 1.87ms   | 2.66ms   | 2.15ms   | true\n 8J691gPwzy9FzUZQ4SmC6jJcY7By8kZXfbJwRfQ8ns31 | nyc002-dz002  | 38.122.35.137   | 2.33ms   | 2.39ms   | 2.37ms   | true\n FEML4XsDPN3WfmyFAXzE2xzyYqSB9kFCRrMik8JqN6kT | nyc001-dz001  | 38.104.167.29   | 2.29ms   | 2.59ms   | 2.40ms   | true\n
      nota sopra che il dispositivo pi\u00f9 vicino \u00e8 dz-ny7-sw01

      Vogliamo connetterci a questo dispositivo.

  2. Determina se sei gi\u00e0 connesso al dispositivo target

    • esegui doublezero user list --env testnet | grep 111.11.11.11 sostituendo 111.11.11.11 con l'indirizzo IPv4 pubblico del tuo dispositivo connesso a DoubleZero.

      output

      account                                      | user_type           | groups                        | device       | location    | cyoa_type  | client_ip       | dz_ip           | accesspass                                                      | tunnel_id | tunnel_net       | status    | owner\n6QRU1ivJnKGHpom2BdzH9PiTRkJ5WhunPNLtfYcqVisW | IBRL                |                               | dz-ny7-sw01     | New York    | GREOverDIA | 111.11.11.11    | 111.11.11.11    | Prepaid: (MAX)                                                  | 514       | 111.254.1.111/31 | activated | DZfHh2vjXFqt8zfNbT1afm8PGuCm3BrQKegC5THtKFdn\n
      In questo esempio, siamo gi\u00e0 connessi al dispositivo pi\u00f9 vicino. Non sono necessari altri passaggi, possiamo fermarci qui.

  3. Opzionale: esamina la rete per i dispositivi disponibili

    • esegui doublezero device list per un elenco completo dei dispositivi.

      output:

      account                                      | code          | contributor | location  | exchange | device_type | public_ip       | dz_prefixes                      | users | max_users | status    | mgmt_vrf | owner\nGphgLkA7JDVtkDQZCiDrwrDvaUs8r8XczEae1KkV6CGQ | ams001-dz002  | jump_       | EQX-AM4   | ams      | switch      | 149.11.64.57    | 38.246.201.64/27                 | 69    | 128       | activated |          | H647kAwTcWsGXZUK3BTr1JyTBZmbNcYyCmRFFCEnXUVp\n7FfrX8YbvbzM8A1ojNynP9BjiKpK9rrmhdEdchB2myhG | dz-fr5-sw01   | glxy        | EQX-FR5   | fra      | switch      | 89.222.118.225  | 89.222.118.228/30                | 0     | 0         | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n
      Nota che ams001-dz002 ha 69 utenti e 128 max utenti. Questo dispositivo pu\u00f2 aggiungere 59 utenti.

      Tuttavia, dz-fr5-sw01 ha 0 utenti e 0 max utenti. Non potrai connetterti a questo dispositivo.

  4. Determina se il dispositivo target ha una connessione disponibile

    • esegui doublezero device list | grep dz-ny7-sw01

      output

      2hPMFJHh5BPX42ygBvuYYJfCv9q7g3rRR3ZRsUgtaqUi | dz-ny7-sw01   | glxy        | EQX-NY7   | nyc      | switch      | 137.239.213.162 | 137.239.216.164/31               | 29    | 128       | activated |          | 5YbNrJHJJoiRwVEvgAWRGdFRG9gRdZ47hLCKSym8bqbp\n

  5. Connettiti al DoubleZero Device pi\u00f9 vicino

    Prima esegui - doublezero disconnect

    poi controlla lo stato con - doublezero status

    poi riconnettiti con - doublezero connect ibrl

    output

    DoubleZero Service Provisioning\n\ud83d\udd17  Start Provisioning User...\nPublic IP detected: 111.11.11.11 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`\n\ud83d\udd0d  Provisioning User for IP: 111.11.11.11\nUser account created\nConnected to device: dz-ny7-sw01\nService provisioned with status: ok\n\u2705  User Provisioned\n

"},{"location":"it/troubleshooting/#problema-doublezero-status-restituisce-alcuni-campi-con-na","title":"Problema: doublezero status restituisce alcuni campi con N/A","text":"

Questo problema \u00e8 generalmente correlato a una mancata corrispondenza tra il daemon e il client correnti, rispetto al daemon e al client con cui \u00e8 stato stabilito il tunnel DZ connesso.

Sintomi: - Quando si esegue doublezero status l'utente incontra N/A in alcuni campi

Soluzioni: 1. Esegui doublezero status

Esempio:\n\n```\nTunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro | Network\nup            | 2025-10-20 20:06:18 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | N/A            | \u2705 dz-ny7-sw01        | N/A   | mainnet-beta\n```\n\nNota nell'esempio sopra che il `Tunnel status` \u00e8 `up`. La nostra `Network` \u00e8 `mainnet-beta`. Tuttavia, `Current Device` e `Metro` sono `N/A`.\n\nQuesto indica un tunnel aperto sulla tua macchina che non \u00e8 nel tuo ambiente corrente.\nIn questo caso lo stato `up`, senza `Current Device` trovato su `mainnet-beta`, ci rivela che il nostro tunnel \u00e8 su testnet!\n
  1. Cambia il tuo ambiente.

    Per correggere la mancata corrispondenza cambierai il tuo ambiente all'opposto dell'ambiente che restituisce il N/A

    DESIRED_DOUBLEZERO_ENV=testnet \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n

    Per configurare la CLI DoubleZero Client (doublezero) e il daemon (doublezerod) per connettersi al mainnet-beta DoubleZero:

    DESIRED_DOUBLEZERO_ENV=mainnet-beta \\\n    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \\\n    && 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 \\\n    && sudo systemctl daemon-reload \\\n    && sudo systemctl restart doublezerod \\\n    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \\\n    && echo \"\u2705 doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV\"\n
  2. Controlla il tuo stato

    Dopo aver cambiato ambiente esegui:

    doublezero status\n

    L'output atteso dovrebbe essere simile a:

    Tunnel status | Last Session Update     | Tunnel Name | Tunnel src   | Tunnel dst   | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro    | Network\nup            | 2025-10-21 12:32:12 UTC | doublezero0 | 149.28.38.64 | 64.86.249.22 | 149.28.38.64  | IBRL      | nyc-dz001      | \u2705 nyc-dz001          | New York | testnet\n
    Con tutti i campi popolati sei ora nell'ambiente corretto.

"}]} \ No newline at end of file diff --git a/site/setup/index.html b/site/setup/index.html index 5afb425..f67c26d 100644 --- a/site/setup/index.html +++ b/site/setup/index.html @@ -1159,7 +1159,7 @@

Prerequisites

diff --git a/site/zh/quick-connect/index.html b/site/zh/quick-connect/index.html index a9cef56..a00f9e7 100644 --- a/site/zh/quick-connect/index.html +++ b/site/zh/quick-connect/index.html @@ -1008,7 +1008,7 @@

您的服务器运行什么操作系统?

diff --git a/site/zh/setup/index.html b/site/zh/setup/index.html index b8ff863..6adf534 100644 --- a/site/zh/setup/index.html +++ b/site/zh/setup/index.html @@ -1162,7 +1162,7 @@

前提条件

From db38c8de1b1b1d746464d778541fc5ce9f2af9c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 21:55:46 +0000 Subject: [PATCH 2/2] chore: auto-translate docs --- docs/quick-connect.es.md | 30 ++++---- docs/quick-connect.fr.md | 22 +++--- docs/quick-connect.it.md | 18 ++--- docs/quick-connect.ja.md | 38 +++++---- docs/quick-connect.ko.md | 44 +++++------ docs/quick-connect.pt.md | 28 ++++--- docs/quick-connect.zh.md | 52 ++++++------- docs/setup.es.md | 120 ++++++++++++++--------------- docs/setup.fr.md | 154 ++++++++++++++++++------------------- docs/setup.it.md | 154 ++++++++++++++++++------------------- docs/setup.ja.md | 162 +++++++++++++++++++-------------------- docs/setup.ko.md | 100 ++++++++++++------------ docs/setup.pt.md | 78 +++++++++---------- docs/setup.zh.md | 148 +++++++++++++++++------------------ 14 files changed, 556 insertions(+), 592 deletions(-) diff --git a/docs/quick-connect.es.md b/docs/quick-connect.es.md index 85a219f..a9fccd0 100644 --- a/docs/quick-connect.es.md +++ b/docs/quick-connect.es.md @@ -1,16 +1,14 @@ # Conexión Rápida -!!! warning "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." - -Responda algunas preguntas y generaremos una guía de conexión personalizada con los pasos y comandos exactos para su configuración. +Responde algunas preguntas y generaremos una guía de conexión personalizada con los pasos exactos y comandos para tu configuración. !!! note "Guía Simplificada" - Este asistente proporciona fragmentos clave de la documentación completa para conectarle lo más rápidamente posible. Para más detalles, consulte las guías de [Configuración](setup.md) e [Inquilinos](tenant.md). + Este asistente proporciona fragmentos clave de la documentación completa para conectarte lo más rápido posible. Para más detalles, consulta las guías de [Configuración](setup.md) e [Inquilino](tenant.md).
-

¿A qué red se está conectando?

+

¿A qué red te estás conectando?

-

¿Qué sistema operativo usa su servidor?

+

¿Qué sistema operativo ejecuta tu servidor?

-

¿Qué herramienta de firewall utiliza?

+

¿Qué herramienta de firewall utilizas?

-

¿Qué tipo de nodo está ejecutando?

+

¿Qué tipo de nodo estás ejecutando?

-

¿Qué modo de conexión necesita?

+

¿Qué modo de conexión necesitas?

-

¿Cuál es su rol en multicast?

+

¿Cuál es tu rol de multicast?

-
-

De quel mode de connexion avez-vous besoin ?

+

Quel mode de connexion vous faut-il ?

-

Di quale modalità di connessione hai bisogno?

+

Quale modalità di connessione ti serve?

@@ -119,4 +117,4 @@ Rispondi ad alcune domande e genereremo una guida di connessione personalizzata
-
+
\ No newline at end of file diff --git a/docs/quick-connect.ja.md b/docs/quick-connect.ja.md index 8f5c87c..e5e131e 100644 --- a/docs/quick-connect.ja.md +++ b/docs/quick-connect.ja.md @@ -1,16 +1,14 @@ # クイックコネクト -!!! warning "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." +いくつかの質問に答えるだけで、お使いの環境に合わせた正確な手順とコマンドを含むパーソナライズされた接続ガイドを生成します。 -いくつかの質問に回答すると、セットアップに合わせた正確な手順とコマンドを含むパーソナライズされた接続ガイドを生成します。 - -!!! note "簡略ガイド" - このウィザードは、できるだけ早く接続できるようにするために、完全なドキュメントから重要なスニペットを提供します。完全な詳細については、[セットアップ](setup.md)と[テナント](tenant.md)ガイドをご覧ください。 +!!! note "簡易ガイド" + このウィザードでは、できるだけ早く接続できるよう、完全なドキュメントから主要なスニペットを提供します。詳細については、[セットアップ](setup.md)および[テナント](tenant.md)ガイドをご覧ください。
-

どのネットワークに接続しますか?

+

接続するネットワークはどれですか?

-

サーバーのOSは?

+

サーバーのオペレーティングシステムは何ですか?

-

使用しているファイアウォールツールは?

+

使用しているファイアウォールツールはどれですか?

-

実行しているノードのタイプは?

+

実行しているノードの種類は何ですか?

-

必要な接続モードは?

+

必要な接続モードは何ですか?

-

マルチキャストの役割は?

+

マルチキャストでの役割は何ですか?

-

서버에서 실행 중인 운영 체제는 무엇인가요?

+

서버에서 실행 중인 운영체제는 무엇인가요?

-

어떤 방화벽 도구를 사용하나요?

+

어떤 방화벽 도구를 사용하시나요?

-

어떤 유형의 노드를 실행하고 있나요?

+

어떤 유형의 노드를 운영하시나요?

-

어떤 연결 모드가 필요한가요?

+

어떤 연결 모드가 필요하신가요?

@@ -105,11 +103,11 @@

멀티캐스트 역할은 무엇인가요?

@@ -119,4 +117,4 @@
-
+
\ No newline at end of file diff --git a/docs/quick-connect.pt.md b/docs/quick-connect.pt.md index 4c0be49..4d55f6e 100644 --- a/docs/quick-connect.pt.md +++ b/docs/quick-connect.pt.md @@ -1,11 +1,9 @@ # Conexão Rápida -!!! warning "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." - -Responda algumas perguntas e geraremos um guia de conexão personalizado com as etapas e comandos exatos para sua configuração. +Responda algumas perguntas e geraremos um guia de conexão personalizado com os passos e comandos exatos para a sua configuração. !!! note "Guia Simplificado" - Este assistente fornece trechos principais da documentação completa para conectá-lo o mais rápido possível. Para detalhes completos, consulte os guias de [Configuração](setup.md) e [Tenant](tenant.md). + Este assistente fornece trechos-chave da documentação completa para conectar você o mais rápido possível. Para detalhes completos, consulte os guias de [Configuração](setup.md) e [Tenant](tenant.md).
@@ -14,17 +12,17 @@ Responda algumas perguntas e geraremos um guia de conexão personalizado com as
-

Qual sistema operacional seu servidor está executando?

+

Qual sistema operacional o seu servidor está executando?

-
-

Qual ferramenta de firewall você usa?

+

Qual ferramenta de firewall você utiliza?

@@ -42,11 +40,11 @@
-
-

您运行什么类型的节点?

+

您运行的是什么类型的节点?

@@ -87,30 +85,30 @@

您需要什么连接模式?

-

您的多播角色是什么?

+

您的组播角色是什么?

@@ -119,4 +117,4 @@
-
+
\ No newline at end of file diff --git a/docs/setup.es.md b/docs/setup.es.md index 353fcfc..eb6b909 100644 --- a/docs/setup.es.md +++ b/docs/setup.es.md @@ -1,46 +1,44 @@ # Cómo configurar DoubleZero -!!! warning "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." - !!! info "Terminología" - ¿Nuevo en DoubleZero? Consulte el [Glosario](glossary.md) para ver definiciones de términos como [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency) y [DZD](glossary.md#dzd-doublezero-device). + ¿Nuevo en DoubleZero? Consulta el [Glosario](glossary.md) para las definiciones de términos como [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency) y [DZD](glossary.md#dzd-doublezero-device). !!! warning "Al conectarme a DoubleZero acepto los [Términos de Servicio de DoubleZero](https://doublezero.xyz/terms-protocol)" -## Requisitos Previos +## Requisitos previos !!! warning inline end - Para validadores: DoubleZero debe instalarse directamente en el host del validador, no en un contenedor. -- Conectividad a internet con una dirección IP pública (sin NAT) + Para validadores: DoubleZero debe instalarse directamente en el host de su validador, no en un contenedor. +- Conectividad a Internet con una dirección IP pública (sin NAT) - Servidor x86_64 -- SO soportado: Ubuntu 22.04+ o Debian 11+, o Rocky Linux / RHEL 9+ +- SO compatible: Ubuntu 22.04+ o Debian 11+, o Rocky Linux / RHEL 9+ - Privilegios de root o sudo en el servidor donde se ejecutará DoubleZero - Opcional pero útil: jq y curl para depuración ## Conexión a DoubleZero -DoubleZero Testnet y DoubleZero Mainnet-Beta son redes físicamente distintas. Seleccione la red apropiada durante la instalación. +DoubleZero Testnet y DoubleZero Mainnet-Beta son redes físicamente distintas. Por favor, elija la red apropiada durante la instalación. -Al incorporarse a DoubleZero establecerá una **identidad DoubleZero**, representada por una clave pública llamada **DoubleZero ID**. Esta clave forma parte de cómo DoubleZero reconoce su máquina. +Al incorporarse a DoubleZero establecerá una **identidad DoubleZero**, representada por una clave pública llamada **DoubleZero ID**. Esta clave es parte de cómo DoubleZero reconoce su máquina. -## 1. Instalar los Paquetes de DoubleZero +## 1. Instalar los paquetes de DoubleZero
-!!! info "Versiones Actuales" +!!! info "Versiones actuales" | Paquete | Mainnet-Beta | Testnet | |---------|-------------|---------| | `doublezero` | `MAINNET_CLIENT_VERSION` | `TESTNET_CLIENT_VERSION` |
-Siga estos pasos dependiendo de su sistema operativo: +Siga estos pasos según su sistema operativo: ### Ubuntu / Debian
-El despliegue recomendado actualmente para Mainnet-Beta es: +La implementación recomendada actualmente para Mainnet-Beta es: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -50,7 +48,7 @@ sudo apt-get install doublezero
-El despliegue recomendado actualmente para Testnet es: +La implementación recomendada actualmente para Testnet es: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -62,7 +60,7 @@ sudo apt-get install doublezero
-El despliegue recomendado actualmente para Mainnet-Beta es: +La implementación recomendada actualmente para Mainnet-Beta es: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -72,7 +70,7 @@ sudo yum install doublezero
-El despliegue recomendado actualmente para Testnet es: +La implementación recomendada actualmente para Testnet es: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -82,33 +80,33 @@ sudo yum install doublezero
-??? info "Solo Usuarios Existentes: Cambiar un paquete de *Testnet a Mainnet-Beta*, o de *Mainnet-Beta a Testnet*" - Cuando instala desde uno de los repositorios de paquetes anteriores, este es específico para DoubleZero **Testnet** o **DoubleZero Mainnet Beta**. Si cambia de red en algún momento, deberá eliminar los repositorios de paquetes instalados previamente y actualizar al repositorio de destino. +??? info "Solo para usuarios existentes: Cambiar un paquete de *Testnet a Mainnet-Beta*, o de *Mainnet-Beta a Testnet*" + Cuando instala desde uno de los repositorios de paquetes anteriores, es específico para DoubleZero **Testnet** o **DoubleZero Mainnet Beta**. Si cambia de red en algún momento, necesitará eliminar los repositorios de paquetes previamente instalados y actualizar al repositorio de destino. - Este ejemplo le guiará a través de la migración de Testnet a Mainnet-Beta. + Este ejemplo le guiará a través de la migración de Testnet a Mainnet-Beta - Los mismos pasos pueden completarse para pasar de Mainnet-Beta a Testnet, reemplazando el paso 3 con el comando de instalación para Testnet arriba. + Los mismos pasos pueden completarse para pasar de Mainnet-Beta a Testnet, reemplazando el paso 3 con el comando de instalación para Testnet indicado anteriormente. - 1. Encontrar los Archivos de Repositorio Antiguos + 1. Encontrar los archivos de repositorio antiguos - Primero, localice cualquier archivo de configuración de repositorio DoubleZero existente en su sistema: + Primero, localice cualquier archivo de configuración de repositorio de DoubleZero existente en su sistema: `find /etc/apt | grep doublezero` `find /usr/share/keyrings/ | grep doublezero` - 2. Eliminar los Archivos de Repositorio Antiguos + 2. Eliminar los archivos de repositorio antiguos - Elimine los archivos de repositorio antiguos encontrados en el paso anterior, por ejemplo: + Elimine los archivos de repositorio antiguos encontrados en el paso anterior, por ejemplo ``` sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list sudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg ``` - 3. Instalar desde el Nuevo Repositorio + 3. Instalar desde el nuevo repositorio - Agregue el nuevo repositorio Mainnet-Beta e instale el último paquete: + Agregue el nuevo repositorio de Mainnet-Beta e instale el paquete más reciente: ``` curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash @@ -122,16 +120,16 @@ sudo yum install doublezero #### Verificar el estado de `doublezerod` -Después de que el paquete esté instalado, se instala, activa e inicia una nueva unidad systemd. Para ver el estado puede ejecutar: +Después de instalar el paquete, se instala, activa e inicia una nueva unidad de systemd. Para ver el estado puede ejecutar: ``` sudo systemctl status doublezerod ```
-### Configurar el Firewall para GRE y BGP +### Configurar el firewall para GRE y BGP -DoubleZero utiliza tunelización GRE (protocolo IP 47) y enrutamiento BGP (tcp/179 en direcciones link-local). Asegúrese de que su firewall permita estos protocolos: +DoubleZero utiliza túneles GRE (protocolo IP 47) y enrutamiento BGP (tcp/179 en direcciones link-local). Asegúrese de que su firewall permita estos protocolos: Permitir GRE y BGP a través de iptables: @@ -158,16 +156,16 @@ sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179
-## 2. Crear una Nueva Identidad DoubleZero +## 2. Crear una nueva identidad de DoubleZero -Cree una Identidad DoubleZero en su servidor con el siguiente comando: +Cree una identidad de DoubleZero en su servidor con el siguiente comando: ```bash doublezero keygen ``` !!! info - Si tiene un ID existente que desea usar, puede seguir estos pasos opcionales. + Si tiene un ID existente que desea utilizar, puede seguir estos pasos opcionales. Crear el directorio de configuración de doublezero @@ -175,14 +173,14 @@ doublezero keygen mkdir -p ~/.config/doublezero ``` - Copie o enlace el `id.json` que desea usar con DoubleZero al directorio de configuración de doublezero. + Copie o vincule el `id.json` que desea usar con DoubleZero al directorio de configuración de doublezero. ``` sudo cp ~/.config/doublezero/ ``` -## 3. Recuperar la identidad DoubleZero del servidor +## 3. Obtener la identidad de DoubleZero del servidor -Revise su Identidad DoubleZero. Esta identidad se utilizará para crear la conexión entre su máquina y DoubleZero. +Revise su identidad de DoubleZero. Esta identidad se utilizará para crear la conexión entre su máquina y DoubleZero ```bash doublezero address @@ -195,13 +193,13 @@ YourDoubleZeroAddress11111111111111111111111111111 ## 4. Verificar que doublezerod ha descubierto los dispositivos DZ -Antes de conectarse, asegúrese de que `doublezerod` haya descubierto y pingueado cada uno de los switches de testnet DZ disponibles: +Antes de conectarse, asegúrese de que `doublezerod` haya descubierto y hecho ping a cada uno de los switches DZ de testnet disponibles: ``` doublezero latency ``` -Ejemplo de salida: +Salida de ejemplo: ``` $ doublezero latency @@ -215,13 +213,13 @@ $ doublezero latency 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01 | 180.87.102.98 | 176.66ms | 176.76ms | 176.72ms | true ``` -Si no se devuelven dispositivos en la salida, espere 10-20 segundos y vuelva a intentarlo. +Si no se devuelven dispositivos en la salida, espere 10-20 segundos y vuelva a intentar. ## 5. Desconectarse de DoubleZero -En las siguientes secciones configurará su Entorno DoubleZero. Para garantizar el éxito, desconecte la sesión actual. Esto evitará problemas relacionados con múltiples túneles abiertos en su máquina. +En las siguientes secciones configurará su entorno de DoubleZero. Para asegurar el éxito, desconecte la sesión actual. Esto evitará problemas relacionados con múltiples túneles abiertos en su máquina. -Verifique +Verificar ```bash doublezero status @@ -233,32 +231,32 @@ si está `up` ejecute: doublezero disconnect ``` -### Siguiente Paso: Inquilino +### Siguiente paso: Tenant -La conexión a DoubleZero diferirá según su caso de uso. En DoubleZero, los Inquilinos son grupos que tienen perfiles de usuario similares. Algunos ejemplos incluyen Blockchains, Capas de Transferencia de Datos, etc. +La conexión a DoubleZero variará según su caso de uso. En DoubleZero, los Tenants son grupos que tienen perfiles de usuario similares. Los ejemplos incluyen Blockchains, Capas de Transferencia de Datos, etc. -### [Proceda a elegir su inquilino aquí](tenant.md) +### [Proceda a elegir su tenant aquí](tenant.md) -# Opcional: Habilitar Métricas de Prometheus +# Opcional: Habilitar métricas de Prometheus -Los operadores familiarizados con las métricas de Prometheus pueden querer habilitarlas para el monitoreo de DoubleZero. Esto proporciona visibilidad sobre el rendimiento del cliente DoubleZero, el estado de la conexión y la salud operacional. +Los operadores familiarizados con las métricas de Prometheus pueden querer habilitarlas para el monitoreo de DoubleZero. Esto proporciona visibilidad sobre el rendimiento del cliente de DoubleZero, el estado de la conexión y la salud operativa. -## Qué Métricas Están Disponibles +## Qué métricas están disponibles DoubleZero expone varias métricas clave: -- **Información de Compilación**: Versión, hash de commit y fecha de compilación -- **Estado de Sesión**: Si la sesión de DoubleZero está activa -- **Métricas de Conexión**: Información de latencia y conectividad -- **Datos de Rendimiento**: Rendimiento y tasas de error +- **Información de compilación**: Versión, hash del commit y fecha de compilación +- **Estado de la sesión**: Si la sesión de DoubleZero está activa +- **Métricas de conexión**: Latencia e información de conectividad +- **Datos de rendimiento**: Throughput y tasas de error -## Habilitar Métricas de Prometheus +## Habilitar métricas de Prometheus -Para habilitar las métricas de Prometheus en el cliente DoubleZero, siga estos pasos: +Para habilitar las métricas de Prometheus en el cliente de DoubleZero siga estos pasos: ### 1. Modificar el comando de inicio del servicio systemd de doublezerod -Cree o edite la configuración de anulación de systemd: +Cree o edite la configuración de sobreescritura de systemd: ```bash sudo mkdir -p /etc/systemd/system/doublezerod.service.d/ @@ -301,7 +299,7 @@ doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6 # TYPE doublezero_session_is_up gauge doublezero_session_is_up 0 ``` -## Solución de Problemas +## Solución de problemas Si las métricas no aparecen: @@ -312,15 +310,15 @@ Si las métricas no aparecen: 5. **Verificar el puerto**: `netstat -tlnp | grep 2113` -## Configurar el Servidor de Prometheus +## Configurar el servidor de Prometheus -La configuración y seguridad están fuera del alcance de esta documentación. -Grafana es una excelente opción para la visualización, y tiene documentación disponible [aquí](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/) que detalla cómo recopilar métricas de Prometheus. +La configuración y la seguridad están fuera del alcance de esta documentación. +Grafana es una excelente opción para la visualización y tiene documentación disponible [aquí](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/) que detalla cómo recopilar métricas de Prometheus. -## Panel de Grafana (Opcional) +## Dashboard de Grafana (Opcional) -Para la visualización, puede crear un panel de Grafana usando las métricas de DoubleZero. Los paneles comunes incluyen: -- Estado de sesión a lo largo del tiempo +Para la visualización, puede crear un dashboard de Grafana utilizando las métricas de DoubleZero. Los paneles comunes incluyen: +- Estado de la sesión a lo largo del tiempo - Información de compilación - Tendencias de latencia de conexión -- Monitoreo de tasa de errores +- Monitoreo de tasas de error \ No newline at end of file diff --git a/docs/setup.fr.md b/docs/setup.fr.md index 6774aee..881d4d9 100644 --- a/docs/setup.fr.md +++ b/docs/setup.fr.md @@ -1,46 +1,44 @@ -# Configuration de DoubleZero -!!! warning "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." - +# Comment configurer DoubleZero !!! info "Terminologie" - Nouveau sur DoubleZero ? Consultez le [Glossaire](glossary.md) pour les définitions des termes comme [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency), [DZD](glossary.md#dzd-doublezero-device) et autres. + Vous découvrez DoubleZero ? Consultez le [Glossaire](glossary.md) pour les définitions de termes comme [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency) et [DZD](glossary.md#dzd-doublezero-device). -!!! warning "En vous connectant à DoubleZero, vous acceptez les [Conditions d'Utilisation de DoubleZero](https://doublezero.xyz/terms-protocol)" +!!! warning "En me connectant à DoubleZero, j'accepte les [Conditions d'utilisation de DoubleZero](https://doublezero.xyz/terms-protocol)" ## Prérequis !!! warning inline end - Pour les validateurs : DoubleZero doit être installé directement sur l'hôte du validateur, pas dans un conteneur. -- Connexion internet avec adresse IP publique (sans NAT) + Pour les validateurs : DoubleZero doit être installé directement sur votre hôte validateur, pas dans un conteneur. +- Connectivité Internet avec une adresse IP publique (pas de NAT) - Serveur x86_64 -- Système d'exploitation pris en charge : Ubuntu 22.04+ ou Debian 11+, ou Rocky Linux / RHEL 9+ -- Privilèges root ou sudo sur le serveur exécutant DoubleZero -- Facultatif mais utile : jq et curl pour le débogage +- OS supporté : Ubuntu 22.04+ ou Debian 11+, ou Rocky Linux / RHEL 9+ +- Privilèges root ou sudo sur le serveur où DoubleZero sera exécuté +- Optionnel mais utile : jq et curl pour le débogage ## Connexion à DoubleZero -Le Testnet DoubleZero et le Mainnet Beta DoubleZero sont des réseaux physiquement distincts. Choisissez le réseau approprié lors de l'installation. +DoubleZero Testnet et DoubleZero Mainnet-Beta sont des réseaux physiquement distincts. Veuillez choisir le réseau approprié lors de l'installation. -En rejoignant DoubleZero, vous établissez une **identité DoubleZero** (une clé publique appelée **DoubleZero ID**). Cette clé est l'un des moyens par lesquels DoubleZero identifie votre machine. +Lors de l'intégration à DoubleZero, vous établirez une **identité DoubleZero**, représentée par une clé publique appelée l'**ID DoubleZero**. Cette clé fait partie de la façon dont DoubleZero reconnaît votre machine. -## 1. Installer le paquet DoubleZero +## 1. Installer les paquets DoubleZero
-!!! info "Version Actuelle" - | Paquet | Mainnet Beta | Testnet | - |---------|-------------|---------| +!!! info "Versions actuelles" + | Paquet | Mainnet-Beta | Testnet | + |--------|-------------|---------| | `doublezero` | `MAINNET_CLIENT_VERSION` | `TESTNET_CLIENT_VERSION` |
-Suivez les instructions ci-dessous selon votre système d'exploitation : +Suivez ces étapes selon votre système d'exploitation : ### Ubuntu / Debian
-Déploiement actuel recommandé pour Mainnet Beta : +Le déploiement actuellement recommandé pour Mainnet-Beta est : ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -50,7 +48,7 @@ sudo apt-get install doublezero
-Déploiement actuel recommandé pour Testnet : +Le déploiement actuellement recommandé pour Testnet est : ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -62,7 +60,7 @@ sudo apt-get install doublezero
-Déploiement actuel recommandé pour Mainnet Beta : +Le déploiement actuellement recommandé pour Mainnet-Beta est : ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -72,7 +70,7 @@ sudo yum install doublezero
-Déploiement actuel recommandé pour Testnet : +Le déploiement actuellement recommandé pour Testnet est : ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -82,17 +80,17 @@ sudo yum install doublezero
-??? info "Utilisateurs existants uniquement : Passer du paquet *Testnet à Mainnet Beta*, ou de *Mainnet Beta à Testnet*" - En installant depuis les dépôts de paquets ci-dessus, le **Testnet** DoubleZero ou le **Mainnet Beta DoubleZero** disposent chacun de leur propre dépôt dédié. Si vous devez changer de réseau à un moment donné, vous devrez supprimer le dépôt de paquets précédemment installé et mettre à jour vers le dépôt cible. +??? info "Utilisateurs existants uniquement : Changer un paquet de *Testnet vers Mainnet-Beta*, ou de *Mainnet-Beta vers Testnet*" + Lorsque vous installez à partir de l'un des dépôts de paquets ci-dessus, il est spécifique à DoubleZero **Testnet** ou **DoubleZero Mainnet Beta**. Si vous changez de réseau à un moment donné, vous devrez supprimer les dépôts de paquets précédemment installés et mettre à jour vers le dépôt cible. - Cet exemple montre la migration de Testnet vers Mainnet Beta. + Cet exemple vous guidera à travers la migration de Testnet vers Mainnet-Beta - En suivant les mêmes étapes mais en remplaçant l'étape 3 par la commande d'installation Testnet ci-dessus, il est possible de compléter la migration de Mainnet Beta vers Testnet. + Les mêmes étapes peuvent être effectuées pour passer de Mainnet-Beta à Testnet, en remplaçant l'étape 3 par la commande d'installation pour Testnet ci-dessus. 1. Trouver les anciens fichiers de dépôt - Premièrement, identifiez les fichiers de configuration de dépôt DoubleZero existants sur le système : + Tout d'abord, localisez tous les fichiers de configuration de dépôt DoubleZero existants sur votre système : `find /etc/apt | grep doublezero` @@ -100,7 +98,7 @@ sudo yum install doublezero 2. Supprimer les anciens fichiers de dépôt - Supprimez les anciens fichiers de dépôt trouvés à l'étape précédente. Par exemple : + Supprimez les anciens fichiers de dépôt trouvés à l'étape précédente, par exemple ``` sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list @@ -108,11 +106,11 @@ sudo yum install doublezero ``` 3. Installer depuis le nouveau dépôt - Ajoutez le nouveau dépôt Mainnet Beta et installez le dernier paquet : + Ajoutez le nouveau dépôt Mainnet-Beta et installez la dernière version du paquet : ``` curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash - sudo apt-get install doublezero= + sudo apt-get install doublezero= ``` @@ -120,20 +118,20 @@ sudo yum install doublezero
-#### Vérifier l'état de `doublezerod` +#### Vérifier le statut de `doublezerod` -Après l'installation du paquet, une nouvelle unité systemd sera installée, activée et démarrée. Pour vérifier l'état, exécutez la commande suivante : +Après l'installation du paquet, une nouvelle unité systemd est installée, activée et démarrée. Pour voir le statut, vous pouvez exécuter : ``` sudo systemctl status doublezerod ```
-### Configuration du Pare-feu pour GRE et BGP +### Configurer le pare-feu pour GRE et BGP -DoubleZero utilise des tunnels GRE (protocole IP 47) et le routage BGP (tcp/179 pour les adresses link-local). Assurez-vous que votre pare-feu autorise ces protocoles : +DoubleZero utilise le tunneling GRE (protocole IP 47) et le routage BGP (tcp/179 sur les adresses link-local). Assurez-vous que votre pare-feu autorise ces protocoles : -Autoriser GRE et BGP avec iptables : +Autoriser GRE et BGP via iptables :
@@ -146,7 +144,7 @@ sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tc
-Ou autoriser GRE et BGP avec UFW : +Ou autoriser GRE et BGP via UFW :
@@ -158,32 +156,31 @@ sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179
-## 2. Créer une Nouvelle Identité DoubleZero +## 2. Créer une nouvelle identité DoubleZero -Utilisez la commande suivante pour créer une identité DoubleZero sur le serveur : +Créez une identité DoubleZero sur votre serveur avec la commande suivante : ```bash doublezero keygen ``` !!! info - Si vous avez un ID existant que vous souhaitez utiliser, vous pouvez suivre les étapes optionnelles ci-dessous. + Si vous avez un ID existant que vous souhaitez utiliser, vous pouvez suivre ces étapes optionnelles. - Créez le répertoire de configuration de doublezerod + Créer le répertoire de configuration doublezero ``` mkdir -p ~/.config/doublezero ``` - Copiez ou liez le fichier `id.json` que vous souhaitez utiliser dans DoubleZero dans le répertoire de configuration doublezero. + Copiez ou liez le fichier `id.json` que vous souhaitez utiliser avec DoubleZero dans le répertoire de configuration doublezero. ``` sudo cp ~/.config/doublezero/ ``` +## 3. Récupérer l'identité DoubleZero du serveur -## 3. Obtenir l'Identité DoubleZero du Serveur - -Confirmez votre identité DoubleZero. Cette identité est utilisée pour créer la connexion entre votre machine et DoubleZero. +Consultez votre identité DoubleZero. Cette identité sera utilisée pour créer la connexion entre votre machine et DoubleZero ```bash doublezero address @@ -194,9 +191,9 @@ doublezero address YourDoubleZeroAddress11111111111111111111111111111 ``` -## 4. Confirmer que doublezerod a Détecté les Dispositifs DZ +## 4. Vérifier que doublezerod a découvert les appareils DZ -Avant de vous connecter, confirmez que `doublezerod` a détecté et pingé chaque commutateur DZ testnet disponible : +Avant de vous connecter, assurez-vous que `doublezerod` a découvert et pingé chacun des commutateurs DZ testnet disponibles : ``` doublezero latency @@ -216,44 +213,44 @@ $ doublezero latency 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01 | 180.87.102.98 | 176.66ms | 176.76ms | 176.72ms | true ``` -Si les dispositifs n'apparaissent pas dans la sortie, attendez 10 à 20 secondes et réessayez. +Si aucun appareil n'est retourné dans la sortie, attendez 10 à 20 secondes et réessayez. -## 5. Se Déconnecter de DoubleZero +## 5. Se déconnecter de DoubleZero -La section suivante configurera l'environnement DoubleZero. Pour garantir le succès, déconnectez la session actuelle. Cela évite les problèmes liés à plusieurs tunnels ouverts sur la machine. +Dans les sections suivantes, vous configurerez votre environnement DoubleZero. Afin de garantir le succès, déconnectez la session en cours. Cela évitera les problèmes liés à plusieurs tunnels ouverts sur votre machine. -Confirmez +Vérifiez ```bash doublezero status ``` -Si le statut est `up`, exécutez : +si le statut est `up`, exécutez : ```bash doublezero disconnect ``` -### Prochaine Étape : Tenant +### Étape suivante : Tenant -La connexion à DoubleZero varie selon le cas d'utilisation. Dans DoubleZero, les tenants sont des groupes avec des profils utilisateurs similaires. Par exemple : blockchain, couches de transfert de données, etc. +La connexion à DoubleZero diffère selon votre cas d'utilisation. Sur DoubleZero, les Tenants sont des groupes ayant des profils utilisateurs similaires. Les exemples incluent les Blockchains, les couches de transfert de données, etc. -### [Sélectionnez le Tenant et Continuez ici](tenant.md) +### [Procédez au choix de votre tenant ici](tenant.md) -# Optionnel : Activer les Métriques Prometheus +# Optionnel : Activer les métriques Prometheus -Les opérateurs familiers avec les métriques Prometheus pourraient vouloir les activer pour la surveillance DoubleZero. Cela vous permettra d'obtenir des informations sur les performances du client DoubleZero, l'état de la connexion et la santé opérationnelle. +Les opérateurs familiers avec les métriques Prometheus peuvent souhaiter les activer pour la surveillance de DoubleZero. Cela offre une visibilité sur les performances du client DoubleZero, le statut de connexion et la santé opérationnelle. -## Métriques Disponibles +## Quelles métriques sont disponibles DoubleZero expose plusieurs métriques clés : -- **Informations de build** : version, hash de commit, date de build -- **État de la session** : si la session DoubleZero est active -- **Métriques de connexion** : latence et informations de connexion -- **Données de performance** : débit et taux d'erreur +- **Informations de build** : Version, hash de commit et date de build +- **Statut de session** : Si la session DoubleZero est active +- **Métriques de connexion** : Latence et informations de connectivité +- **Données de performance** : Débit et taux d'erreurs -## Activation des Métriques Prometheus +## Activer les métriques Prometheus Pour activer les métriques Prometheus sur le client DoubleZero, suivez ces étapes : @@ -268,7 +265,7 @@ sudo nano /etc/systemd/system/doublezerod.service.d/override.conf Remplacez par cette configuration : -Le flag `-env` doit pointer vers `testnet` ou `mainnet-beta` selon le réseau depuis lequel vous souhaitez collecter des données. Dans l'exemple de bloc, `testnet` est utilisé. Si nécessaire, il peut être changé en `mainnet-beta`. +Notez que le flag `-env` doit pointer vers `testnet` ou `mainnet-beta` selon le réseau depuis lequel vous souhaitez collecter des données. Dans le bloc d'exemple, `testnet` est utilisé. Vous pouvez le remplacer par `mainnet-beta` si nécessaire. ```ini [Service] @@ -284,9 +281,9 @@ sudo systemctl restart doublezerod sudo systemctl status doublezerod ``` -### 3. Confirmer que les métriques sont disponibles +### 3. Vérifier que les métriques sont disponibles -Confirmez que l'endpoint des métriques répond : +Testez que le point de terminaison des métriques répond : ```bash curl -s localhost:2113/metrics | grep doublezero @@ -302,27 +299,26 @@ doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6 # TYPE doublezero_session_is_up gauge doublezero_session_is_up 0 ``` +## Dépannage -## Résolution des Problèmes - -Si les métriques ne s'affichent pas : +Si les métriques n'apparaissent pas : -1. **Vérifiez l'état du service** : `sudo systemctl status doublezerod` -2. **Vérifiez la configuration** : `sudo systemctl cat doublezerod` -3. **Vérifiez les logs** : `sudo journalctl -u doublezerod -f` -4. **Testez l'endpoint** : `curl -v localhost:2113/metrics` -5. **Vérifiez le port** : `netstat -tlnp | grep 2113` +1. **Vérifier le statut du service** : `sudo systemctl status doublezerod` +2. **Vérifier la configuration** : `sudo systemctl cat doublezerod` +3. **Consulter les journaux** : `sudo journalctl -u doublezerod -f` +4. **Tester le point de terminaison** : `curl -v localhost:2113/metrics` +5. **Vérifier le port** : `netstat -tlnp | grep 2113` -## Configuration du Serveur Prometheus +## Configurer le serveur Prometheus -La configuration et la sécurité dépassent le cadre de ce document. -Grafana est une excellente option pour la visualisation, et la documentation Grafana [ici](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/) décrit comment collecter les métriques Prometheus. +La configuration et la sécurité dépassent le cadre de cette documentation. +Grafana est une excellente option pour la visualisation et dispose d'une documentation disponible [ici](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/) détaillant comment collecter les métriques Prometheus. -## Tableau de Bord Grafana (Optionnel) +## Tableau de bord Grafana (Optionnel) -Pour la visualisation, vous pouvez créer un tableau de bord Grafana avec les métriques DoubleZero. Les panneaux courants incluent : -- État de la session dans le temps +Pour la visualisation, vous pouvez créer un tableau de bord Grafana en utilisant les métriques DoubleZero. Les panneaux courants incluent : +- Statut de session dans le temps - Informations de build - Tendances de latence de connexion -- Surveillance du taux d'erreur +- Surveillance du taux d'erreurs \ No newline at end of file diff --git a/docs/setup.it.md b/docs/setup.it.md index baf5225..712e94c 100644 --- a/docs/setup.it.md +++ b/docs/setup.it.md @@ -1,46 +1,44 @@ -# Configurazione di DoubleZero -!!! warning "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." - +# Come configurare DoubleZero !!! info "Terminologia" - Nuovo a DoubleZero? Consulta il [Glossario](glossary.md) per le definizioni di termini come [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency), [DZD](glossary.md#dzd-doublezero-device) e altri. + Sei nuovo su DoubleZero? Consulta il [Glossario](glossary.md) per le definizioni di termini come [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency) e [DZD](glossary.md#dzd-doublezero-device). -!!! warning "Connettendosi a DoubleZero, accetti i [Termini di Servizio DoubleZero](https://doublezero.xyz/terms-protocol)" +!!! warning "Collegandomi a DoubleZero accetto i [Termini di Servizio di DoubleZero](https://doublezero.xyz/terms-protocol)" ## Prerequisiti !!! warning inline end Per i validatori: DoubleZero deve essere installato direttamente sull'host del validatore, non in un container. -- Connessione internet con indirizzo IP pubblico (senza NAT) +- Connettività Internet con un indirizzo IP pubblico (senza NAT) - Server x86_64 -- Sistema operativo supportato: Ubuntu 22.04+ o Debian 11+, oppure Rocky Linux / RHEL 9+ -- Privilegi root o sudo sul server che esegue DoubleZero -- Facoltativo ma utile: jq e curl per il debug +- SO supportato: Ubuntu 22.04+ o Debian 11+, oppure Rocky Linux / RHEL 9+ +- Privilegi root o sudo sul server dove verrà eseguito DoubleZero +- Opzionale ma utile: jq e curl per il debug ## Connessione a DoubleZero -Il Testnet DoubleZero e il Mainnet Beta DoubleZero sono reti fisicamente distinte. Scegli la rete appropriata durante l'installazione. +DoubleZero Testnet e DoubleZero Mainnet-Beta sono reti fisicamente distinte. Scegli la rete appropriata durante l'installazione. -Unendoti a DoubleZero, stabilisci una **identità DoubleZero** (una chiave pubblica chiamata **DoubleZero ID**). Questa chiave è uno dei modi in cui DoubleZero identifica la tua macchina. +Durante l'onboarding su DoubleZero stabilirai un'**identità DoubleZero**, rappresentata da una chiave pubblica chiamata **DoubleZero ID**. Questa chiave fa parte del modo in cui DoubleZero riconosce la tua macchina. -## 1. Installa il pacchetto DoubleZero +## 1. Installare i pacchetti DoubleZero
-!!! info "Versione Corrente" - | Pacchetto | Mainnet Beta | Testnet | +!!! info "Versioni attuali" + | Pacchetto | Mainnet-Beta | Testnet | |---------|-------------|---------| | `doublezero` | `MAINNET_CLIENT_VERSION` | `TESTNET_CLIENT_VERSION` |
-Segui le istruzioni seguenti in base al tuo sistema operativo: +Segui questi passaggi in base al tuo sistema operativo: ### Ubuntu / Debian
-Deployment corrente raccomandato per Mainnet Beta: +Il deployment attualmente raccomandato per Mainnet-Beta è: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -50,7 +48,7 @@ sudo apt-get install doublezero
-Deployment corrente raccomandato per Testnet: +Il deployment attualmente raccomandato per Testnet è: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -62,7 +60,7 @@ sudo apt-get install doublezero
-Deployment corrente raccomandato per Mainnet Beta: +Il deployment attualmente raccomandato per Mainnet-Beta è: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -72,7 +70,7 @@ sudo yum install doublezero
-Deployment corrente raccomandato per Testnet: +Il deployment attualmente raccomandato per Testnet è: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -82,37 +80,37 @@ sudo yum install doublezero
-??? info "Solo utenti esistenti: Passaggio del pacchetto da *Testnet a Mainnet Beta*, o da *Mainnet Beta a Testnet*" - Installando dai repository di pacchetti sopra, il **Testnet** DoubleZero o il **Mainnet Beta DoubleZero** hanno ciascuno il proprio repository dedicato. Se ad un certo punto devi cambiare rete, dovrai rimuovere il repository del pacchetto precedentemente installato e aggiornare al repository target. +??? info "Solo utenti esistenti: Cambiare un pacchetto da *Testnet a Mainnet-Beta*, o da *Mainnet-Beta a Testnet*" + Quando installi da uno dei repository di pacchetti sopra indicati, è specifico per DoubleZero **Testnet** o **DoubleZero Mainnet Beta**. Se cambi rete in qualsiasi momento, dovrai rimuovere i repository di pacchetti precedentemente installati e aggiornare al repository di destinazione. - Questo esempio mostra la migrazione da Testnet a Mainnet Beta. + Questo esempio illustrerà la migrazione da Testnet a Mainnet-Beta - Seguendo gli stessi passaggi ma sostituendo il passaggio 3 con il comando di installazione Testnet sopra, è possibile completare la migrazione da Mainnet Beta a Testnet. + Gli stessi passaggi possono essere completati per passare da Mainnet-Beta a Testnet, sostituendo il passaggio 3 con il comando di installazione per Testnet indicato sopra. - 1. Trova i vecchi file del repository + 1. Trovare i vecchi file del repository - Prima, identifica i file di configurazione del repository DoubleZero esistenti sul sistema: + Per prima cosa, individua tutti i file di configurazione del repository DoubleZero esistenti sul tuo sistema: `find /etc/apt | grep doublezero` `find /usr/share/keyrings/ | grep doublezero` - 2. Rimuovi i vecchi file del repository + 2. Rimuovere i vecchi file del repository - Rimuovi i vecchi file del repository trovati nel passaggio precedente. Ad esempio: + Rimuovi i vecchi file del repository trovati nel passaggio precedente, ad esempio ``` sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list sudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg ``` - 3. Installa dal nuovo repository + 3. Installare dal nuovo repository - Aggiungi il nuovo repository Mainnet Beta e installa l'ultimo pacchetto: + Aggiungi il nuovo repository Mainnet-Beta e installa l'ultimo pacchetto: ``` curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash - sudo apt-get install doublezero= + sudo apt-get install doublezero= ``` @@ -120,20 +118,20 @@ sudo yum install doublezero
-#### Controlla lo stato di `doublezerod` +#### Verificare lo stato di `doublezerod` -Dopo l'installazione del pacchetto, verrà installata, abilitata e avviata una nuova unità systemd. Per controllare lo stato, esegui il seguente comando: +Dopo l'installazione del pacchetto, una nuova unità systemd viene installata, attivata e avviata. Per visualizzare lo stato puoi eseguire: ``` sudo systemctl status doublezerod ```
-### Configurazione Firewall per GRE e BGP +### Configurare il firewall per GRE e BGP -DoubleZero utilizza tunnel GRE (protocollo IP 47) e routing BGP (tcp/179 per indirizzi link-local). Assicurati che il tuo firewall consenta questi protocolli: +DoubleZero utilizza il tunneling GRE (protocollo IP 47) e il routing BGP (tcp/179 su indirizzi link-local). Assicurati che il tuo firewall consenta questi protocolli: -Consenti GRE e BGP con iptables: +Consentire GRE e BGP tramite iptables:
@@ -146,7 +144,7 @@ sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tc
-O consenti GRE e BGP con UFW: +Oppure consentire GRE e BGP tramite UFW:
@@ -158,32 +156,31 @@ sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179
-## 2. Crea una Nuova Identità DoubleZero +## 2. Creare una nuova identità DoubleZero -Usa il seguente comando per creare un'identità DoubleZero sul server: +Crea un'identità DoubleZero sul tuo server con il seguente comando: ```bash doublezero keygen ``` !!! info - Se hai un ID esistente che vuoi utilizzare, puoi seguire i passaggi opzionali seguenti. + Se hai un ID esistente che desideri utilizzare, puoi seguire questi passaggi opzionali. - Crea la directory di configurazione di doublezerod + Crea la directory di configurazione di doublezero ``` mkdir -p ~/.config/doublezero ``` - Copia o collega il file `id.json` che vuoi usare in DoubleZero nella directory di configurazione doublezero. + Copia o collega il file `id.json` che vuoi utilizzare con DoubleZero nella directory di configurazione di doublezero. ``` sudo cp ~/.config/doublezero/ ``` +## 3. Recuperare l'identità DoubleZero del server -## 3. Ottieni l'Identità DoubleZero del Server - -Conferma la tua identità DoubleZero. Questa identità viene utilizzata per creare la connessione tra la tua macchina e DoubleZero. +Visualizza la tua identità DoubleZero. Questa identità verrà utilizzata per creare la connessione tra la tua macchina e DoubleZero ```bash doublezero address @@ -194,15 +191,15 @@ doublezero address YourDoubleZeroAddress11111111111111111111111111111 ``` -## 4. Conferma che doublezerod ha Rilevato i Dispositivi DZ +## 4. Verificare che doublezerod abbia scoperto i dispositivi DZ -Prima di connetterti, conferma che `doublezerod` ha rilevato e pingato ogni switch DZ testnet disponibile: +Prima di connetterti, assicurati che `doublezerod` abbia scoperto e pingato ciascuno degli switch DZ testnet disponibili: ``` doublezero latency ``` -Esempio di output: +Output di esempio: ``` $ doublezero latency @@ -216,50 +213,50 @@ $ doublezero latency 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01 | 180.87.102.98 | 176.66ms | 176.76ms | 176.72ms | true ``` -Se i dispositivi non appaiono nell'output, attendi 10-20 secondi e riprova. +Se nell'output non vengono restituiti dispositivi, attendi 10-20 secondi e riprova. -## 5. Disconnettiti da DoubleZero +## 5. Disconnettersi da DoubleZero -La sezione successiva configurerà l'ambiente DoubleZero. Per garantire il successo, disconnetti la sessione corrente. Questo evita problemi con più tunnel aperti sulla macchina. +Nelle prossime sezioni configurerai il tuo ambiente DoubleZero. Per garantire il successo, disconnetti la sessione corrente. Questo eviterà problemi legati a tunnel multipli aperti sulla tua macchina. -Conferma +Verifica ```bash doublezero status ``` -Se lo stato è `up`, esegui: +se è `up` esegui: ```bash doublezero disconnect ``` -### Passo Successivo: Tenant +### Prossimo passo: Tenant -La connessione a DoubleZero varia in base al caso d'uso. In DoubleZero, i tenant sono gruppi con profili utente simili. Ad esempio: blockchain, livelli di trasferimento dati, ecc. +La connessione a DoubleZero varierà in base al tuo caso d'uso. Su DoubleZero, i Tenant sono gruppi che hanno profili utente simili. Esempi includono Blockchain, Data Transfer Layer, ecc. -### [Seleziona il Tenant e Continua qui](tenant.md) +### [Procedi per scegliere il tuo tenant qui](tenant.md) -# Opzionale: Abilitare le Metriche Prometheus +# Opzionale: Abilitare le metriche Prometheus -Gli operatori che conoscono le metriche Prometheus potrebbero voler abilitarle per il monitoraggio DoubleZero. Questo ti permetterà di ottenere informazioni sulle prestazioni del client DoubleZero, sullo stato della connessione e sulla salute operativa. +Gli operatori che hanno familiarità con le metriche Prometheus potrebbero volerle abilitare per il monitoraggio di DoubleZero. Questo fornisce visibilità sulle prestazioni del client DoubleZero, sullo stato della connessione e sulla salute operativa. -## Metriche Disponibili +## Quali metriche sono disponibili DoubleZero espone diverse metriche chiave: -- **Informazioni di build**: versione, hash commit, data di build -- **Stato della sessione**: se la sessione DoubleZero è attiva -- **Metriche di connessione**: latenza e informazioni di connessione -- **Dati di prestazione**: throughput e tassi di errore +- **Informazioni sulla build**: Versione, hash del commit e data di build +- **Stato della sessione**: Se la sessione DoubleZero è attiva +- **Metriche di connessione**: Latenza e informazioni sulla connettività +- **Dati sulle prestazioni**: Throughput e tassi di errore -## Abilitazione delle Metriche Prometheus +## Abilitare le metriche Prometheus Per abilitare le metriche Prometheus sul client DoubleZero, segui questi passaggi: -### 1. Modifica il comando di avvio del servizio systemd doublezerod +### 1. Modificare il comando di avvio del servizio systemd doublezerod -Crea o modifica la configurazione di override systemd: +Crea o modifica la configurazione di override di systemd: ```bash sudo mkdir -p /etc/systemd/system/doublezerod.service.d/ @@ -268,7 +265,7 @@ sudo nano /etc/systemd/system/doublezerod.service.d/override.conf Sostituisci con questa configurazione: -Il flag `-env` deve puntare a `testnet` o `mainnet-beta` a seconda della rete da cui vuoi raccogliere dati. Nel blocco di esempio viene utilizzato `testnet`. Se necessario, può essere cambiato in `mainnet-beta`. +Nota che il flag `-env` deve puntare a `testnet` o `mainnet-beta` a seconda della rete da cui desideri raccogliere i dati. Nel blocco di esempio viene utilizzato `testnet`. Puoi sostituirlo con `mainnet-beta` se necessario. ```ini [Service] @@ -276,7 +273,7 @@ ExecStart= ExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113 ``` -### 2. Ricarica e riavvia il servizio +### 2. Ricaricare e riavviare il servizio ```bash sudo systemctl daemon-reload @@ -284,9 +281,9 @@ sudo systemctl restart doublezerod sudo systemctl status doublezerod ``` -### 3. Conferma che le metriche siano disponibili +### 3. Verificare che le metriche siano disponibili -Conferma che l'endpoint delle metriche stia rispondendo: +Testa che l'endpoint delle metriche stia rispondendo: ```bash curl -s localhost:2113/metrics | grep doublezero @@ -302,27 +299,26 @@ doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6 # TYPE doublezero_session_is_up gauge doublezero_session_is_up 0 ``` - -## Risoluzione dei Problemi +## Risoluzione dei problemi Se le metriche non vengono visualizzate: -1. **Controlla lo stato del servizio**: `sudo systemctl status doublezerod` +1. **Verifica lo stato del servizio**: `sudo systemctl status doublezerod` 2. **Verifica la configurazione**: `sudo systemctl cat doublezerod` 3. **Controlla i log**: `sudo journalctl -u doublezerod -f` 4. **Testa l'endpoint**: `curl -v localhost:2113/metrics` -5. **Controlla la porta**: `netstat -tlnp | grep 2113` +5. **Verifica la porta**: `netstat -tlnp | grep 2113` -## Configurazione del Server Prometheus +## Configurare il server Prometheus -La configurazione e la sicurezza esulano dall'ambito di questo documento. -Grafana è un'ottima opzione per la visualizzazione, e la documentazione Grafana [qui](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/) descrive come raccogliere metriche Prometheus. +La configurazione e la sicurezza esulano dall'ambito di questa documentazione. +Grafana è un'eccellente opzione per la visualizzazione e dispone di documentazione disponibile [qui](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/) che descrive come raccogliere le metriche Prometheus. ## Dashboard Grafana (Opzionale) -Per la visualizzazione, puoi creare una dashboard Grafana con le metriche DoubleZero. I pannelli comuni includono: +Per la visualizzazione, puoi creare una dashboard Grafana utilizzando le metriche di DoubleZero. I pannelli comuni includono: - Stato della sessione nel tempo -- Informazioni di build +- Informazioni sulla build - Tendenze della latenza di connessione -- Monitoraggio del tasso di errore +- Monitoraggio del tasso di errore \ No newline at end of file diff --git a/docs/setup.ja.md b/docs/setup.ja.md index 0d6b6dc..dfd3ddd 100644 --- a/docs/setup.ja.md +++ b/docs/setup.ja.md @@ -1,46 +1,44 @@ -# DoubleZeroのセットアップ方法 -!!! warning "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 のセットアップ方法 +!!! info "用語について" + DoubleZero を初めて使いますか?[doublezerod](glossary.md#doublezerod)、[IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency)、[DZD](glossary.md#dzd-doublezero-device) などの用語の定義については [用語集](glossary.md) をご覧ください。 -!!! info "用語" - DoubleZeroを初めて利用しますか?[用語集](glossary.md)で[doublezerod](glossary.md#doublezerod)、[IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency)、[DZD](glossary.md#dzd-doublezero-device)などの用語の定義を確認してください。 - -!!! warning "DoubleZeroに接続することで、[DoubleZeroサービス利用規約](https://doublezero.xyz/terms-protocol)に同意します" +!!! warning "DoubleZero に接続することにより、[DoubleZero 利用規約](https://doublezero.xyz/terms-protocol)に同意したものとみなされます" ## 前提条件 !!! warning inline end - バリデーターの場合:DoubleZeroはコンテナではなく、バリデーターホストに直接インストールする必要があります。 -- パブリックIPアドレス(NATなし)を持つインターネット接続 -- x86_64サーバー -- 対応OS:Ubuntu 22.04+またはDebian 11+、あるいはRocky Linux / RHEL 9+ -- DoubleZeroを実行するサーバーのrootまたはsudo権限 -- オプションですが有用:デバッグ用のjqとcurl + バリデーターの場合:DoubleZero はコンテナ内ではなく、バリデーターホストに直接インストールする必要があります。 +- パブリック IP アドレスを持つインターネット接続(NAT なし) +- x86_64 サーバー +- 対応 OS:Ubuntu 22.04 以降または Debian 11 以降、もしくは Rocky Linux / RHEL 9 以降 +- DoubleZero を実行するサーバーでの root または sudo 権限 +- オプションですが便利:デバッグ用の jq と curl -## DoubleZeroへの接続 +## DoubleZero への接続 -DoubleZeroテストネットとDoubleZeroメインネットベータは物理的に異なるネットワークです。インストール時に適切なネットワークを選択してください。 +DoubleZero Testnet と DoubleZero Mainnet-Beta は物理的に異なるネットワークです。インストール時に適切なネットワークを選択してください。 -DoubleZeroへのオンボーディング時に、**DoubleZeroアイデンティティ**(**DoubleZero ID**と呼ばれる公開鍵で表される)を確立します。このキーはDoubleZeroがマシンを認識する方法の一部です。 +DoubleZero にオンボーディングする際、**DoubleZero ID** と呼ばれる公開鍵で表される **DoubleZero アイデンティティ**を確立します。この鍵は、DoubleZero がお使いのマシンを認識するための手段の一部です。 -## 1. DoubleZeroパッケージのインストール +## 1. DoubleZero パッケージのインストール
!!! info "現在のバージョン" - | パッケージ | メインネットベータ | テストネット | + | パッケージ | Mainnet-Beta | Testnet | |---------|-------------|---------| | `doublezero` | `MAINNET_CLIENT_VERSION` | `TESTNET_CLIENT_VERSION` |
-OSに応じて以下の手順に従ってください: +お使いのオペレーティングシステムに応じて、以下の手順に従ってください: ### Ubuntu / Debian
-メインネットベータの現在の推奨デプロイメント: +Mainnet-Beta の現在の推奨デプロイメントは以下の通りです: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -50,7 +48,7 @@ sudo apt-get install doublezero
-テストネットの現在の推奨デプロイメント: +Testnet の現在の推奨デプロイメントは以下の通りです: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -62,7 +60,7 @@ sudo apt-get install doublezero
-メインネットベータの現在の推奨デプロイメント: +Mainnet-Beta の現在の推奨デプロイメントは以下の通りです: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -72,7 +70,7 @@ sudo yum install doublezero
-テストネットの現在の推奨デプロイメント: +Testnet の現在の推奨デプロイメントは以下の通りです: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -82,23 +80,23 @@ sudo yum install doublezero
-??? info "既存ユーザーのみ:パッケージを*テストネットからメインネットベータ*、または*メインネットベータからテストネット*に変更する" - 上記のパッケージリポジトリからインストールする際は、DoubleZero**テストネット**または**DoubleZeroメインネットベータ**に固有です。いずれかの時点でネットワークを切り替える場合は、以前にインストールされたパッケージリポジトリを削除し、ターゲットリポジトリに更新する必要があります。 +??? info "既存ユーザーのみ:パッケージを *Testnet から Mainnet-Beta*、または *Mainnet-Beta から Testnet* に変更する" + 上記のパッケージリポジトリからインストールする場合、DoubleZero **Testnet** または **DoubleZero Mainnet Beta** に固有のものとなります。ネットワークを切り替える場合は、以前インストールしたパッケージリポジトリを削除し、ターゲットリポジトリに更新する必要があります。 - この例では、テストネットからメインネットベータへの移行を説明します。 + この例では、Testnet から Mainnet-Beta への移行手順を説明します。 - ステップ3を上記のテストネット用インストールコマンドに置き換えることで、メインネットベータからテストネットへの移行も同じ手順で完了できます。 + Mainnet-Beta から Testnet への移行も同じ手順で行えますが、ステップ 3 を上記の Testnet 用インストールコマンドに置き換えてください。 - 1. 古いリポジトリファイルを見つける + 1. 古いリポジトリファイルの検索 - まず、システム上の既存のDoubleZeroリポジトリ設定ファイルを特定します: + まず、システム上の既存の DoubleZero リポジトリ設定ファイルを見つけます: `find /etc/apt | grep doublezero` `find /usr/share/keyrings/ | grep doublezero` - 2. 古いリポジトリファイルを削除する + 2. 古いリポジトリファイルの削除 前のステップで見つかった古いリポジトリファイルを削除します。例: @@ -106,9 +104,9 @@ sudo yum install doublezero sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list sudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg ``` - 3. 新しいリポジトリからインストール + 3. 新しいリポジトリからのインストール - 新しいメインネットベータリポジトリを追加し、最新のパッケージをインストールします: + 新しい Mainnet-Beta リポジトリを追加し、最新パッケージをインストールします: ``` curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash @@ -120,20 +118,20 @@ sudo yum install doublezero
-#### `doublezerod`のステータスを確認する +#### `doublezerod` のステータス確認 -パッケージのインストール後、新しいsystemdユニットがインストール、アクティベート、起動されます。ステータスを確認するには次のコマンドを実行します: +パッケージのインストール後、新しい systemd ユニットがインストール、有効化、起動されます。ステータスを確認するには以下を実行してください: ``` sudo systemctl status doublezerod ```
-### GREとBGP用のファイアウォール設定 +### GRE および BGP のファイアウォール設定 -DoubleZeroはGREトンネリング(IPプロトコル47)とBGPルーティング(リンクローカルアドレスのtcp/179)を使用します。ファイアウォールがこれらのプロトコルを許可していることを確認してください: +DoubleZero は GRE トンネリング(IP プロトコル 47)および BGP ルーティング(リンクローカルアドレス上の tcp/179)を使用します。ファイアウォールでこれらのプロトコルを許可してください: -iptablesでGREとBGPを許可する: +iptables で GRE と BGP を許可する:
@@ -146,7 +144,7 @@ sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tc
-またはUFWでGREとBGPを許可する: +または UFW で GRE と BGP を許可する:
@@ -158,32 +156,31 @@ sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179
-## 2. 新しいDoubleZeroアイデンティティを作成する +## 2. 新しい DoubleZero アイデンティティの作成 -次のコマンドでサーバーにDoubleZeroアイデンティティを作成します: +以下のコマンドでサーバー上に DoubleZero アイデンティティを作成します: ```bash doublezero keygen ``` !!! info - 使用したい既存のIDがある場合は、以下のオプション手順に従うことができます。 + 既存の ID を使用したい場合は、以下のオプション手順に従ってください。 - doublezerod設定ディレクトリを作成する + doublezero 設定ディレクトリの作成 ``` mkdir -p ~/.config/doublezero ``` - DoubleZeroで使用したい`id.json`をdoublezero設定ディレクトリにコピーまたはリンクする。 + DoubleZero で使用したい `id.json` を doublezero 設定ディレクトリにコピーまたはリンクします。 ``` sudo cp ~/.config/doublezero/ ``` +## 3. サーバーの DoubleZero アイデンティティの取得 -## 3. サーバーのDoubleZeroアイデンティティを取得する - -DoubleZeroアイデンティティを確認します。このアイデンティティはマシンとDoubleZero間の接続を作成するために使用されます。 +DoubleZero アイデンティティを確認します。このアイデンティティは、お使いのマシンと DoubleZero 間の接続を作成するために使用されます。 ```bash doublezero address @@ -194,15 +191,15 @@ doublezero address YourDoubleZeroAddress11111111111111111111111111111 ``` -## 4. doublezerodがDZデバイスを検出したことを確認する +## 4. doublezerod が DZ デバイスを検出したか確認する -接続する前に、`doublezerod`が利用可能な各DZテストネットスイッチを検出してpingしていることを確認します: +接続する前に、`doublezerod` が利用可能な DZ テストネットスイッチをすべて検出し、ping したことを確認してください: ``` doublezero latency ``` -サンプル出力: +出力例: ``` $ doublezero latency @@ -216,11 +213,11 @@ $ doublezero latency 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01 | 180.87.102.98 | 176.66ms | 176.76ms | 176.72ms | true ``` -出力にデバイスが表示されない場合は、10〜20秒待ってから再試行してください。 +出力にデバイスが表示されない場合は、10〜20 秒待ってから再試行してください。 -## 5. DoubleZeroから切断する +## 5. DoubleZero からの切断 -次のセクションではDoubleZero環境を設定します。成功を確実にするために、現在のセッションを切断してください。これにより、マシンで複数のトンネルが開いている問題を回避できます。 +次のセクションで DoubleZero 環境を設定します。成功を確実にするために、現在のセッションを切断してください。これにより、マシン上で複数のトンネルが開いていることに関連する問題を回避できます。 確認 @@ -228,7 +225,7 @@ $ doublezero latency doublezero status ``` -`up`の場合は実行: +`up` の場合は以下を実行してください: ```bash doublezero disconnect @@ -236,39 +233,39 @@ doublezero disconnect ### 次のステップ:テナント -DoubleZeroへの接続はユースケースによって異なります。DoubleZeroでは、テナントは類似したユーザープロファイルを持つグループです。例:ブロックチェーン、データ転送レイヤーなど。 +DoubleZero への接続は、ユースケースによって異なります。DoubleZero では、テナントは類似したユーザープロファイルを持つグループです。例としては、ブロックチェーン、データ転送レイヤーなどがあります。 -### [こちらでテナントを選択して進む](tenant.md) +### [こちらからテナントを選択してください](tenant.md) -# オプション:Prometheusメトリクスを有効にする +# オプション:Prometheus メトリクスの有効化 -Prometheusメトリクスに慣れているオペレーターは、DoubleZeroの監視のために有効にしたい場合があります。これにより、DoubleZeroクライアントのパフォーマンス、接続ステータス、および運用の健全性を把握できます。 +Prometheus メトリクスに精通しているオペレーターは、DoubleZero モニタリング用にメトリクスを有効化できます。これにより、DoubleZero クライアントのパフォーマンス、接続ステータス、運用状態を可視化できます。 ## 利用可能なメトリクス -DoubleZeroはいくつかの主要なメトリクスを公開します: -- **ビルド情報**:バージョン、コミットハッシュ、ビルド日 -- **セッションステータス**:DoubleZeroセッションがアクティブかどうか -- **接続メトリクス**:レイテンシと接続情報 +DoubleZero はいくつかの主要なメトリクスを公開しています: +- **ビルド情報**:バージョン、コミットハッシュ、ビルド日時 +- **セッションステータス**:DoubleZero セッションがアクティブかどうか +- **接続メトリクス**:レイテンシーと接続性に関する情報 - **パフォーマンスデータ**:スループットとエラー率 -## Prometheusメトリクスを有効にする +## Prometheus メトリクスの有効化 -DoubleZeroクライアントでPrometheusメトリクスを有効にするには、以下の手順に従ってください: +DoubleZero クライアントで Prometheus メトリクスを有効にするには、以下の手順に従ってください: -### 1. doublezerod systemdサービスの起動コマンドを変更する +### 1. doublezerod systemd サービスの起動コマンドを変更する -systemdオーバーライド設定を作成または編集します: +systemd オーバーライド設定を作成または編集します: ```bash sudo mkdir -p /etc/systemd/system/doublezerod.service.d/ sudo nano /etc/systemd/system/doublezerod.service.d/override.conf ``` -この設定に置き換えます: +以下の設定に置き換えてください: -`-env`フラグはデータを収集したいネットワークに応じて`testnet`または`mainnet-beta`を指す必要があります。サンプルブロックでは`testnet`を使用しています。必要に応じて`mainnet-beta`に変更できます。 +`-env` フラグは、データを収集したいネットワークに応じて `testnet` または `mainnet-beta` を指定する必要があることに注意してください。以下のサンプルブロックでは `testnet` を使用しています。必要に応じて `mainnet-beta` に置き換えてください。 ```ini [Service] @@ -276,7 +273,7 @@ ExecStart= ExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113 ``` -### 2. サービスをリロードして再起動する +### 2. サービスのリロードと再起動 ```bash sudo systemctl daemon-reload @@ -284,9 +281,9 @@ sudo systemctl restart doublezerod sudo systemctl status doublezerod ``` -### 3. メトリクスが利用可能かを確認する +### 3. メトリクスが利用可能か確認する -メトリクスエンドポイントが応答していることを確認します: +メトリクスエンドポイントが応答していることをテストします: ```bash curl -s localhost:2113/metrics | grep doublezero @@ -302,27 +299,26 @@ doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6 # TYPE doublezero_session_is_up gauge doublezero_session_is_up 0 ``` - ## トラブルシューティング メトリクスが表示されない場合: -1. **サービスステータスを確認する**:`sudo systemctl status doublezerod` -2. **設定を確認する**:`sudo systemctl cat doublezerod` -3. **ログを確認する**:`sudo journalctl -u doublezerod -f` -4. **エンドポイントをテストする**:`curl -v localhost:2113/metrics` -5. **ポートを確認する**:`netstat -tlnp | grep 2113` +1. **サービスステータスの確認**:`sudo systemctl status doublezerod` +2. **設定の確認**:`sudo systemctl cat doublezerod` +3. **ログの確認**:`sudo journalctl -u doublezerod -f` +4. **エンドポイントのテスト**:`curl -v localhost:2113/metrics` +5. **ポートの確認**:`netstat -tlnp | grep 2113` -## Prometheusサーバーの設定 +## Prometheus サーバーの設定 -設定とセキュリティはこのドキュメントの範囲外です。 -Grafanaは視覚化に優れたオプションであり、Prometheusメトリクスの収集方法を詳述するドキュメントが[こちら](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/)で入手できます。 +設定とセキュリティについては、このドキュメントの範囲外です。 +Grafana は可視化のための優れた選択肢であり、Prometheus メトリクスの収集方法について説明したドキュメントが[こちら](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/)にあります。 -## Grafanaダッシュボード(オプション) +## Grafana ダッシュボード(オプション) -視覚化のために、DoubleZeroメトリクスを使用してGrafanaダッシュボードを作成できます。一般的なパネルには以下が含まれます: -- 時間経過によるセッションステータス +可視化のために、DoubleZero メトリクスを使用して Grafana ダッシュボードを作成できます。一般的なパネルには以下が含まれます: +- 時系列でのセッションステータス - ビルド情報 -- 接続レイテンシのトレンド -- エラー率の監視 +- 接続レイテンシーの推移 +- エラー率のモニタリング \ No newline at end of file diff --git a/docs/setup.ko.md b/docs/setup.ko.md index c899bf4..7b44cf1 100644 --- a/docs/setup.ko.md +++ b/docs/setup.ko.md @@ -1,34 +1,32 @@ # DoubleZero 설정 방법 -!!! warning "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." - -!!! info "용어" - DoubleZero가 처음이신가요? [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency), [DZD](glossary.md#dzd-doublezero-device)와 같은 용어의 정의는 [용어집](glossary.md)을 참조하세요. +!!! info "용어 안내" + DoubleZero가 처음이신가요? [용어집](glossary.md)에서 [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency), [DZD](glossary.md#dzd-doublezero-device) 등의 용어 정의를 확인하세요. !!! warning "DoubleZero에 연결함으로써 [DoubleZero 서비스 약관](https://doublezero.xyz/terms-protocol)에 동의합니다" -## 사전 요구사항 +## 사전 요구 사항 !!! warning inline end 검증자의 경우: DoubleZero는 컨테이너가 아닌 검증자 호스트에 직접 설치해야 합니다. -- 공개 IP 주소(NAT 없음)를 가진 인터넷 연결 +- 공인 IP 주소를 사용한 인터넷 연결 (NAT 불가) - x86_64 서버 - 지원 OS: Ubuntu 22.04+ 또는 Debian 11+, 또는 Rocky Linux / RHEL 9+ -- DoubleZero가 실행될 서버의 루트 또는 sudo 권한 +- DoubleZero를 실행할 서버에서의 Root 또는 sudo 권한 - 선택 사항이지만 유용함: 디버깅을 위한 jq 및 curl -## DoubleZero에 연결 +## DoubleZero에 연결하기 -DoubleZero 테스트넷과 DoubleZero 메인넷-베타는 물리적으로 별개의 네트워크입니다. 설치 시 적절한 네트워크를 선택하세요. +DoubleZero Testnet과 DoubleZero Mainnet-Beta는 물리적으로 별도의 네트워크입니다. 설치 시 적절한 네트워크를 선택하세요. -DoubleZero에 온보딩할 때 공개 키인 **DoubleZero ID**로 표현되는 **DoubleZero 신원**을 설정합니다. 이 키는 DoubleZero가 기계를 인식하는 방법의 일부입니다. +DoubleZero에 온보딩할 때 **DoubleZero ID**라고 하는 공개 키로 표현되는 **DoubleZero 신원**을 설정하게 됩니다. 이 키는 DoubleZero가 귀하의 머신을 인식하는 방식의 일부입니다. ## 1. DoubleZero 패키지 설치
!!! info "현재 버전" - | 패키지 | 메인넷-베타 | 테스트넷 | + | 패키지 | Mainnet-Beta | Testnet | |---------|-------------|---------| | `doublezero` | `MAINNET_CLIENT_VERSION` | `TESTNET_CLIENT_VERSION` | @@ -40,7 +38,7 @@ DoubleZero에 온보딩할 때 공개 키인 **DoubleZero ID**로 표현되는 *
-메인넷-베타에 권장되는 현재 배포: +Mainnet-Beta의 현재 권장 배포 방법: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -50,7 +48,7 @@ sudo apt-get install doublezero
-테스트넷에 권장되는 현재 배포: +Testnet의 현재 권장 배포 방법: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -62,7 +60,7 @@ sudo apt-get install doublezero
-메인넷-베타에 권장되는 현재 배포: +Mainnet-Beta의 현재 권장 배포 방법: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -72,7 +70,7 @@ sudo yum install doublezero
-테스트넷에 권장되는 현재 배포: +Testnet의 현재 권장 배포 방법: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -82,25 +80,25 @@ sudo yum install doublezero
-??? info "기존 사용자 전용: *테스트넷에서 메인넷-베타로* 또는 *메인넷-베타에서 테스트넷으로* 패키지 변경" - 위의 패키지 저장소 중 하나에서 설치하면 DoubleZero **테스트넷** 또는 **DoubleZero 메인넷-베타**에 특정됩니다. 어느 시점에서든 네트워크를 변경하는 경우 이전에 설치된 패키지 저장소를 제거하고 대상 저장소로 업데이트해야 합니다. +??? info "기존 사용자 전용: *Testnet에서 Mainnet-Beta로* 또는 *Mainnet-Beta에서 Testnet으로* 패키지 변경" + 위의 패키지 저장소 중 하나에서 설치하면 해당 패키지는 DoubleZero **Testnet** 또는 **DoubleZero Mainnet Beta** 전용입니다. 네트워크를 변경하는 경우 이전에 설치된 패키지 저장소를 제거하고 대상 저장소로 업데이트해야 합니다. - 이 예시는 테스트넷에서 메인넷-베타 마이그레이션을 안내합니다. + 이 예제에서는 Testnet에서 Mainnet-Beta로의 마이그레이션을 안내합니다. - 동일한 단계를 완료하여 메인넷-베타에서 테스트넷으로 이동할 수 있습니다. 단, 3단계를 위의 테스트넷 설치 명령으로 교체하세요. + 동일한 단계를 통해 Mainnet-Beta에서 Testnet으로 이동할 수 있으며, 3단계를 위의 Testnet 설치 명령으로 대체하면 됩니다. - 1. 이전 저장소 파일 찾기 + 1. 기존 저장소 파일 찾기 - 먼저 시스템에서 기존 DoubleZero 저장소 구성 파일을 찾습니다: + 먼저 시스템에 있는 기존 DoubleZero 저장소 구성 파일을 찾으세요: `find /etc/apt | grep doublezero` `find /usr/share/keyrings/ | grep doublezero` - 2. 이전 저장소 파일 제거 + 2. 기존 저장소 파일 제거 - 이전 단계에서 찾은 이전 저장소 파일을 제거합니다. 예를 들어: + 이전 단계에서 찾은 기존 저장소 파일을 제거하세요. 예를 들어: ``` sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list @@ -108,7 +106,7 @@ sudo yum install doublezero ``` 3. 새 저장소에서 설치 - 새 메인넷-베타 저장소를 추가하고 최신 패키지를 설치합니다: + 새 Mainnet-Beta 저장소를 추가하고 최신 패키지를 설치하세요: ``` curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash @@ -122,7 +120,7 @@ sudo yum install doublezero #### `doublezerod` 상태 확인 -패키지가 설치되면 새 systemd 유닛이 설치, 활성화 및 시작됩니다. 상태를 확인하려면 다음을 실행하세요: +패키지가 설치되면 새로운 systemd 유닛이 설치, 활성화 및 시작됩니다. 상태를 확인하려면 다음을 실행하세요: ``` sudo systemctl status doublezerod ``` @@ -131,7 +129,7 @@ sudo systemctl status doublezerod ### GRE 및 BGP를 위한 방화벽 구성 -DoubleZero는 GRE 터널링(IP 프로토콜 47) 및 BGP 라우팅(링크-로컬 주소의 tcp/179)을 사용합니다. 방화벽이 이 프로토콜을 허용하는지 확인하세요: +DoubleZero는 GRE 터널링(IP 프로토콜 47)과 BGP 라우팅(링크-로컬 주소의 tcp/179)을 사용합니다. 방화벽에서 이러한 프로토콜을 허용하는지 확인하세요: iptables를 통해 GRE 및 BGP 허용: @@ -160,29 +158,29 @@ sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 ## 2. 새 DoubleZero 신원 생성 -다음 명령으로 서버에 DoubleZero 신원을 생성합니다: +다음 명령으로 서버에 DoubleZero 신원을 생성하세요: ```bash doublezero keygen ``` !!! info - 사용하고 싶은 기존 ID가 있는 경우 다음 선택적 단계를 따를 수 있습니다. + 사용하려는 기존 ID가 있는 경우 다음 선택 단계를 따를 수 있습니다. - doublezero 구성 디렉토리 생성 + doublezero 구성 디렉터리 생성 ``` mkdir -p ~/.config/doublezero ``` - DoubleZero와 함께 사용하려는 `id.json`을 doublezero 구성 디렉토리에 복사하거나 링크합니다. + DoubleZero에 사용할 `id.json`을 doublezero 구성 디렉터리에 복사하거나 링크하세요. ``` sudo cp ~/.config/doublezero/ ``` ## 3. 서버의 DoubleZero 신원 확인 -DoubleZero 신원을 확인합니다. 이 신원은 기계와 DoubleZero 간의 연결을 생성하는 데 사용됩니다. +DoubleZero 신원을 확인하세요. 이 신원은 귀하의 머신과 DoubleZero 간의 연결을 생성하는 데 사용됩니다. ```bash doublezero address @@ -195,7 +193,7 @@ YourDoubleZeroAddress11111111111111111111111111111 ## 4. doublezerod가 DZ 장치를 발견했는지 확인 -연결하기 전에 `doublezerod`가 사용 가능한 DZ 테스트넷 스위치를 각각 발견하고 핑했는지 확인합니다: +연결하기 전에 `doublezerod`가 사용 가능한 각 DZ 테스트넷 스위치를 발견하고 핑했는지 확인하세요: ``` doublezero latency @@ -217,9 +215,9 @@ $ doublezero latency 출력에 장치가 반환되지 않으면 10-20초 기다린 후 다시 시도하세요. -## 5. DoubleZero에서 연결 해제 +## 5. DoubleZero 연결 해제 -다음 섹션에서 DoubleZero 환경을 설정합니다. 성공적인 설정을 위해 현재 세션의 연결을 해제하세요. 이렇게 하면 기계에 열려 있는 여러 터널과 관련된 문제를 방지할 수 있습니다. +다음 섹션에서 DoubleZero 환경을 설정합니다. 성공을 보장하기 위해 현재 세션의 연결을 해제하세요. 이렇게 하면 머신에서 여러 터널이 열리는 것과 관련된 문제를 방지할 수 있습니다. 확인 @@ -227,7 +225,7 @@ $ doublezero latency doublezero status ``` -`up` 상태이면 다음을 실행합니다: +`up` 상태인 경우 다음을 실행하세요: ```bash doublezero disconnect @@ -235,21 +233,21 @@ doublezero disconnect ### 다음 단계: 테넌트 -DoubleZero 연결은 사용 사례에 따라 다릅니다. DoubleZero에서 테넌트는 유사한 사용자 프로필을 가진 그룹입니다. 예를 들어 블록체인, 데이터 전송 레이어 등이 있습니다. +DoubleZero 연결은 사용 사례에 따라 다릅니다. DoubleZero에서 테넌트는 유사한 사용자 프로필을 가진 그룹입니다. 블록체인, 데이터 전송 레이어 등이 그 예입니다. -### [여기서 테넌트를 선택하세요](tenant.md) +### [여기에서 테넌트를 선택하세요](tenant.md) # 선택 사항: Prometheus 메트릭 활성화 -Prometheus 메트릭에 익숙한 운영자는 DoubleZero 모니터링을 위해 활성화할 수 있습니다. 이를 통해 DoubleZero 클라이언트 성능, 연결 상태 및 운영 상태에 대한 가시성을 제공합니다. +Prometheus 메트릭에 익숙한 운영자는 DoubleZero 모니터링을 위해 메트릭을 활성화할 수 있습니다. 이를 통해 DoubleZero 클라이언트 성능, 연결 상태 및 운영 상태를 확인할 수 있습니다. ## 사용 가능한 메트릭 -DoubleZero는 다음과 같은 주요 메트릭을 노출합니다: +DoubleZero는 여러 주요 메트릭을 노출합니다: - **빌드 정보**: 버전, 커밋 해시 및 빌드 날짜 -- **세션 상태**: DoubleZero 세션의 활성 여부 -- **연결 메트릭**: 대기 시간 및 연결 정보 +- **세션 상태**: DoubleZero 세션이 활성 상태인지 여부 +- **연결 메트릭**: 지연 시간 및 연결 정보 - **성능 데이터**: 처리량 및 오류율 ## Prometheus 메트릭 활성화 @@ -258,16 +256,16 @@ DoubleZero 클라이언트에서 Prometheus 메트릭을 활성화하려면 다 ### 1. doublezerod systemd 서비스 시작 명령 수정 -systemd 재정의 구성을 생성하거나 편집합니다: +systemd 오버라이드 구성을 생성하거나 편집하세요: ```bash sudo mkdir -p /etc/systemd/system/doublezerod.service.d/ sudo nano /etc/systemd/system/doublezerod.service.d/override.conf ``` -다음 구성으로 교체합니다: +다음 구성으로 교체하세요: -`-env` 플래그는 데이터를 수집하려는 네트워크에 따라 `testnet` 또는 `mainnet-beta`를 가리켜야 합니다. 샘플 블록에서는 `testnet`이 사용됩니다. 필요한 경우 `mainnet-beta`로 교체할 수 있습니다. +`-env` 플래그는 데이터를 수집하려는 네트워크에 따라 `testnet` 또는 `mainnet-beta`를 가리켜야 합니다. 아래 샘플 블록에서는 `testnet`이 사용됩니다. 필요한 경우 `mainnet-beta`로 교체할 수 있습니다. ```ini [Service] @@ -275,7 +273,7 @@ ExecStart= ExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113 ``` -### 2. 서비스 다시 로드 및 재시작 +### 2. 서비스 리로드 및 재시작 ```bash sudo systemctl daemon-reload @@ -285,7 +283,7 @@ sudo systemctl status doublezerod ### 3. 메트릭 사용 가능 여부 확인 -메트릭 엔드포인트가 응답하는지 테스트합니다: +메트릭 엔드포인트가 응답하는지 테스트하세요: ```bash curl -s localhost:2113/metrics | grep doublezero @@ -315,12 +313,12 @@ doublezero_session_is_up 0 ## Prometheus 서버 구성 구성 및 보안은 이 문서의 범위를 벗어납니다. -Grafana는 시각화에 탁월한 옵션이며 Prometheus 메트릭을 수집하는 방법에 대한 문서가 [여기](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/)에 있습니다. +Grafana는 시각화를 위한 훌륭한 옵션이며, Prometheus 메트릭을 수집하는 방법을 설명하는 문서를 [여기](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/)에서 확인할 수 있습니다. ## Grafana 대시보드 (선택 사항) -시각화를 위해 DoubleZero 메트릭을 사용하는 Grafana 대시보드를 만들 수 있습니다. 일반적인 패널에는 다음이 포함됩니다: -- 시간 경과에 따른 세션 상태 +시각화를 위해 DoubleZero 메트릭을 사용하여 Grafana 대시보드를 생성할 수 있습니다. 일반적인 패널에는 다음이 포함됩니다: +- 시간에 따른 세션 상태 - 빌드 정보 -- 연결 대기 시간 추세 -- 오류율 모니터링 +- 연결 지연 시간 추이 +- 오류율 모니터링 \ No newline at end of file diff --git a/docs/setup.pt.md b/docs/setup.pt.md index d71884c..8ed5e37 100644 --- a/docs/setup.pt.md +++ b/docs/setup.pt.md @@ -1,29 +1,27 @@ # Como configurar o DoubleZero -!!! warning "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." - !!! info "Terminologia" Novo no DoubleZero? Consulte o [Glossário](glossary.md) para definições de termos como [doublezerod](glossary.md#doublezerod), [IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency) e [DZD](glossary.md#dzd-doublezero-device). -!!! warning "Ao conectar ao DoubleZero, concordo com os [Termos de Serviço do DoubleZero](https://doublezero.xyz/terms-protocol)" +!!! warning "Ao conectar-se ao DoubleZero, concordo com os [Termos de Serviço do DoubleZero](https://doublezero.xyz/terms-protocol)" ## Pré-requisitos !!! warning inline end - Para validadores: o DoubleZero precisa ser instalado diretamente no host do validador, não em um contêiner. -- Conectividade à internet com um endereço IP público (sem NAT) + Para validadores: o DoubleZero precisa ser instalado diretamente no host do seu validador, não em um contêiner. +- Conectividade com a Internet com endereço IP público (sem NAT) - Servidor x86_64 - SO suportado: Ubuntu 22.04+ ou Debian 11+, ou Rocky Linux / RHEL 9+ -- Privilégios de root ou sudo no servidor onde o DoubleZero será executado +- Privilégios root ou sudo no servidor onde o DoubleZero será executado - Opcional, mas útil: jq e curl para depuração ## Conectando ao DoubleZero -O Testnet do DoubleZero e o Mainnet-Beta do DoubleZero são redes fisicamente distintas. Por favor, escolha a rede apropriada durante a instalação. +O DoubleZero Testnet e o DoubleZero Mainnet-Beta são redes fisicamente distintas. Por favor, escolha a rede apropriada durante a instalação. -Ao integrar ao DoubleZero, você estabelecerá uma **identidade DoubleZero**, representada por uma chave pública chamada **DoubleZero ID**. Essa chave faz parte de como o DoubleZero reconhece sua máquina. +Ao integrar-se ao DoubleZero, você estabelecerá uma **identidade DoubleZero**, representada por uma chave pública chamada **DoubleZero ID**. Esta chave faz parte de como o DoubleZero reconhece sua máquina. -## 1. Instalar os Pacotes do DoubleZero +## 1. Instalar os Pacotes DoubleZero
@@ -82,17 +80,17 @@ sudo yum install doublezero
-??? info "Apenas Usuários Existentes: Mudar um pacote de *Testnet para Mainnet-Beta*, ou de *Mainnet-Beta para Testnet*" - Quando você instala a partir de um dos repositórios de pacotes acima, ele é específico para o **Testnet** do DoubleZero ou o **DoubleZero Mainnet Beta**. Se você trocar de rede em algum momento, precisará remover os repositórios de pacotes instalados anteriormente e atualizar para o repositório de destino. +??? info "Apenas para Usuários Existentes: Alterar um pacote de *Testnet para Mainnet-Beta*, ou *Mainnet-Beta para Testnet*" + Quando você instala a partir de um dos repositórios de pacotes acima, ele é específico para o DoubleZero **Testnet** ou **DoubleZero Mainnet Beta**. Se você trocar de rede em algum momento, precisará remover os repositórios de pacotes previamente instalados e atualizar para o repositório de destino. - Este exemplo mostrará a migração do Testnet para o Mainnet-Beta. + Este exemplo mostrará a migração de Testnet para Mainnet-Beta - As mesmas etapas podem ser concluídas para mover do Mainnet-Beta para o Testnet, substituindo o passo 3 pelo comando de instalação do Testnet acima. + As mesmas etapas podem ser realizadas para migrar de Mainnet-Beta para Testnet, substituindo a etapa 3 pelo comando de instalação para Testnet acima. 1. Encontrar Arquivos de Repositório Antigos - Primeiro, localize quaisquer arquivos de configuração de repositório do DoubleZero existentes em seu sistema: + Primeiro, localize quaisquer arquivos de configuração de repositório DoubleZero existentes no seu sistema: `find /etc/apt | grep doublezero` @@ -100,7 +98,7 @@ sudo yum install doublezero 2. Remover Arquivos de Repositório Antigos - Remova os arquivos de repositório antigos encontrados na etapa anterior, por exemplo: + Remova os arquivos de repositório antigos encontrados na etapa anterior, por exemplo ``` sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list @@ -112,7 +110,7 @@ sudo yum install doublezero ``` curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash - sudo apt-get install doublezero= + sudo apt-get install doublezero= ``` @@ -122,7 +120,7 @@ sudo yum install doublezero #### Verificar o status do `doublezerod` -Após a instalação do pacote, uma nova unidade systemd é instalada, ativada e iniciada. Para ver o status, execute: +Após a instalação do pacote, uma nova unidade systemd é instalada, ativada e iniciada. Para ver o status, você pode executar: ``` sudo systemctl status doublezerod ``` @@ -133,7 +131,7 @@ sudo systemctl status doublezerod O DoubleZero usa tunelamento GRE (protocolo IP 47) e roteamento BGP (tcp/179 em endereços link-local). Certifique-se de que seu firewall permita esses protocolos: -Permitir GRE e BGP via iptables: +Permitir GRE e BGP através do iptables:
@@ -146,7 +144,7 @@ sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tc
-Ou permitir GRE e BGP via UFW: +Ou permitir GRE e BGP através do UFW:
@@ -160,7 +158,7 @@ sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 ## 2. Criar Nova Identidade DoubleZero -Crie uma Identidade DoubleZero em seu servidor com o seguinte comando: +Crie uma Identidade DoubleZero no seu servidor com o seguinte comando: ```bash doublezero keygen @@ -169,20 +167,20 @@ doublezero keygen !!! info Se você tiver um ID existente que gostaria de usar, pode seguir estas etapas opcionais. - Criar o diretório de configuração do doublezero + Crie o diretório de configuração do doublezero ``` mkdir -p ~/.config/doublezero ``` - Copie ou vincule o `id.json` que deseja usar com o DoubleZero no diretório de configuração do doublezero. + Copie ou vincule o `id.json` que deseja usar com o DoubleZero para o diretório de configuração do doublezero. ``` - sudo cp ~/.config/doublezero/ + sudo cp ~/.config/doublezero/ ``` ## 3. Recuperar a identidade DoubleZero do servidor -Revise sua Identidade DoubleZero. Esta identidade será usada para criar a conexão entre sua máquina e o DoubleZero. +Revise sua Identidade DoubleZero. Esta identidade será usada para criar a conexão entre sua máquina e o DoubleZero ```bash doublezero address @@ -193,9 +191,9 @@ doublezero address YourDoubleZeroAddress11111111111111111111111111111 ``` -## 4. Verificar se o doublezerod descobriu os dispositivos DZ +## 4. Verificar se o doublezerod descobriu dispositivos DZ -Antes de conectar, certifique-se de que o `doublezerod` tenha descoberto e feito ping em cada um dos switches DZ testnet disponíveis: +Antes de conectar, certifique-se de que o `doublezerod` descobriu e realizou ping em cada um dos switches DZ testnet disponíveis: ``` doublezero latency @@ -219,7 +217,7 @@ Se nenhum dispositivo for retornado na saída, aguarde 10-20 segundos e tente no ## 5. Desconectar do DoubleZero -Nas próximas seções, você definirá seu Ambiente DoubleZero. Para garantir o sucesso, desconecte a sessão atual. Isso evitará problemas relacionados a múltiplos túneis abertos em sua máquina. +Nas próximas seções, você configurará seu Ambiente DoubleZero. Para garantir o sucesso, desconecte a sessão atual. Isso evitará problemas relacionados a múltiplos túneis abertos na sua máquina. Verifique @@ -233,30 +231,30 @@ se estiver `up`, execute: doublezero disconnect ``` -### Próxima Etapa: Tenant +### Próximo Passo: Tenant -A conexão ao DoubleZero será diferente com base no seu caso de uso. No DoubleZero, Tenants são grupos que têm perfis de usuário semelhantes. Exemplos incluem Blockchains, Camadas de Transferência de Dados, etc. +A conexão ao DoubleZero será diferente com base no seu caso de uso. No DoubleZero, Tenants são grupos que possuem perfis de usuário semelhantes. Exemplos incluem Blockchains, Camadas de Transferência de Dados, etc. ### [Prossiga para escolher seu tenant aqui](tenant.md) # Opcional: Habilitar Métricas Prometheus -Operadores familiarizados com métricas Prometheus podem querer habilitá-las para monitoramento do DoubleZero. Isso fornece visibilidade sobre o desempenho do cliente DoubleZero, status de conexão e saúde operacional. +Operadores familiarizados com métricas Prometheus podem querer habilitá-las para o monitoramento do DoubleZero. Isso fornece visibilidade sobre o desempenho do cliente DoubleZero, status da conexão e saúde operacional. ## Quais Métricas Estão Disponíveis -O DoubleZero expõe várias métricas principais: -- **Informações de Build**: Versão, hash de commit e data de build +O DoubleZero expõe várias métricas importantes: +- **Informações de Build**: Versão, hash do commit e data de build - **Status da Sessão**: Se a sessão DoubleZero está ativa - **Métricas de Conexão**: Informações de latência e conectividade -- **Dados de Desempenho**: Throughput e taxas de erro +- **Dados de Desempenho**: Taxa de transferência e taxas de erro ## Habilitar Métricas Prometheus Para habilitar métricas Prometheus no cliente DoubleZero, siga estas etapas: -### 1. Modificar o comando de inicialização do serviço systemd doublezerod +### 1. Modificar o comando de inicialização do serviço systemd do doublezerod Crie ou edite a configuração de substituição do systemd: @@ -265,9 +263,9 @@ sudo mkdir -p /etc/systemd/system/doublezerod.service.d/ sudo nano /etc/systemd/system/doublezerod.service.d/override.conf ``` -Substitua por esta configuração: +Substitua com esta configuração: -Note que o flag `-env` precisa apontar para `testnet` ou `mainnet-beta` dependendo de qual rede você gostaria de coletar dados. No bloco de exemplo, `testnet` é usado. Você pode substituí-lo por `mainnet-beta` se necessário. +Observe que a flag `-env` precisa apontar para `testnet` ou `mainnet-beta`, dependendo de qual rede você deseja coletar dados. No bloco de exemplo, `testnet` é usado. Você pode substituí-lo por `mainnet-beta` se necessário. ```ini [Service] @@ -301,9 +299,9 @@ doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6 # TYPE doublezero_session_is_up gauge doublezero_session_is_up 0 ``` -## Resolução de Problemas +## Solução de Problemas -Se as métricas não aparecerem: +Se as métricas não estiverem aparecendo: 1. **Verificar status do serviço**: `sudo systemctl status doublezerod` 2. **Verificar configuração**: `sudo systemctl cat doublezerod` @@ -314,7 +312,7 @@ Se as métricas não aparecerem: ## Configurar Servidor Prometheus -Configuração e segurança estão além do escopo desta documentação. +A configuração e segurança estão fora do escopo desta documentação. O Grafana é uma excelente opção para visualização e possui documentação disponível [aqui](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/) detalhando como coletar métricas Prometheus. ## Dashboard Grafana (Opcional) @@ -323,4 +321,4 @@ Para visualização, você pode criar um dashboard Grafana usando as métricas d - Status da sessão ao longo do tempo - Informações de build - Tendências de latência de conexão -- Monitoramento de taxa de erros +- Monitoramento de taxa de erros \ No newline at end of file diff --git a/docs/setup.zh.md b/docs/setup.zh.md index 577ac27..74b15b5 100644 --- a/docs/setup.zh.md +++ b/docs/setup.zh.md @@ -1,46 +1,44 @@ -# DoubleZero设置方法 -!!! warning "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 !!! info "术语" - 初次使用DoubleZero?请在[词汇表](glossary.md)中查看[doublezerod](glossary.md#doublezerod)、[IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency)、[DZD](glossary.md#dzd-doublezero-device)等术语的定义。 + 初次接触 DoubleZero?请参阅[术语表](glossary.md),了解 [doublezerod](glossary.md#doublezerod)、[IBRL](glossary.md#ibrl-increase-bandwidth-reduce-latency) 和 [DZD](glossary.md#dzd-doublezero-device) 等术语的定义。 -!!! warning "通过连接到DoubleZero,您同意[DoubleZero服务条款](https://doublezero.xyz/terms-protocol)" +!!! warning "连接到 DoubleZero 即表示我同意 [DoubleZero 服务条款](https://doublezero.xyz/terms-protocol)" ## 前提条件 !!! warning inline end - 对于验证器:DoubleZero必须直接安装在验证器主机上,而不是容器中。 -- 具有公共IP地址(无NAT)的互联网连接 -- x86_64服务器 -- 支持的操作系统:Ubuntu 22.04+或Debian 11+,或Rocky Linux / RHEL 9+ -- 运行DoubleZero的服务器上的root或sudo权限 -- 可选但有用:用于调试的jq和curl + 对于验证者:DoubleZero 需要直接安装在您的验证者主机上,而不是在容器中。 +- 具有公网 IP 地址的互联网连接(无 NAT) +- x86_64 服务器 +- 支持的操作系统:Ubuntu 22.04+ 或 Debian 11+,或 Rocky Linux / RHEL 9+ +- 运行 DoubleZero 的服务器上的 root 或 sudo 权限 +- 可选但有用:用于调试的 jq 和 curl -## 连接到DoubleZero +## 连接到 DoubleZero -DoubleZero测试网和DoubleZero主网Beta是物理上不同的网络。安装时请选择适当的网络。 +DoubleZero Testnet 和 DoubleZero Mainnet-Beta 是物理上独立的网络。请在安装过程中选择适当的网络。 -加入DoubleZero时,您将建立**DoubleZero身份**(称为**DoubleZero ID**的公钥)。此密钥是DoubleZero识别您机器的方式之一。 +加入 DoubleZero 时,您将建立一个 **DoubleZero 身份**,由一个称为 **DoubleZero ID** 的公钥表示。此密钥是 DoubleZero 识别您机器的方式之一。 -## 1. 安装DoubleZero软件包 +## 1. 安装 DoubleZero 软件包
!!! info "当前版本" - | 软件包 | 主网Beta | 测试网 | + | 软件包 | Mainnet-Beta | Testnet | |---------|-------------|---------| | `doublezero` | `MAINNET_CLIENT_VERSION` | `TESTNET_CLIENT_VERSION` |
-根据您的操作系统按照以下说明操作: +请根据您的操作系统执行以下步骤: ### Ubuntu / Debian
-主网Beta的当前推荐部署: +当前推荐的 Mainnet-Beta 部署方式为: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -50,7 +48,7 @@ sudo apt-get install doublezero
-测试网的当前推荐部署: +当前推荐的 Testnet 部署方式为: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash sudo apt-get install doublezero @@ -62,7 +60,7 @@ sudo apt-get install doublezero
-主网Beta的当前推荐部署: +当前推荐的 Mainnet-Beta 部署方式为: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -72,7 +70,7 @@ sudo yum install doublezero
-测试网的当前推荐部署: +当前推荐的 Testnet 部署方式为: ```bash curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash sudo yum install doublezero @@ -82,25 +80,25 @@ sudo yum install doublezero
-??? info "仅限现有用户:将软件包从*测试网切换到主网Beta*,或从*主网Beta切换到测试网*" - 从上述软件包仓库安装时,DoubleZero**测试网**或**DoubleZero主网Beta**各有其专用仓库。如果您在某个时候需要切换网络,则需要删除之前安装的软件包仓库并更新到目标仓库。 +??? info "仅限现有用户:将软件包从 *Testnet 切换到 Mainnet-Beta*,或从 *Mainnet-Beta 切换到 Testnet*" + 当您从上述某个软件包仓库安装时,它特定于 DoubleZero **Testnet** 或 **DoubleZero Mainnet Beta**。如果您在任何时候切换网络,您需要移除之前安装的软件包仓库并更新到目标仓库。 - 此示例展示了从测试网迁移到主网Beta的过程。 + 本示例将演示从 Testnet 到 Mainnet-Beta 的迁移 - 通过将步骤3替换为上述测试网安装命令,也可以以相同步骤完成从主网Beta到测试网的迁移。 + 从 Mainnet-Beta 迁移到 Testnet 也可以完成相同的步骤,只需将步骤 3 替换为上述 Testnet 的安装命令即可。 - 1. 找到旧的仓库文件 + 1. 查找旧的仓库文件 - 首先,识别系统上现有的DoubleZero仓库配置文件: + 首先,找到系统上所有现有的 DoubleZero 仓库配置文件: `find /etc/apt | grep doublezero` `find /usr/share/keyrings/ | grep doublezero` - 2. 删除旧的仓库文件 + 2. 移除旧的仓库文件 - 删除上一步中找到的旧仓库文件。例如: + 移除上一步中找到的旧仓库文件,例如 ``` sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list @@ -108,7 +106,7 @@ sudo yum install doublezero ``` 3. 从新仓库安装 - 添加新的主网Beta仓库并安装最新软件包: + 添加新的 Mainnet-Beta 仓库并安装最新的软件包: ``` curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash @@ -120,20 +118,20 @@ sudo yum install doublezero
-#### 检查`doublezerod`状态 +#### 检查 `doublezerod` 的状态 -软件包安装后,将安装、激活并启动新的systemd单元。要检查状态,请运行以下命令: +软件包安装后,将安装、激活并启动一个新的 systemd 单元。要查看状态,您可以运行: ``` sudo systemctl status doublezerod ```
-### GRE和BGP的防火墙配置 +### 配置 GRE 和 BGP 防火墙 -DoubleZero使用GRE隧道(IP协议47)和BGP路由(链路本地地址的tcp/179)。请确保您的防火墙允许这些协议: +DoubleZero 使用 GRE 隧道(IP 协议 47)和 BGP 路由(链路本地地址上的 tcp/179)。请确保您的防火墙允许这些协议: -用iptables允许GRE和BGP: +通过 iptables 允许 GRE 和 BGP:
@@ -146,7 +144,7 @@ sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tc
-或用UFW允许GRE和BGP: +或通过 UFW 允许 GRE 和 BGP:
@@ -158,32 +156,31 @@ sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179
-## 2. 创建新的DoubleZero身份 +## 2. 创建新的 DoubleZero 身份 -使用以下命令在服务器上创建DoubleZero身份: +使用以下命令在服务器上创建 DoubleZero 身份: ```bash doublezero keygen ``` !!! info - 如果您有想要使用的现有ID,可以按照以下可选步骤操作。 + 如果您有现有的 ID 想要使用,可以按照以下可选步骤操作。 - 创建doublezerod配置目录 + 创建 doublezero 配置目录 ``` mkdir -p ~/.config/doublezero ``` - 将您想在DoubleZero中使用的`id.json`复制或链接到doublezero配置目录。 + 将您想要与 DoubleZero 一起使用的 `id.json` 复制或链接到 doublezero 配置目录。 ``` sudo cp ~/.config/doublezero/ ``` +## 3. 获取服务器的 DoubleZero 身份 -## 3. 获取服务器的DoubleZero身份 - -确认您的DoubleZero身份。此身份用于在您的机器与DoubleZero之间创建连接。 +查看您的 DoubleZero 身份。此身份将用于在您的机器和 DoubleZero 之间创建连接。 ```bash doublezero address @@ -194,9 +191,9 @@ doublezero address YourDoubleZeroAddress11111111111111111111111111111 ``` -## 4. 确认doublezerod已检测到DZ设备 +## 4. 检查 doublezerod 是否已发现 DZ 设备 -在连接之前,确认`doublezerod`已检测并ping了每个可用的DZ测试网交换机: +在连接之前,请确保 `doublezerod` 已发现并 ping 通每个可用的 DZ 测试网交换机: ``` doublezero latency @@ -216,19 +213,19 @@ $ doublezero latency 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01 | 180.87.102.98 | 176.66ms | 176.76ms | 176.72ms | true ``` -如果输出中未显示设备,请等待10至20秒后重试。 +如果输出中未返回任何设备,请等待 10-20 秒后重试。 -## 5. 从DoubleZero断开连接 +## 5. 断开与 DoubleZero 的连接 -下一节将配置DoubleZero环境。为确保成功,请断开当前会话的连接。这可以避免机器上打开多个隧道的问题。 +在接下来的章节中,您将设置 DoubleZero 环境。为确保成功,请断开当前会话。这将避免因机器上打开多个隧道而导致的问题。 -确认 +检查 ```bash doublezero status ``` -如果状态为`up`,请运行: +如果状态为 `up`,运行: ```bash doublezero disconnect @@ -236,39 +233,39 @@ doublezero disconnect ### 下一步:租户 -连接到DoubleZero因使用场景而异。在DoubleZero中,租户是具有相似用户配置文件的群组。例如:区块链、数据传输层等。 +连接到 DoubleZero 的方式将因您的使用场景而异。在 DoubleZero 上,租户是具有相似用户配置文件的组。示例包括区块链、数据传输层等。 -### [在此处选择租户并继续](tenant.md) +### [点击此处选择您的租户](tenant.md) -# 可选:启用Prometheus指标 +# 可选:启用 Prometheus 指标 -熟悉Prometheus指标的运营商可能希望为DoubleZero监控启用它。这将使您能够了解DoubleZero客户端的性能、连接状态和运营健康状况。 +熟悉 Prometheus 指标的运营者可能希望为 DoubleZero 监控启用这些指标。这可以提供对 DoubleZero 客户端性能、连接状态和运行健康状况的可见性。 -## 可用指标 +## 可用的指标 -DoubleZero公开几个关键指标: -- **构建信息**:版本、提交哈希、构建日期 -- **会话状态**:DoubleZero会话是否活跃 +DoubleZero 公开了几个关键指标: +- **构建信息**:版本、提交哈希和构建日期 +- **会话状态**:DoubleZero 会话是否处于活动状态 - **连接指标**:延迟和连接信息 - **性能数据**:吞吐量和错误率 -## 启用Prometheus指标 +## 启用 Prometheus 指标 -要在DoubleZero客户端上启用Prometheus指标,请按照以下步骤操作: +要在 DoubleZero 客户端上启用 Prometheus 指标,请按照以下步骤操作: -### 1. 修改doublezerod systemd服务启动命令 +### 1. 修改 doublezerod systemd 服务启动命令 -创建或编辑systemd覆盖配置: +创建或编辑 systemd 覆盖配置: ```bash sudo mkdir -p /etc/systemd/system/doublezerod.service.d/ sudo nano /etc/systemd/system/doublezerod.service.d/override.conf ``` -替换为此配置: +替换为以下配置: -`-env`标志应根据您想收集数据的网络指向`testnet`或`mainnet-beta`。示例块中使用了`testnet`。如有需要,可以更改为`mainnet-beta`。 +请注意,`-env` 标志需要指向 `testnet` 或 `mainnet-beta`,具体取决于您要从哪个网络收集数据。在示例代码块中使用的是 `testnet`。如果需要,您可以将其替换为 `mainnet-beta`。 ```ini [Service] @@ -284,9 +281,9 @@ sudo systemctl restart doublezerod sudo systemctl status doublezerod ``` -### 3. 确认指标可用 +### 3. 验证指标是否可用 -确认指标端点正在响应: +测试指标端点是否正在响应: ```bash curl -s localhost:2113/metrics | grep doublezero @@ -302,7 +299,6 @@ doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6 # TYPE doublezero_session_is_up gauge doublezero_session_is_up 0 ``` - ## 故障排除 如果指标未显示: @@ -311,18 +307,18 @@ doublezero_session_is_up 0 2. **验证配置**:`sudo systemctl cat doublezerod` 3. **检查日志**:`sudo journalctl -u doublezerod -f` 4. **测试端点**:`curl -v localhost:2113/metrics` -5. **检查端口**:`netstat -tlnp | grep 2113` +5. **验证端口**:`netstat -tlnp | grep 2113` -## 配置Prometheus服务器 +## 配置 Prometheus 服务器 -配置和安全性超出本文档的范围。 -Grafana是可视化的优秀选项,Grafana文档[此处](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/)详细介绍了如何收集Prometheus指标。 +配置和安全性超出了本文档的范围。 +Grafana 是一个出色的可视化选项,其文档可在[此处](https://grafana.com/docs/alloy/latest/collect/prometheus-metrics/)获取,详细说明了如何收集 Prometheus 指标。 -## Grafana仪表板(可选) +## Grafana 仪表板(可选) -对于可视化,您可以使用DoubleZero指标创建Grafana仪表板。常见面板包括: -- 随时间变化的会话状态 +对于可视化,您可以使用 DoubleZero 指标创建 Grafana 仪表板。常见面板包括: +- 会话状态随时间变化 - 构建信息 - 连接延迟趋势 -- 错误率监控 +- 错误率监控 \ No newline at end of file