Wallet
Chaque sat peut être inscrit avec un contenu arbitraire, créant ainsi des artefacts numériques natifs de Bitcoin qui peuvent être stockés dans un portefeuille Bitcoin et transférés à l’aide de transactions Bitcoin. Les inscriptions sont aussi durables, immuables, sûres et décentralisées que Bitcoin lui-même.
Travailler avec des inscriptions nécessite un nœud complet Bitcoin, pour vous donner une vue d’ensemble de l’état actuel de la blockchain Bitcoin, et un portefeuille qui peut créer des inscriptions et effectuer un contrôle de sats lors de la préparation de transactions visant à envoyer des inscriptions à un autre portefeuille.
Bitcoin Core fournit à la fois un nœud complet et un portefeuille Bitcoin. Le portefeuille Bitcoin Core ne peut cependant pas créer d’inscriptions et n’effectue pas de contrôle de sats.
Pour cela, il faut recourir à ord
, l’utilitaire ordinal. ord
n’implémente pas son propre portefeuille, donc les sous-commandes du portefeuille ord wallet
interagissent avec les portefeuilles Bitcoin Core.
Ce guide couvre :
- L’installation de Bitcoin Core
- La synchronisation de la blockchain Bitcoin
- La création d’un portefeuille Bitcoin Core
- L’utilisation de
ord wallet receive
pour recevoir des sats - La création d’inscriptions à l’aide de
ord wallet inscribe
- L’envoi d’inscriptions à l’aide de
ord wallet send
- La réception d’inscriptions avec
ord wallet receive
- Batch inscribing with
ord wallet inscribe --batch
Obtenir de l’aide
Si vous êtes coincé, essayez de demander de l’aide sur le Serveur Discord d’Ordinals, ou consultez GitHub pour des discussions et des problèmes pertinents.
L’installation de Bitcoin Core
Bitcoin Core est disponible sur la page de téléchargement de bitcoincore.org.
Making inscriptions requires Bitcoin Core 28 or newer.
Ce guide ne couvre pas l’installation de Bitcoin Core en détail. Une fois Bitcoin Core installé, vous devriez être en mesure d’exécuter bitcoind -version
avec succès depuis la ligne de commande. N’utilisez PAS bitcoin-qt
.
Configurer Bitcoin Core
ord
nécessite l’index de transactions et l’interface rest de Bitcoin Core.
Pour configurer votre nœud Bitcoin Core afin qu’il maintienne un index des transactions, ajoutez ce qui suit à votre bitcoin.conf
:
txindex=1
Ou bien, exécutez bitcoind
avec -txindex
:
bitcoind -txindex
Vous pouvez trouver des détails sur la création ou la modification de votre fichier bitcoin.conf
ici.
La synchronisation de la blockchain Bitcoin
Pour synchroniser la blockchain, exécutez :
bitcoind -txindex
...et laissez-la s’exécuter jusqu’à ce que getblockcount
:
bitcoin-cli getblockcount
corresponde au nombre de blocs sur un explorateur de blocs tel que mempool.space. ord
interagit avec bitcoind
, il faut donc laisser bitcoind
s’exécuter en arrière-plan lorsque vous utilisez ord
.
La blockchain occupe environ 600 Go d’espace disque. Si vous avez un disque externe sur lequel vous souhaitez stocker des blocs, utilisez l’option de configuration blocksdir=<external_drive_path>
. C’est beaucoup plus simple que d’utiliser l’option datadir
car le fichier cookie sera toujours dans l’emplacement par défaut afin que bitcoin-cli
et ord
puissent le trouver.
Résolution des problèmes
Assurez-vous de pouvoir accéder à bitcoind
avec bitcoin-cli -getinfo
et qu’il est entièrement synchronisé.
Si bitcoin-cli -getinfo
renvoie Could not connect to the server
(n’a pas pu se connecter au serveur), bitcoind
ne s’exécute pas.
Assurez-vous que rpcuser
, rpcpassword
ou rpcauth
ne sont PAS configurés dans votre fichier bitcoin.conf
. ord
nécessite l’utilisation de l’authentification à l’aide de cookies. Assurez-vous qu’il y a un fichier .cookie
dans votre répertoire de données Bitcoin.
Si bitcoin-cli -getinfo
renvoie Could not locate RPC credentials
(n’a pas pu localiser les informations d’authentification RPC), vous devez spécifier l’emplacement du fichier cookie. Si vous utilisez un répertoire de données personnalisé (en spécifiant l’option datadir
), vous devez spécifier l’emplacement du cookie comme suit : bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/.cookie -getinfo
. Lorsque vous exécutez ord
, vous devez spécifier l’emplacement du fichier cookie à l’aide de --cookie-file=<your_bitcoin_datadir>/.cookie
.
Assurez-vous de ne PAS avoir disablewallet=1
dans votre fichier bitcoin.conf
. Si bitcoin-cli listwallets
renvoie Method not found
(méthode non trouvée), le portefeuille est désactivé et vous ne pourrez pas utiliser ord
.
Assurez-vous que txindex=1
est configuré. Lancez bitcoin-cli getindexinfo
et cela devrait retourner quelque chose de ce genre
{
"txindex": {
"synced": true,
"best_block_height": 776546
}
}
Si cela renvoie uniquement {}
, txindex
n’est pas défini. Si cela renvoie "synced": false
, bitcoind
est encore en train de créer le txindex
. Attendez que "synced": true
s’affiche avant d’utiliser ord
.
Si vous avez configuré maxuploadtarget
, cela peut interférer avec le fetch de blocs pour l’index ord
. Il faut soit le supprimer ou définir whitebind=127.0.0.1:8333
.
L’installation de ord
L’utilitaire ord
est écrit en Rust et peut être compilé à partir des sources. Des binaires préconstruits sont disponibles sur la page des versions.
Vous pouvez installer le dernier binaire préconstruit à partir de la ligne de commande suivante :
curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s
Une fois ord
installé, vous devriez être en mesure d’exécuter :
ord --version
Ce qui indiquera le numéro de version de 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.
Recevoir des sats
Les inscriptions sont créées sur des sats individuels, en utilisant des transactions Bitcoin standard qui paient des frais en sats. Votre portefeuille doit donc contenir quelques sats.
Obtenez une nouvelle adresse à partir de votre portefeuille ord
en exécutant :
ord wallet receive
Et envoyez-y des fonds.
Vous pouvez voir les transactions en attente en exécutant :
ord wallet transactions
Une fois la transaction confirmée, vous devriez être en mesure de voir les sorties de transactions avec ord wallet outputs
.
Créer du contenu pour les inscriptions
Les sats peuvent être inscrits avec n’importe quel type de contenu, mais le portefeuille ord
ne prend en charge que les types de contenu qui peuvent être affichés par l’explorateur de blocs ord
.
En outre, les inscriptions sont incluses dans les transactions, donc plus le contenu est volumineux, plus les frais à payer pour la transaction de l’inscription sont élevés.
Le contenu des inscriptions est inclus dans les témoins de transaction, qui bénéficient de la réduction pour témoins. Afin de calculer le montant approximatif des frais de transaction d’une inscription, divisez la taille du contenu par quatre et multipliez par le taux de frais.
Les transactions d’inscription doivent être inférieures à 400 000 unités de poids, sinon elles ne seront pas relayées par Bitcoin Core. Un octet de contenu d’inscription coûte une unité de poids. Étant donné qu’une transaction d’inscription ne contient pas seulement le contenu de l’inscription, il faut limiter le contenu de l’inscription à moins de 400 000 unités de poids. Il est donc recommandé de ne pas dépasser 390 000 unités de poids, afin de maintenir une marge de sécurité.
La création d’inscriptions
Pour créer une inscription avec le contenu de FILE
, exécutez :
ord wallet inscribe --fee-rate FEE_RATE --file FILE
Ord affichera deux identifiants de transaction, l’un pour la transaction d’engagement et l’autre pour la transaction de révélation, ainsi que l’identifiant de l’inscription. Les identifiants d’inscription ont le format TXIDiN
, TXID
étant l’identifiant de la transaction de révélation et N
l’index de l’inscription dans la transaction de révélation.
La transaction d’engagement s’engage à utiliser un tapscript qui héberge le contenu de l’inscription, tandis que la transaction de révélation dépense ce tapscript, révélant ainsi le contenu sur la chaîne et l’inscrivant sur le premier sat d’entrée contenant le tapscript correspondant.
Attendez que la transaction de révélation soit minée. Vous pouvez vérifier le statut des transactions d’engagement et de révélation en utilisant l’explorateur de blocs mempool.space.
Une fois que la transaction de révélation a été minée, l’identifiant d’inscription devrait apparaître lorsque vous exécutez :
ord wallet inscriptions
Inscriptions parent-enfant
Les inscriptions parent-enfant permettent ce que l’on appelle des collections en langage courant (voir provenance pour plus d’informations).
Pour faire d’une inscription l’enfant d’une autre, l’inscription parent doit être inscrite et présente dans le portefeuille. Pour choisir un parent, lancez ord wallet inscriptions
et copiez l’identifiant de l’inscription (<PARENT_INSCRIPTION_ID>
).
Inscrivez maintenant l’inscription enfant et spécifiez le parent comme suit :
ord wallet inscribe --fee-rate FEE_RATE --parent <PARENT_INSCRIPTION_ID> --file CHILD_FILE
Cette relation ne peut pas être ajoutée rétroactivement, le parent doit être présent lors de la création de l’enfant.
L’envoi d’inscriptions
Demandez au destinataire de générer une nouvelle adresse en exécutant :
ord wallet receive
Envoyez l’inscription en exécutant :
ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>
Voyez la transaction en attente avec la commande :
ord wallet transactions
Une fois que la transaction d’envoi est confirmée, le destinataire peut confirmer la réception en exécutant :
ord wallet inscriptions
Sending Runes
Demandez au destinataire de générer une nouvelle adresse en exécutant :
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
Voyez la transaction en attente avec la commande :
ord wallet transactions
Once the send transaction confirms, the recipient can confirm receipt with:
ord wallet balance
La réception d’inscriptions
Générez une nouvelle adresse de réception en utilisant :
ord wallet receive
L’expéditeur peut transférer l’inscription à votre adresse en utilisant :
ord wallet send --fee-rate <FEE_RATE> ADDRESS INSCRIPTION_ID
Voyez la transaction en attente avec la commande :
ord wallet transactions
Once the send transaction confirms, you can confirm receipt by running:
ord wallet inscriptions