Gro Hunting
This guide is out of date. Since it was written, the ord
binary was changed to only build the full gro index when the --index-sats
flag is supplied. Additionally, ord
now has a built-in wallet that wraps a Groestlcoin Core wallet. See ord wallet --help
.
Ordinal hunting is difficult but rewarding. The feeling of owning a wallet full of UTXOs, redolent with the scent of rare and exotic gros, is beyond compare.
Ordinals are numbers for gros. Every gro has an ordinal number and every ordinal number has a gro.
Preparación
Antes de empezar, necesitarás algunas cosas.
-
Primero, necesitarás un nodo de Groestlcoin Core sincronizado con un índice de transacciones. Para activar la indexación de transacciones, ejecuta
-txindex
en la línea de comandos:groestlcoind -txindex
Or put the following in your Groestlcoin configuration file:
txindex=1
Ejecutalo y espera hasta que llegue al final de la cadena; una vez hecho esto, el siguiente comando debería imprimir la altura del bloque actual:
groestlcoin-cli getblockcount
-
En segundo lugar, vas a necesitar un índice de
ord
sincronizado.-
Get a copy of
ord
from the repo. -
Ejecuta
RUST_LOG=info ord index
. Debería conectarse a tu nodo groestlcoin core e iniciar el proceso de indexación. -
Espera hasta que termine de indexar.
-
-
En tercer lugar, necesitarás un monedero con los UTXOs que quieras analizar.
Buscando Ordinals Raros
Buscando Ordinals Raros en un Monedero de Groestlcoin Core
El comando ord wallet
es solo un envoltorio alrededor de la API RPC de Groestlcoin Core, así que buscar ordinals raros en un monedero de Groestlcoin Core es fácil. Digamos que tu monedero se llama foo
:
-
Carga tu monedero:
groestlcoin-cli loadwallet foo
-
- Visualiza los UTXOs raros del monedero de ordinales
foo
:
ord wallet sats
- Visualiza los UTXOs raros del monedero de ordinales
Buscando Ordinals Raros en un Monedero que no es de Groestlcoin Core
El comando ord wallet
es solo un envoltorio alrededor de la API RPC de Groestlcoin Core, así que para buscar ordinales raros en un monedero que no es de Groestlcoin Core, necesitarás importar los descriptores de tu monedero a Groestlcoin Core.
Descriptors describe the ways that wallets generate private keys and public keys.
Solo deberías importar los descriptores en Groestlcoin Core para las claves públicas de tu monedero, no para las claves privadas.
Si el descriptor de llave pública de tu monedero está comprometido, un atacante podrá ver las direcciones de tu monedero, pero tus fondos estarán seguros.
Si el descriptor de llave privada de tu monedero está comprometido, un atacante podrá vaciar los fondos de tu monedero.
-
Obtén el descriptor del monedero cuyos UTXOs quieres analizar para identificar si contiene ordinals raros. Se verá algo así:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
-
Crea un monedero de solo lectura llamada
foo-solo-lectura
:groestlcoin-cli createwallet foo-watch-only true true
¡Siéntete libre de asignarle un mejor nombre que
foo-solo-lectura
! -
Carga el monedero
foo-solo-lectura
:groestlcoin-cli loadwallet foo-watch-only
-
Importa los descriptores de tu monedero a
foo-solo-lectura
:groestlcoin-cli importdescriptors \ '[{ "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax", "timestamp":0 }]'
Si conoces la marca de tiempo Unix cuando tu monedero comenzó a recibir transacciones, puedes usarla para el valor de
"timestamp"
en lugar de 0. Esto reducirá el tiempo que Groestlcoin Core tardará en buscar los UTXO en tu monedero. -
Comprueba que todo haya funcionado correctamente:
groestlcoin-cli getwalletinfo
-
Visualiza los ordinals raros de tu monedero:
ord wallet sats
Buscando Ordinals Raros en un Monedero que Exporta Descriptores de Múltiples Rutas (multi-path)
Algunos descriptores describen múltiples rutas en un descriptor utilizando paréntesis angular, por ejemplo, <0;1>. Los descriptores de múltiples rutas aún no son compatibles con Groestlcoin Core, así que primero deberás convertirlos en múltiples descriptores y luego importarlos a Groestlcoin Core.
-
En primer lugar, obtén el descriptor de múltiples rutas de tu monedero. Se verá algo así:
wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
-
Crea un descriptor para la ruta de dirección que lo recibirá:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)
Y la dirección que recibirá lo que sobra de groestlcoin o el cambio:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
-
Obtén y anota el checksum del descriptor de la dirección de recepción, en este caso es
tpnxnxax
:groestlcoin-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 }
Y para el descriptor de la dirección de cambio, en este caso
64k8wnd7
:groestlcoin-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 }
-
Carga el monedero al cual deseas importar los descriptores:
groestlcoin-cli loadwallet foo-watch-only
-
Ahora importa los descriptores, con los checksums correctos, a Groestlcoin Core.
groestlcoin-cli \ importdescriptors \ '[ { "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax" "timestamp":0 }, { "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#64k8wnd7", "timestamp":0 } ]'
Si conoces la marca de tiempo de Unix cuando tu monedero comenzó a recibir transacciones por primera vez, puedes utilizarlo como el valor del campo
"timestamp"
en lugar de0
. Esto reducirá el tiempo que tarda Groestlcoin Core en buscar los UTXOs de tu monedero. -
Comprueba que todo haya funcionado correctamente:
groestlcoin-cli getwalletinfo
-
Visualiza los ordinals raros de tu monedero:
ord wallet sats
Exportar Descriptores
Monedero Sparrow
Haz clic en la pestaña Settings
, luego en Script Policy
, y presiona el botón de editar para mostrar el descriptor.
Transferir Ordinals
The ord
wallet supports transferring specific gros. You can also use groestlcoin-cli
commands createrawtransaction
, signrawtransactionwithwallet
, and sendrawtransaction
, how to do so is complex and outside the scope of this guide.