Охота на сатоши
Охота на ordinal - трудное, но вознаграждаемое занятие. Ощущения от обладания кошельком, полным UTXO, наполненным ароматом редких и экзотических сатов, вне сравнения.
Ordinals - это числа для сатоши. Каждый сатоши имеет порядковый номер, а каждый порядковый номер имеет свой сатоши.
Подготовка
Перед началом работы вам потребуется несколько вещей.
-
Во-первых, вам потребуется синхронизированный Bitcoin Core node с индексом транзакций. Чтобы включить индексирование транзакций, передайте в командной строке команду
-txindex
:bitcoind -txindex
Или поместите в файл конфигурации Bitcoin:
txindex=1
Запустите его и дождитесь, пока он догонит вершину цепи, после чего следующая команда должна вывести текущую высоту блока:
bitcoin-cli getblockcount
-
Во-вторых, вам понадобится синхронизированный индекс
ord
.-
Получить копию
ord
из репозитория. -
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.
-
-
В-третьих, вам понадобится кошелек с UTXO, которые вы хотите найти.
Поиск Rare Ordinals
Поиск Rare Ordinals в Bitcoin Core Wallet
Команда ord wallet
- это просто обертка вокруг RPC API Bitcoin Core, поэтому найти rare ordinals в Bitcoin Core wallet довольно легко . Предположим, что ваш кошелек имеет имя foo
:
-
Загрузите свой кошелек:
bitcoin-cli loadwallet foo
-
Отображение любых rare ordinals кошелька
foo
UTXOs:ord --index-sats wallet --name foo sats
Поиск Rare Ordinals в кошельке, не относящемся к Bitcoin Core Wallet
Команда ord wallet
является лишь оберткой для RPC API Bitcoin Core, поэтому для поиска rare ordinals в кошельке, не принадлежащем Bitcoin Core wallet, необходимо импортировать дескрипторы кошелька в Bitcoin Core.
Дескрипторы описывают способы генерации кошельками закрытых и открытых ключей.
В Bitcoin Core следует импортировать дескрипторы только для открытых ключей кошелька, но не для его закрытых ключей.
Если дескриптор открытого ключа вашего кошелька будет скомпрометирован, злоумышленник сможет увидеть адреса вашего кошелька, но ваши средства будут в безопасности.
Если дескриптор закрытого ключа вашего кошелька скомпрометирован, злоумышленник может вывести с него ваши средства.
-
Получите дескриптор кошелька, в кошельке которого вы хотите искать rare ordinals UTXO. Он будет выглядеть примерно так:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
-
Создайте кошелек с именем
foo-watch-only
, предназначенный только для просмотра:bitcoin-cli createwallet foo-watch-only true true
Не стесняйтесь дать ему более подходящее название, чем
foo-watch-only
! -
Загрузите кошелек
foo-watch-only
:bitcoin-cli loadwallet foo-watch-only
-
Импортируйте дескрипторы вашего кошелька в
foo-watch-only
:bitcoin-cli importdescriptors \ '[{ "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax", "timestamp":0 }]'
Если вам известна временная метка Unix, когда ваш кошелек впервые начал принимать транзакции, вы можете использовать ее в качестве значения
"timestamp"
вместо0
. Это позволит сократить время поиска UTXO кошелька для Bitcoin Core. -
Проверьте, что все работает:
bitcoin-cli getwalletinfo
-
Отображение rare ordinals в кошельке:
ord wallet sats
Поиск Rare Ordinals в кошельке, экспортирующем многопутевые дескрипторы
Некоторые дескрипторы описывают несколько путей в одном дескрипторе с помощью угловых скобок, например,<0;1>
. Bitcoin Core пока не поддерживает многопутевые дескрипторы, поэтому сначала их необходимо преобразовать в многопутевые дескрипторы, а затем импортировать эти многопутевые дескрипторы в Bitcoin Core.
-
Сначала получите многопутевой дескриптор из вашего кошелька. Он будет выглядеть примерно так:
wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
-
Создайте дескриптор для пути адреса приема:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)
И путь смены адреса:
wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
-
Получите и запишите контрольную сумму для дескриптора адреса приема, в данном случае
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 }
И для дескриптора адреса изменения, в данном случае
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 }
-
Загрузите кошелек, в который вы хотите импортировать дескрипторы:
bitcoin-cli loadwallet foo-watch-only
-
Теперь импортируйте дескрипторы с правильными контрольными суммами в 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 } ]'
Если вам известна временная метка Unix, когда ваш кошелек впервые начал принимать транзакции, вы можете использовать ее в качестве значения
"timestamp"
вместо0
. Это позволит сократить время поиска UTXO кошелька для Bitcoin Core. -
Проверьте, что все работает:
bitcoin-cli getwalletinfo
-
Отображение rare ordinals в кошельке:
ord wallet sats
Экспорт дескрипторов
Sparrow Wallet
Перейдите на вкладку Settings
, затем на вкладку Script Policy
и нажмите кнопку редактирования для отображения дескриптора.
Отправка 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.