Wallet
Sats individuais podem ser inscritos com conteúdo arbitrário, criando artefatos digitais nativos do Bitcoin que podem ser mantidos em uma carteira Bitcoin e transferidos usando transações Bitcoin. As inscrições são tão duráveis, imutáveis, seguras e descentralizadas quanto o próprio Bitcoin.
Trabalhar com inscrições requer um nó completo do Bitcoin, para fornecer uma visão do estado atual da blockchain do Bitcoin, e uma carteira que pode criar inscrições e realizar controle de sat ao construir transações para enviar inscrições para outra carteira.
O Bitcoin Core fornece um nó completo e uma carteira Bitcoin. No entanto, a carteira Bitcoin Core não pode criar inscrições e não realiza controle de sat.
Isso requer ord
, o utilitário ordinal. ord
não implementa sua própria carteira, então os subcomandos ord wallet
interagem com carteiras Bitcoin Core.
Este guia cobre:
- Instalando Bitcoin Core
- Sincronizando a blockchain do Bitcoin
- Criando uma carteira Bitcoin Core
- Usando
ord wallet receive
para receber sats - Criando inscrições com
ord wallet inscribe
- Enviando inscrições com
ord wallet send
- Recebendo inscrições com
ord wallet receive
- Batch inscribing with
ord wallet inscribe --batch
Obtendo Ajuda
Se você tiver dúvidas, tente pedir ajuda no Ordinals Discord Server ou verifique o GitHub para problemas relevantes e discussões.
Instalando Bitcoin Core
O Bitcoin Core está disponível em bitcoincore.org na página de download.
Making inscriptions requires Bitcoin Core 28 or newer.
This guide does not cover installing Bitcoin Core in detail. Once Bitcoin Core is installed, you should be able to run bitcoind -version
successfully from the command line. Do NOT use bitcoin-qt
.
Configurando o Bitcoin Core
ord
requires Bitcoin Core's transaction index and rest interface.
Para configurar seu nó Bitcoin Core para manter um índice de transação, adicione o seguinte ao seu bitcoin.conf
:
txindex=1
Ou execute bitcoind
com -txindex
:
bitcoind -txindex
Details on creating or modifying your bitcoin.conf
file can be found here.
Sincronizando a Blockchain do Bitcoin
Para sincronizar a cadeia, execute:
bitcoind -txindex
…e deixe rodando até getblockcount
:
bitcoin-cli getblockcount
concorde com a contagem de blocos em um explorador de blocos como o explorador de blocos mempool.space. ord
interage com bitcoind
, então você deve deixar bitcoind
rodando em segundo plano quando você estiver usando o ord
.
The blockchain takes about 600GB of disk space. If you have an external drive you want to store blocks on, use the configuration option blocksdir=<external_drive_path>
. This is much simpler than using the datadir
option because the cookie file will still be in the default location for bitcoin-cli
and ord
to find.
Solução de problemas
Make sure you can access bitcoind
with bitcoin-cli -getinfo
and that it is fully synced.
If bitcoin-cli -getinfo
returns Could not connect to the server
, bitcoind
is not running.
Make sure rpcuser
, rpcpassword
, or rpcauth
are NOT set in your bitcoin.conf
file. ord
requires using cookie authentication. Make sure there is a file .cookie
in your bitcoin data directory.
If bitcoin-cli -getinfo
returns Could not locate RPC credentials
, then you must specify the cookie file location. If you are using a custom data directory (specifying the datadir
option), then you must specify the cookie location like bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/.cookie -getinfo
. When running ord
you must specify the cookie file location with --cookie-file=<your_bitcoin_datadir>/.cookie
.
Make sure you do NOT have disablewallet=1
in your bitcoin.conf
file. If bitcoin-cli listwallets
returns Method not found
then the wallet is disabled and you won't be able to use ord
.
Make sure txindex=1
is set. Run bitcoin-cli getindexinfo
and it should return something like
{
"txindex": {
"synced": true,
"best_block_height": 776546
}
}
If it only returns {}
, txindex
is not set. If it returns "synced": false
, bitcoind
is still creating the txindex
. Wait until "synced": true
before using ord
.
If you have maxuploadtarget
set it can interfere with fetching blocks for ord
index. Either remove it or set whitebind=127.0.0.1:8333
.
Instalando o ord
O utilitário ord
é escrito em Rust e pode ser compilado a partir da fonte. Binários pré-construídos estão disponíveis na página de lançamentos.
Você pode instalar o binário pré-construído mais recente a partir da linha de comando com:
curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s
Depois que o ord
estiver instalado, você poderá executar:
ord --version
Que imprime o número da versão do ord
.
Creating a Wallet
ord
uses bitcoind
to manage private keys, sign transactions, and broadcast transactions to the Bitcoin network. Additionally the ord wallet
requires ord server
running in the background. Make sure these programs are running:
bitcoind -txindex
ord server
To create a wallet named ord
, the default, for use with ord wallet
, run:
ord wallet create
This will print out your seed phrase mnemonic, store it somewhere safe.
{
"mnemonic": "dignity buddy actor toast talk crisp city annual tourist orient similar federal",
"passphrase": ""
}
If you want to specify a different name or use an ord server
running on a non-default URL you can set these options:
ord wallet --name foo --server-url http://127.0.0.1:8080 create
To see all available wallet options you can run:
ord wallet help
Restoring and Dumping Wallet
The ord
wallet uses descriptors, so you can export the output descriptors and import them into another descriptor-based wallet. To export the wallet descriptors, which include your private keys:
$ ord wallet dump
==========================================
= THIS STRING CONTAINS YOUR PRIVATE KEYS =
= DO NOT SHARE WITH ANYONE =
==========================================
{
"wallet_name": "ord",
"descriptors": [
{
"desc": "tr([551ac972/86'/1'/0']tprv8h4xBhrfZwX9o1XtUMmz92yNiGRYjF9B1vkvQ858aN1UQcACZNqN9nFzj3vrYPa4jdPMfw4ooMuNBfR4gcYm7LmhKZNTaF4etbN29Tj7UcH/0/*)#uxn94yt5",
"timestamp": 1296688602,
"active": true,
"internal": false,
"range": [
0,
999
],
"next": 0
},
{
"desc": "tr([551ac972/86'/1'/0']tprv8h4xBhrfZwX9o1XtUMmz92yNiGRYjF9B1vkvQ858aN1UQcACZNqN9nFzj3vrYPa4jdPMfw4ooMuNBfR4gcYm7LmhKZNTaF4etbN29Tj7UcH/1/*)#djkyg3mv",
"timestamp": 1296688602,
"active": true,
"internal": true,
"range": [
0,
999
],
"next": 0
}
]
}
An ord
wallet can be restored from a mnemonic:
ord wallet restore --from mnemonic
Type your mnemonic and press return.
To restore from a descriptor in descriptor.json
:
cat descriptor.json | ord wallet restore --from descriptor
To restore from a descriptor in the clipboard:
ord wallet restore --from descriptor
Paste the descriptor into the terminal and press CTRL-D on unix and CTRL-Z on Windows.
Recebendo Sats
As inscrições são feitas em sats individuais, usando transações normais de Bitcoin que pagam taxas em sats, então sua carteira precisará de alguns sats.
Obtenha um novo endereço da sua carteira ord
executando:
ord wallet receive
E envie alguns fundos.
Você pode ver transações pendentes com:
ord wallet transactions
Assim que a transação for confirmada, você poderá ver as saídas da transação com ord wallet outputs
.
Criando conteúdo de inscrição
Sats pode ser inscrito com qualquer tipo de conteúdo, mas a carteira ord
só suporta tipos de conteúdo que podem ser exibidos pelo explorador de blocos ord
.
Além disso, as inscrições estão incluídas nas transações, portanto, quanto maior o conteúdo, maior será a taxa que a transação de inscrição deverá pagar.
O conteúdo da inscrição está incluído nas testemunhas da transação, que recebem o desconto de testemunha. Para calcular a taxa aproximada que uma transação de inscrição pagará, divida o tamanho do conteúdo por quatro e multiplique pela taxa da rede." BOOKMAR
As transações de inscrição devem ter menos de 400.000 unidades de peso ou não serão retransmitidas pelo Bitcoin Core. Um byte de conteúdo de inscrição custa uma unidade de peso. Como uma transação de inscrição não inclui apenas o conteúdo da inscrição, limite o conteúdo da inscrição a menos de 400.000 unidades de peso. 390.000 unidades de peso é uma margem segura.
Criando Inscrições
Para criar uma inscrição com o conteúdo de ARQUIVO
, execute:
ord wallet inscribe --fee-rate FEE_RATE --file FILE
Ord produzirá dois IDs de transação, um para a transação de confirmação, outro para a transação de revelação, e o ID de inscrição. Os IDs de inscrição têm o formato TXIDiN
, onde TXID
é o ID da transação de revelação e N
é o índice da inscrição na transação de revelação.
A transação de commit confirma um tapscript contendo o conteúdo da inscrição, e a transação de revelação gasta a partir desse tapscript, revelando o conteúdo na cadeia e inscrevendo-o no primeiro sat da entrada que contém o tapscript correspondente.
Aguarde até que a transação de revelação seja extraída. Você pode verificar o status do commit e revelar transações usando o explorador de blocos mempool.space.
Depois que a transação de revelação for minerada, o ID da inscrição deverá ser impresso quando você executar:
ord wallet inscriptions
Parent-Child Inscriptions
Parent-child inscriptions enable what is colloquially known as collections, see provenance for more information.
To make an inscription a child of another, the parent inscription has to be inscribed and present in the wallet. To choose a parent run ord wallet inscriptions
and copy the inscription id (<PARENT_INSCRIPTION_ID>
).
Now inscribe the child inscription and specify the parent like so:
ord wallet inscribe --fee-rate FEE_RATE --parent <PARENT_INSCRIPTION_ID> --file CHILD_FILE
This relationship cannot be added retroactively, the parent has to be present at inception of the child.
Enviando Inscrições
Peça ao destinatário para gerar um novo endereço executando:
ord wallet receive
Envie a inscrição executando:
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>
Veja a transação pendente com:
ord wallet transactions
Assim que a transação de envio for confirmada, o destinatário poderá confirmar o recebimento executando:
ord wallet inscriptions
Sending Runes
Peça ao destinatário para gerar um novo endereço executando:
ord wallet receive
Send the runes by running:
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <RUNES_AMOUNT>
Where RUNES_AMOUNT
is the number of runes to send, a :
character, and the name of the rune. For example if you want to send 1000 of the EXAMPLE rune, you would use 1000:EXAMPLE
.
ord wallet send --fee-rate 1 SOME_ADDRESS 1000:EXAMPLE
Veja a transação pendente com:
ord wallet transactions
Once the send transaction confirms, the recipient can confirm receipt with:
ord wallet balance
Recebendo Inscrições
Gere um novo endereço de recebimento usando:
ord wallet receive
O remetente pode transferir a inscrição para o seu endereço usando:
ord wallet send --fee-rate <FEE_RATE> ADDRESS INSCRIPTION_ID
Veja a transação pendente com:
ord wallet transactions
Once the send transaction confirms, you can confirm receipt by running:
ord wallet inscriptions