Sat Hunting

La caccia agli ordinali è difficile ma gratificante. La sensazione di possedere un portafoglio pieno di UTXO, colmo di satoshi rari ed esotici, non ha paragoni.

Gli ordinali sono numeri per i satoshi. Ogni satoshi ha un numero ordinale e ogni numero ordinale ha un satoshi.

Preparazione

Sono necessarie alcune cose prima di iniziare.

  1. Innanzitutto, è necessario un nodo Bitcoin Core sincronizzato con un indice delle transazioni. Per attivare l'indicizzazione delle transazioni, passare -txindex alla riga di comando:

    bitcoind -txindex
    

    Oppure inserire quanto segue nel tuo file di configurazione di Bitcoin:

    txindex=1
    

    Avviatelo e attendete che raggiunga la punta della catena; a questo punto il comando seguente dovrebbe stampare l'altezza del blocco corrente:

    bitcoin-cli getblockcount
    
  2. In secondo luogo, è necessario un indice ord sincronizzato.

    • Ottenere una copia di ord dal repo.

    • Run ord --index-sats server. It should connect to your bitcoin core node and start indexing.

    • Once it has finished indexing, leave the server running and submit new ord commands in a separate terminal session.

  3. In terzo luogo, è necessario un portafoglio con gli UTXO che si desidera cercare.

Ricerca degli Ordinali Rari

Ricerca degli ordinali rari in un portafoglio Bitcoin Core

Il comando ord wallet è solo un wrapper attorno all'API RPC di Bitcoin Core, quindi la ricerca di ordinali rari in un portafoglio Bitcoin Core è semplice. Supponendo che il vostro portafoglio si chiami foo:

  1. Caricate il vostro wallet:

    bitcoin-cli loadwallet foo
    
  2. Visualizzare ogni UTXO raro nel portafoglio Ordinale di foo:

    ord --index-sats wallet --name foo sats
    

Ricerca di Ordinali Rari in un Non-Bitcoin Core Wallet

Il comando ord wallet è solo un involucro dell'API RPC di Bitcoin Core, quindi per cercare gli ordinali rari in un portafoglio non Bitcoin Core, è necessario importare i descrittori del proprio portafoglio in Bitcoin Core.

I descrittori descrivono il modo in cui i portafogli generano le chiavi private e le chiavi pubbliche.

È opportuno importare in Bitcoin Core solo i descrittori per le chiavi pubbliche del portafoglio, non quelli delle chiavi private.

Se il descrittore della chiave pubblica del portafoglio viene compromesso, un aggressore sarà in grado di vedere gli indirizzi del portafoglio, ma i vostri fondi saranno al sicuro.

Se il descrittore della chiave privata del vostro portafoglio è compromesso, un aggressore può svuotare i fondi del vostro portafoglio.

  1. Ottenete il descrittore del portafoglio del quale volete cercare gli UTXO rari. Avrà un aspetto simile a questo:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
    
  2. Create un portafoglio solo visualizzazione chiamato foo-watch-only:

    bitcoin-cli createwallet foo-watch-only true true
    

    Sentitevi liberi di dargli un nome migliore di foo-watch-only!

  3. Caricate il foo-watch-only wallet:

    bitcoin-cli loadwallet foo-watch-only
    
  4. Importate i descrittori del vostro portafoglio in foo-watch-only:

    bitcoin-cli importdescriptors \
      '[{ "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax", "timestamp":0 }]'
    

    Se si conosce il timestamp Unix in cui il proprio portafoglio ha iniziato a ricevere transazioni, è possibile utilizzarlo per il valore di "timestamp" invece di 0. Questo ridurrà il tempo necessario a Bitcoin Core per cercare gli UTXO del portafoglio.

  5. Verificate che tutto abbia funzionato:

    bitcoin-cli getwalletinfo
    
  6. Visualizzate gli ordinali rari del portafoglio:

    ord wallet sats
    

Ricerca di Ordinali Rari in un portafoglio che esporta descrittori Multi-path

Alcuni descrittori descrivono più percorsi in un unico descrittore utilizzando parentesi angolari, ad esempio <0;1>. I descrittori multipercorso non sono ancora supportati da Bitcoin Core, quindi è necessario prima convertirli in descrittori multipli e poi importare questi descrittori multipli in Bitcoin Core.

  1. Per prima cosa, ottenere il descrittore multipercorso dal proprio portafoglio. Il suo aspetto sarà simile a questo:

    wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
    
  2. Crea un descrittore per il percorso dell'indirizzo di ricezione:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)
    

    E il percorso di modifica dell'indirizzo:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
    
  3. Ottenete e annotate il checksum del descrittore dell'indirizzo di ricezione, in questo caso tpnxnxax:

    bitcoin-cli getdescriptorinfo \
      'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'
    
    {
      "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29",
      "checksum": "tpnxnxax",
      "isrange": true,
      "issolvable": true,
      "hasprivatekeys": false
    }
    

    E per il descrittore dell'indirizzo di modifica, in questo caso 64k8wnd7:

    bitcoin-cli getdescriptorinfo \
      'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)'
    
    {
      "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#fyfc5f6a",
      "checksum": "64k8wnd7",
      "isrange": true,
      "issolvable": true,
      "hasprivatekeys": false
    }
    
  4. Caricate il portafoglio in cui si desidera importare i descrittori:

    bitcoin-cli loadwallet foo-watch-only
    
  5. Ora importate i descrittori, con le checksum corrette, in Bitcoin Core.

    bitcoin-cli \
     importdescriptors \
     '[
       {
         "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax"
         "timestamp":0
       },
       {
         "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#64k8wnd7",
         "timestamp":0
       }
     ]'
    

    Se si conosce il timestamp Unix in cui il portafoglio ha iniziato a ricevere transazioni, è possibile utilizzarlo per il valore dei campi "timestamp" invece di 0. Questo ridurrà il tempo necessario a Bitcoin Core per cercare gli UTXO del portafoglio.

  6. Verificate che tutto abbia funzionato:

    bitcoin-cli getwalletinfo
    
  7. Visualizzate gli ordinali rari del portafoglio:

    ord wallet sats
    

Esportare Descrittori

Portafoglio Sparrow

Passare alla scheda Settings, quindi a Script Policy e premete il pulsante di modifica per visualizzare il descrittore.

Trasferire Ordinali

The ord wallet supports transferring specific satoshis by using the name of the satoshi. To send the satoshi zonefruits, do:

ord wallet send <RECEIVING_ADDRESS> zonefruits --fee-rate 21

You can also use the bitcoin-cli commands createrawtransaction, signrawtransactionwithwallet, and sendrawtransaction, but this method can be complex and is outside the scope of this guide.