Connessione Edge Subscriber (CLI)
Sottoscrizione CLI legacy — disattivata il 30 agosto 2026
Questa pagina è destinata agli utenti che utilizzano già la sottoscrizione CLI / seat onchain (doublezero-solana shreds pay). Questo sistema verrà disattivato il 30 agosto 2026.
Le nuove sottoscrizioni utilizzano il flusso tramite portale su Sottoscrivere agli shred (Edge).
Connettendomi a DoubleZero accetto i Termini di utilizzo di DoubleZero. Si prega di notare che i dati sono esclusivamente per uso interno e non possono essere ritrasmessi (vedi Sezione 2(e)).
Passaggio 1: Configurazione di DoubleZero
1. Completare la configurazione
Installa la Solana CLI.
Segui le istruzioni di configurazione per installare e configurare il client DoubleZero.
Se hai precedentemente configurato DoubleZero, assicurati di avere l'ultima versione della CLI Doublezero-Solana con sudo apt update && sudo apt install doublezero-solana
2. Configurare il firewall
Consenti il traffico GRE, BGP, PIM e shred.
iptables:
sudo iptables -A OUTPUT -p gre -j ACCEPT
sudo iptables -A INPUT -i doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -p pim -j ACCEPT
sudo iptables -A INPUT -i doublezero1 -p udp --dport 7733 -j ACCEPT
sudo iptables -A INPUT -i doublezero0 -p udp --dport 44880 -j ACCEPT
UFW:
sudo ufw allow proto gre from any to any
sudo ufw allow in on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero1 proto pim from any to any
sudo ufw allow in on doublezero1 to any port 7733 proto udp
sudo ufw allow in on doublezero0 to any port 44880 proto udp
3. Abilitare il Reconciler
Il reconciler monitora lo stato onchain e provisiona automaticamente i tunnel quando il tuo seat viene allocato. Non è abilitato per impostazione predefinita.
doublezero enable
Passaggio 2: Configurare il wallet
1. Creare un keypair Solana
La CLI doublezero-solana utilizza un keypair Solana standard per la gestione dei seat onchain. Se non ne hai uno:
solana-keygen new
Questo scrive su ~/.config/solana/id.json. Per utilizzare un percorso diverso, passa --keypair <path> a qualsiasi comando doublezero-solana.
Stampa l'indirizzo del tuo wallet:
solana address
2. Finanziare il wallet
Il tuo wallet necessita di due token:
- SOL — per le commissioni delle transazioni Solana. Trasferisci SOL all'indirizzo del wallet stampato sopra.
- USDC — per il finanziamento del seat. La CLI preleva dall'Associated Token Account (ATA) del tuo wallet per il mint USDC mainnet (
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v).
Passaggio 3: Acquistare un seat
1. Trovare il dispositivo più vicino
Prima di acquistare un seat, identifica il dispositivo con la latenza più bassa dalla tua macchina:
doublezero latency
Annota il codice del dispositivo dal risultato con la latenza più bassa (es., <Device_Name>). Lo utilizzerai al momento dell'acquisto di un seat.
2. Verificare i prezzi
Visualizza i prezzi correnti dei dispositivi prima di impegnare fondi. I prezzi hanno due componenti: un prezzo base della metro e un premium per dispositivo. Puoi anche visualizzare prezzi e disponibilità qui.
Tutti i dispositivi:
doublezero-solana shreds price
Dispositivo specifico:
doublezero-solana shreds price --device-code <Device_Name>
doublezero-solana shreds price --device <PUBKEY>
Tutti i dispositivi in una metro:
doublezero-solana shreds price --metro <PUBKEY>
Colonne dell'output: Device Code, Metro Code, Metro Name, Status, Settled Seats, Available Seats, Base Price (USDC), Premium (USDC), Epoch Price (USDC).
Il prezzo per epoca è il costo totale per epoca per un seat su quel dispositivo (base + premium). Usa --wide per mostrare le pubkey complete, o --json per l'output in formato JSON.
3. Acquistare un seat
Acquista un seat con un singolo comando. Questo inizializza il tuo seat, finanzia l'escrow e richiede l'allocazione:
doublezero-solana shreds pay \
--device-code <Device_Name> \
--client-ip <Target_IP> \
--amount <Cost_Of_Seat>
Parametri:
| Flag | Descrizione |
|---|---|
--device <PUBKEY> |
Dispositivo target tramite chiave pubblica (mutuamente esclusivo con --device-code) |
--device-code <CODE> |
Dispositivo target tramite codice leggibile (es., <Device_Name>) |
--client-ip <IP> |
L'indirizzo IPv4 pubblico della tua macchina |
--amount <USDC> |
USDC da finanziare (formato decimale, es. 100 = 100 USDC). Deve soddisfare il prezzo minimo per epoca. |
--source-token-account <PUBKEY> |
Account sorgente USDC personalizzato (predefinito: ATA del tuo wallet) |
--accept-partial-epoch |
Salta l'avviso di epoca rimanente (vedi sotto) |
--fee-payer <PATH> |
Usa un wallet diverso per le commissioni delle transazioni SOL |
--dry-run |
Simula la transazione senza eseguirla |
--with-compute-unit-price <PRICE> |
Imposta un prezzo per compute unit per un'inclusione più rapida durante la congestione |
Una volta allocato il tuo seat, il daemon stabilisce automaticamente il tunnel GRE. Verifica la tua connessione con:
doublezero status
Tempistica delle epoche
I seat vengono allocati per epoca Solana (~2 giorni). Se rimane meno del 10% dell'epoca corrente quando effettui il pagamento, la CLI avverte che il tuo seat verrà allocato immediatamente ma coprirà solo il resto dell'epoca corrente. Un pagamento separato verrà detratto dal tuo escrow quando inizia l'epoca successiva.
È consigliabile finanziare per più di 1 epoca alla volta per non perdere il tuo seat. Puoi controllare il tempo rimanente in un'epoca qui.
Puoi bypassare questo avviso con --accept-partial-epoch.
Mantieni il tuo escrow finanziato
Se il saldo del tuo escrow è inferiore al prezzo per epoca al momento del settlement, il tuo seat non verrà allocato, il tunnel verrà smantellato e perderai la tenure accumulata. La tenure determina la tua priorità per le epoche future — perderla significa competere nuovamente come nuovo arrivato.
Puoi sovraccaricare questo account per finanziare più epoche. Ogni settlement deduce il prezzo di un'epoca dal tuo escrow e il saldo rimanente viene riportato. Ad esempio, finanziare 5x il prezzo per epoca mantiene il tuo seat attivo per un massimo di 5 epoche senza rifinanziamento.
Per ricaricare il tuo escrow, esegui shreds pay di nuovo in qualsiasi momento:
doublezero-solana shreds pay \
--device-code <Device_Name> \
--client-ip <Target_IP> \
--amount 500
Nota che il Target_IP deve essere un indirizzo IPv4 pubblico sulla macchina che riceverà gli shred. Puoi trovarlo eseguendo un comando come curl -4 ifconfig.me sulla macchina target.
Monitorare i seat
Questa sezione descrive come visualizzare i seat tramite la CLI. Puoi anche usare https://data.doublezero.xyz/api/v1/docs per monitorare i seat e gestire il tuo account escrow.
Visualizza i tuoi seat attivi e i saldi escrow:
Tutti i tuoi seat:
doublezero-solana shreds list
Filtra per dispositivo:
doublezero-solana shreds list --device-code <Device_Name>
Filtra per IP del client:
doublezero-solana shreds list --client-ip <Target_IP>
Filtra per wallet:
doublezero-solana shreds list --withdraw-authority <PUBKEY>
Colonne dell'output: Device Code, Client IP, Tenure, Balance (USDC), Est. Epochs Paid.
La colonna "Est. Epochs Paid" mostra quante epoche copre il tuo saldo attuale ai prezzi correnti. Se i prezzi cambiano, questa stima si aggiorna.
Ritirare seat ed escrow
Questo comando rilascia il tuo seat e chiude l'escrow. Ricevi un rimborso proporzionale per la porzione inutilizzata dell'epoca corrente, più qualsiasi saldo escrow rimanente, restituito al tuo wallet. Perdi il seat e qualsiasi tenure accumulata.
doublezero-solana shreds withdraw \
--device-code <Device_Name> \
--client-ip <Target_IP>
Puoi identificare il dispositivo tramite --device <PUBKEY> o --device-code <CODE>, come per gli altri comandi.
Per inviare il rimborso USDC a un account token diverso:
doublezero-solana shreds withdraw \
--device-code <Device_Name> \
--client-ip <Target_IP> \
--refund-token-account <PUBKEY>
Questa operazione non può essere annullata. Dopo il ritiro, il tuo seat viene eliminato e la tenure viene azzerata.
Indirizzi shred (IP vs Porta)
I Leader Shred e i Retransmit Shred ad alto stake arriveranno sulla porta 7733, attraverso l'interfaccia doublezero1. L'interfaccia doublezero0 è per il traffico unicast. La porta 5765 è un monitor heartbeat degli shred publisher — non conterrà shred.
Per il consumo degli shred, l'indirizzo IP identifica lo stream multicast e la porta identifica il servizio UDP su quello stream.
Tutti gli stream shred sotto utilizzano la porta UDP 7733 su doublezero1.
Puoi esaminare gli IP di qualsiasi gruppo multicast con:
doublezero multicast group list
Leader Shred
edge-solana-shreds:233.84.178.1:7733
Root Shred
edge-solana-root:233.84.178.16:7733
Retransmit Shred
edge-solana-retrans-eu:233.84.178.12:7733edge-solana-retrans-apac:233.84.178.13:7733edge-solana-retrans-amer:233.84.178.14:7733
Header del tunnel GRE — XDP
Il traffico shred consegnato sulla rete è incapsulato in GRE. Potrebbe essere necessario rimuovere l'header GRE prima di alimentare i dati nella tua pipeline esistente (es. un deshredder basato su XDP).
Strumenti e dashboard
Edge Scoreboard
Lo Scoreboard effettua benchmark sulla velocità di consegna degli shred tra DoubleZero Edge e altri provider, utilizzando dati a livello di slot per confrontare le prestazioni in tempo reale. Usa questa dashboard per visualizzare i tassi di vittoria degli shred Edge rispetto ad altri provider. Puoi visualizzare i risultati solo per i leader shred, oltre al confronto del feed completo. Puoi anche approfondire per regione per vedere le prestazioni attese.
Edge Publishers
La metrica "Publishing Shreds" in alto a sinistra della dashboard mostra la percentuale totale del peso di stake di tutti i validatori Solana che pubblicano leader shred su DoubleZero Edge. Puoi vedere i dettagli per ogni publisher sulla rete.
Edge Subscribers, dispositivi e attività
Puoi facilmente cercare il tuo Client IP su questa pagina per i seat sottoscritti e visualizzarne lo stato. Clicca su sottoscrizioni specifiche dei seat per visualizzare lo storico dei pagamenti e l'attività. Puoi anche visualizzare i dispositivi disponibili nella pagina Dispositivi e tutta l'attività recente nella pagina Attività.
Documentazione API dati
Per l'accesso programmatico agli endpoint dei dati, consulta la documentazione API: https://data.doublezero.xyz/api/v1/docs.
Risoluzione dei problemi
Se riscontri un problema non trattato qui, contattaci attraverso il tuo canale esistente prima di cercare soluzioni alternative. Se non hai un canale, cerca su Discord e apri un ticket se necessario.
Assicurati che il tuo client sia aggiornato:
Esegui: sudo apt update && sudo apt install doublezero-solana
Saldo escrow insufficiente
Se il saldo del tuo escrow è inferiore al prezzo per epoca al momento del settlement, il seat non viene allocato, il tunnel viene smantellato e la tenure viene persa. Ricarica con shreds pay prima del prossimo settlement.
Seat non allocato dopo il pagamento
- Potresti aver pagato tardi nell'epoca — il seat diventa effettivo nell'epoca successiva.
- Tutti i seat sul dispositivo potrebbero essere occupati da incumbent con tenure più alta. Controlla i seat disponibili con
shreds price. - Se hai effettuato il ritiro prima del settlement, il seat non era idoneo.
Il tunnel non si stabilisce
- Verifica che il daemon sia in esecuzione:
sudo systemctl status doublezerod - Verifica che il reconciler sia abilitato:
doublezero enable - Verifica che le regole del firewall siano in atto (GRE, BGP, PIM, traffico shred su
doublezero1, porta 44880 sudoublezero0) - Verifica che il tuo seat sia attivo per l'epoca corrente:
doublezero-solana shreds list - Controlla lo stato della tua connessione:
doublezero status
L'IP del client del daemon viene rilevato automaticamente dall'IP pubblico del tuo host — verifica che corrisponda al --client-ip utilizzato nei tuoi comandi per il seat.
Avviso prompt dell'epoca
La CLI avverte quando rimane meno del 10% dell'epoca. Le tue opzioni sono:
- Accettare con
--accept-partial-epochse vuoi il seat immediatamente - Attendere l'epoca successiva per ottenere una copertura completa dell'epoca
"Amount is below the current price"
Il comando pay valida il tuo importo rispetto al prezzo minimo per epoca (base metro + premium dispositivo). Usa shreds price per controllare i prezzi correnti e aumenta il tuo importo.
"Multicast user already exists"
Hai già una sottoscrizione attiva attraverso un percorso diverso. Disconnettiti prima con doublezero disconnect, poi riprova shreds pay.