Wallet
Einzelsats können mit beliebigem Inhalt beschriftet werden, wodurch Bitcoin-native digitale Artefakte entstehen, die in einer Bitcoin-Brieftasche aufbewahrt und mit Bitcoin-Transaktionen übertragen werden können. Inscriptions sind genauso langlebig, unveränderlich, sicher und dezentralisiert wie Bitcoin selbst.
Die Arbeit mit inscriptions erfordert einen Bitcoin-Full-Node, um Ihnen eine Ansicht des aktuellen Zustands der Bitcoin-Blockchain zu geben, sowie eine Brieftasche, die inscription erstellen und Satoshis kontrollieren kann, wenn Transaktionen erstellt werden, um Inschriften an eine andere Brieftasche zu senden.
Bitcoin Core bietet sowohl einen Bitcoin-Full-Node als auch eine Brieftasche. Die Bitcoin Core-Brieftasche kann jedoch keine inscriptions erstellen und führt keine Satoshis-Kontrolle durch.
Dies erfordert ord
, das Ordinal-utility. ord
implementiert keine eigene Brieftasche, daher interagieren ord wallet
-Befehle mit Bitcoin Core-Brieftaschen.
Dieser Anleitungen behandelt:
- Bitcoin Core installieren
- Synchronisierung der Bitcoin-Blockchain
- Erstellen einer Bitcoin Core-Wallet
- Verwenden Sie
ord wallet receive
, um sats zu empfangen - Inscriptions erstellen mit
ord wallet inscribe
- Versenden von inscriptions mit
ord wallet send
- Empfangen von inscriptions mit
ord wallet receive
- Batch inscribing with
ord wallet inscribe --batch
Hilfe bekommen
Wenn Sie nicht weiterkommen, versuchen Sie, um Hilfe auf dem Ordinals Discord Server zu fragen, oder überprüfen Sie GitHub nach relevanten Issues und Diskussionen.
Bitcoin Core installieren
Bitcoin Core ist auf bitcoincore.org auf der Download-Seite verfügbar.
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
.
Bitcoin Core konfigurieren
ord
requires Bitcoin Core's transaction index and rest interface.
Um Ihren Bitcoin Core-Node so zu konfigurieren, dass er einen Transaktionsindex pflegt, fügen Sie das folgende zu Ihrer bitcoin.conf
hinzu:
txindex=1
Oder führen Sie bitcoind
mit -txindex
:
bitcoind -txindex
Details on creating or modifying your bitcoin.conf
file can be found here.
Synchronisierung der Bitcoin-Blockchain
Um die chain zu synchronisieren, führen Sie Folgendes aus:
bitcoind -txindex
…und lassen Sie es laufen, bis getblockcount
:
bitcoin-cli getblockcount
Es stimmt mit der Blockanzahl auf einem Block-Explorer wie dem mempool.space Block Explorer überein. ord
interagiert mit bitcoind
, daher sollten Sie bitcoind
im Hintergrund laufen lassen, wenn Sie ord
verwenden.
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.
Störungssuche
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
.
Installieren ord
Das Dienstprogramm "ord" ist in Rust geschrieben und kann aus Quelle erstellt werden. Vorgefertigte Binärdateien sind auf der Releases-Seite verfügbar.
Sie können die neueste vorgefertigte Binärdatei über die Befehlszeile installieren mit:
curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s
Sobald ord
installiert ist, sollten Sie Folgendes ausführen können:
ord --version
Dadurch wird die Versionsnummer von ord
ausgedruckt.
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.
Sats empfangen
Inscriptions werden auf einzelnen Sats erstellt, indem normale Bitcoin-Transaktionen verwendet werden, die Gebühren in Sats zahlen. Daher benötigt Ihre Wallet einige Sats.
Holen Sie sich eine neue Adresse aus Ihrem ord
Wallet, indem Sie Folgendes ausführen:
ord wallet receive
Und schick ihm etwas Geld.
Ausstehende Transaktionen können Sie mit einsehen:
ord wallet transactions
Sobald die Transaktion bestätigt ist, sollten Sie die Transaktionsausgaben mit ord wallet outputs
sehen können.
Inscription inhalte erstellen
Sats können mit beliebigen Inhalten versehen werden, aber die ord
Wallet unterstützt nur Content-Typen, die vom ord
Block-Explorer angezeigt werden können.
Zusätzlich werden inscriptions in Transaktionen aufgenommen, daher muss je nach Größe des Inhalts auch eine höhere Gebühr für die inscriptions transaktion gezahlt werden.
Der Inhalt der Inscription wird in Transaktionszeugnissen aufgenommen, die den Zeugnisrabatt erhalten. Um die ungefähre Gebühr für eine Inscription transaktion zu berechnen, teilen Sie die Größe des Inhalts durch vier und multiplizieren Sie sie mit dem Gebührensatz.
Inscription transaktion müssen weniger als 400.000 Gewichtseinheiten betragen, da sie ansonsten von Bitcoin Core nicht weitergeleitet werden. Ein Byte inscription inhalt kostet eine Gewichtseinheit. Da eine inscription transaktion nicht nur den inscription inhalt enthält, sollte der inscription inhalt auf weniger als 400.000 Gewichtseinheiten begrenzt werden. 390.000 Gewichtseinheiten sollten sicher sein.
Inscription erstellen
Um eine Inschrift mit dem Inhalt von FILE
zu erstellen, führen:
ord wallet inscribe --fee-rate FEE_RATE --file FILE
Ord gibt zwei Transaktions-IDs aus, eine für die Commit-Transaktion und eine für die Reveal-Transaktion, sowie die inscription -ID. inscription -IDs haben das Format TXIDiN
, wobei TXID
die Transaktions-ID der Reveal-Transaktion ist und N
der Index der inscription in der Reveal-Transaktion ist.
Die Commit-Transaktion verpflichtet sich zu einem Tapscript, das den Inhalt der inscription enthält, und die Reveal-Transaktion gibt von diesem Tapscript aus und enthüllt den Inhalt auf der Blockchain, indem sie ihn auf die erste Satoshis des Inputs schreibt, der das entsprechende Tapscript enthält.
Warten Sie, bis die Reveal-Transaktion gemined wurde. Sie können den Status der Commit- und Reveal-Transaktionen mit dem Block Explorer von mempool.space überprüfen.
Sobald die Reveal-Transaktion gemined wurde, sollte die Inscription-ID angezeigt werden, wenn Sie Folgendes ausführen:
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.
Inscriptions Senden
Bitten Sie den Empfänger, eine neue Adresse zu generieren, indem Sie Folgendes ausführen:
ord wallet receive
Senden Sie die inscription, indem Sie Folgendes ausführen:
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>
Sehen Sie sich die ausstehende Transaktion an mit:
ord wallet transactions
Sobald die Sendetransaktion bestätigt ist, kann der Empfänger den Empfang bestätigen, indem er Folgendes ausführt:
ord wallet inscriptions
Sending Runes
Bitten Sie den Empfänger, eine neue Adresse zu generieren, indem Sie Folgendes ausführen:
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
Sehen Sie sich die ausstehende Transaktion an mit:
ord wallet transactions
Once the send transaction confirms, the recipient can confirm receipt with:
ord wallet balance
Empfang von Inscriptions
Erzeugen Sie eine neue Empfangsadresse mit:
ord wallet receive
Der Absender kann die inscriptions an Ihre Adresse übertragen mit:
ord wallet send --fee-rate <FEE_RATE> ADDRESS INSCRIPTION_ID
Sehen Sie sich die ausstehende Transaktion an mit:
ord wallet transactions
Once the send transaction confirms, you can confirm receipt by running:
ord wallet inscriptions