Caçando Sats

A caça de Ordinals é difícil, mas gratificante. A sensação de possuir uma carteira cheia de UTXOs impregnada com o cheiro de sats raros e exóticos é incomparável.

Os Ordinals são números para satoshis. Todo satoshi possui um número ordinal e todo número ordinal possui um satoshi.

Preparação

Existem algumas coisas que você precisa antes de começar.

  1. Primeiro, você precisará de um nó Bitcoin Core sincronizado com um índice de transação. Para ativar a indexação de transações, passe -txindex na linha de comando:

    bitcoind -txindex
    

    Ou coloque o seguinte em seu arquivo de configuração Bitcoin:

    txindex=1
    

    Execute-o e espere que ele alcance a ponta da cadeia, momento em que o seguinte comando deverá imprimir a altura atual do bloco:

    bitcoin-cli getblockcount
    
  2. Em segundo lugar, você precisará de um índice ord sincronizado.

    • Obtenha uma cópia do ord no 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. Terceiro, você precisará de uma carteira com UTXOs que deseja pesquisar.

Procurando por Ordinais Raros

Procurando por Ordinais Raros em uma Carteira Bitcoin Core

O comando ord wallet é apenas um wrapper da API RPC do Bitcoin Core, portanto, procurar por ordinais raros em uma carteira Bitcoin Core é fácil. Supondo que sua carteira se chame foo:

  1. Carregue sua carteira:

    bitcoin-cli loadwallet foo
    
  2. Exiba os UTXOs da carteira foo de ordinais raros:

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

Procurando por ordinais raros em uma carteira que não seja Bitcoin Core

O comando ord wallet é apenas um wrapper da API RPC do Bitcoin Core, portanto, para procurar ordinais raros em uma carteira que não seja do Bitcoin Core, você precisará importar os descritores da sua carteira para o Bitcoin Core.

Os descritores descrevem as maneiras pelas quais as carteiras geram chaves privadas e chaves públicas.

Você só deve importar descritores para o Bitcoin Core para as chaves públicas da sua carteira, não para as chaves privadas.

Se o descritor de chave pública da sua carteira for comprometido, um invasor poderá ver os endereços da sua carteira, mas seus fundos estarão seguros.

Se o descritor de chave privada da sua carteira estiver comprometido, um invasor poderá drenar os fundos da sua carteira.

  1. Obtenha o descritor da carteira cujos UTXOs você deseja pesquisar por ordinais raros. Vai parecer algo assim:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
    
  2. CCrie uma carteira somente de leitura chamada foo-apenas-leitura:

    bitcoin-cli createwallet foo-watch-only true true
    

    Sinta-se à vontade para dar um nome melhor do que foo-apenas-leitura!

  3. Carregue a carteira foo-apenas-leitura:

    bitcoin-cli loadwallet foo-watch-only
    
  4. Importe os descritores da sua carteira para foo-apenas-leitura:

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

    Se você sabe o timestamp de data/hora Unix de quando sua carteira começou a receber transações, você pode usá-lo para o valor de "timestamp" em vez de 0. Isso reduzirá o tempo que o Bitcoin Core leva para procurar os UTXOs da sua carteira.

  5. Verifique se tudo funcionou:

    bitcoin-cli getwalletinfo
    
  6. Exiba os ordinais raros da sua carteira:

    ord wallet sats
    

Procurando Ordinais Raros em uma Carteira que Exporta Descritores de Múltiplos Caminhos (Multi-Path)

AAlguns descritores descrevem vários caminhos em um descritor usando colchetes angulares, por exemplo, <0;1>. Descritores de múltiplos caminhos ainda não são suportados pelo Bitcoin Core, então primeiro você precisará convertê-los em múltiplos descritores e, em seguida, importar esses múltiplos descritores para o Bitcoin Core.

  1. Primeiro, obtenha o descritor de múltiplos caminhos da sua carteira. Vai parecer algo assim:

    wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
    
  2. Crie um descritor para o caminho do endereço de recebimento:

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

    E o caminho do endereço de troco:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
    
  3. Obtenha e anote a soma de verificação (checksum) do descritor do endereço de recebimento, neste 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 para o descritor do endereço de troco, neste 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. Carregue a carteira para a qual deseja importar os descritores:

    bitcoin-cli loadwallet foo-watch-only
    
  5. Agora importe os descritores, com os checksums corretos, para o 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 você conhece o timestamp de data/hora Unix quando sua carteira começou a receber transações, você pode usá-lo para o valor dos campos "timestamp" em vez de 0. Isso reduzirá o tempo que o Bitcoin Core leva para procurar os UTXOs da sua carteira.

  6. Verifique se tudo funcionou:

    bitcoin-cli getwalletinfo
    
  7. Exiba os ordinais raros da sua carteira:

    ord wallet sats
    

Exportando Descritores

Carteira Sparrow

Navegue até a guia Configurações, depois até Política de script e pressione o botão de edição para exibir o descritor.

Transferindo Ordinals

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.