Wallet

Individuele sats kunnen worden ingeschreven met willekeurige inhoud, waardoor Bitcoin-native digitale artefacten ontstaan die kunnen worden bewaard in een Bitcoin-portemonnee en overgedragen kunnen worden met Bitcoin-transacties. Inschrijvingen zijn net zo duurzaam, onveranderlijk, veilig en gedecentraliseerd als Bitcoin zelf.

Werken met inschrijvingen vereist een Bitcoin full node, die je een overzicht geeft van de huidige staat van de Bitcoin-blockchain, en een portemonnee die inschrijvingen kan maken en satoshis kan beheren bij het opstellen van transacties om inschrijvingen naar een andere portemonnee te verzenden.

Bitcoin Core biedt zowel een Bitcoin full node als een portemonnee. De Bitcoin Core-portemonnee kan echter geen inschrijvingen maken en voert geen sat-beheer uit.

Dit vereist ord, de ordinal utility. ord implementeert geen eigen portemonnee, dus ord wallet subcommando's communiceren met Bitcoin Core-portemonnees.

Deze gids behandelt:

  1. Bitcoin Core installeren
  2. De Bitcoin-blockchain synchroniseren
  3. Het Creëren van een Bitcoin Core Wallet
  4. Gebruik ord wallet receive om sats te ontvangen
  5. Inschrijvingen maken met ord wallet inscribe
  6. Inschrijvingen verzenden met ord wallet send
  7. Inschrijvingen ontvangen met ord wallet receive
  8. Batch-inschrijven met ord wallet inscribe --batch

Hulp Krijgen

Als je vastloopt, probeer dan hulp te vragen op de Ordinals Discord Server, of kijk op GitHub voor relevante issues en discussies.

Bitcoin Core installeren

Bitcoin Core is beschikbaar op bitcoincore.org op de downloadpagina.

Making inscriptions requires Bitcoin Core 28 or newer.

Deze gids behandelt de installatie van Bitcoin Core niet in detail. Zodra Bitcoin Core is geïnstalleerd, zou je in staat moeten zijn om bitcoind -version succesvol uit te voeren vanaf de opdrachtregel. Gebruik NIET bitcoin-qt.

Bitcoin Core Configureren

ord vereist de transactie-index en de REST-interface van Bitcoin Core.

Om je Bitcoin Core-node te configureren voor het bijhouden van een transactie-index, voeg je het volgende toe aan je bitcoin.conf:

txindex=1

Of, start bitcoind met -txindex:

bitcoind -txindex

Informatie over het aanmaken of aanpassen van je bitcoin.conf-bestand kun je hier vinden.

Het synchroniseren van de Bitcoin-blockchain

Om de keten te synchroniseren, voer je uit:

bitcoind -txindex

... en laat het draaien totdat getblockcount aangeeft:

bitcoin-cli getblockcount

... en overeenkomt met de blokteller op een block explorer zoals de mempool.space block explorer. ord interacteert met bitcoind, dus je moet bitcoind op de achtergrond laten draaien wanneer je ord gebruikt.

De blockchain neemt ongeveer 600 GB aan schijfruimte in beslag. Als je een externe schijf hebt waarop je de blokken wilt opslaan, gebruik dan de configuratieoptie blocksdir=<external_drive_path>. Dit is veel eenvoudiger dan de datadir-optie omdat het cookiebestand nog steeds op de standaardlocatie staat, zodat bitcoin-cli en ord het kunnen vinden.

Probleemoplossing

Zorg ervoor dat je toegang hebt tot bitcoind met bitcoin-cli -getinfo en dat het volledig gesynchroniseerd is.

Als bitcoin-cli -getinfo de melding Could not connect to the server retourneert, draait bitcoind niet.

Zorg ervoor dat rpcuser, rpcpassword of rpcauth NIET zijn ingesteld in je bitcoin.conf-bestand. ord vereist het gebruik van cookie-authenticatie. Controleer of er een .cookie-bestand in je bitcoin-datamap aanwezig is.

Als bitcoin-cli -getinfo de melding Could not locate RPC credentials retourneert, moet je de locatie van het cookiebestand specificeren. Als je een aangepaste datamap gebruikt (door de datadir-optie op te geven), moet je de locatie van het cookiebestand aangeven zoals bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/.cookie -getinfo. Wanneer je ord uitvoert, moet je de locatie van het cookiebestand opgeven met --cookie-file=<your_bitcoin_datadir>/.cookie.

Zorg ervoor dat je NIET disablewallet=1 in je bitcoin.conf-bestand hebt staan. Als bitcoin-cli listwallets de melding Method not found retourneert, is de wallet uitgeschakeld en kun je ord niet gebruiken.

Zorg ervoor dat txindex=1 is ingesteld. Voer bitcoin-cli getindexinfo uit en het zou iets moeten teruggeven zoals

{
  "txindex": {
    "synced": true,
    "best_block_height": 776546
  }
}

Als het alleen {} retourneert, is txindex niet ingesteld. Als het "synced": false retourneert, is bitcoind nog bezig met het aanmaken van de txindex. Wacht tot "synced": true voordat je ord gebruikt.

Als je maxuploadtarget hebt ingesteld, kan dit het ophalen van blokken voor de ord-index verstoren. Verwijder het of stel whitebind=127.0.0.1:8333 in.

Installatie van ord

De ord-tool is geschreven in Rust en kan worden gebouwd vanaf de bron. Kant-en-klare binaire bestanden zijn beschikbaar op de releases-pagina.

Je kunt de nieuwste kant-en-klare binaire versie vanaf de opdrachtregel installeren met:

curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s

Zodra ord is geïnstalleerd, zou je in staat moeten zijn om uit te voeren:

ord --version

Wat de versie van ord afdrukt.

Een wallet aanmaken

ord gebruikt bitcoind om privé-sleutels te beheren, transacties te ondertekenen en transacties naar het Bitcoin-netwerk uit te zenden. Bovendien vereist de ord wallet dat ord server op de achtergrond draait. Zorg ervoor dat deze programma's actief zijn:

bitcoind -txindex
ord server

Om een wallet met de naam ord, de standaardnaam, aan te maken voor gebruik met ord wallet, voer je uit:

ord wallet create

Dit zal je seed phrase mnemonic afdrukken; sla deze op een veilige plaats op.

`` { "mnemonic": "dignity buddy actor toast talk crisp city annual tourist orient similar federal", "passphrase": "" }

Als je een andere naam wilt opgeven of een ord server wilt gebruiken die draait op een niet-standaard URL, kun je deze opties instellen:

ord wallet --name foo --server-url http://127.0.0.1:8080 create

Om alle beschikbare portemonnee-opties te zien, kun je uitvoeren:

ord wallet help

Herstellen en Exporteren van een Wallet

De ord-wallet gebruikt descriptors, zodat je de uitvoerdescriptors kunt exporteren en deze kunt importeren in een andere op descriptors gebaseerde wallet. Om de wallet-descriptors, die je privésleutels bevatten, te exporteren:

$ 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
    }
  ]
}

Een ord wallet kan worden hersteld vanaf een mnemonic:

ord wallet restore --from mnemonic

Typ je mnemonic en druk op enter.

Om te herstellen vanuit een descriptor in descriptor.json:

cat descriptor.json | ord wallet restore --from descriptor

Om te herstellen vanuit een descriptor in het klembord:

ord wallet restore --from descriptor

Plak de descriptor in de terminal en druk op CTRL-D op Unix of CTRL-Z op Windows.

Ontvangen van Sats

Inscripties worden gemaakt op afzonderlijke sats, met behulp van gewone Bitcoin-transacties die vergoedingen in sats betalen, dus je wallet heeft enige sats nodig.

Haal een nieuw adres op uit je ord wallet door uit te voeren:

ord wallet receive

En stuur er wat fondsen naartoe.

Je kunt uitstaande transacties bekijken met:

ord wallet transactions

Zodra de transactie is bevestigd, zou je de transactie-uitgangen moeten kunnen zien met ord wallet outputs.

Inscriptie-inhoud aanmaken

Sats kunnen worden ingeschreven met elk type inhoud, maar de ord wallet ondersteunt alleen inhoudstypen die kunnen worden weergegeven door de ord block explorer.

Daarnaast worden inscripties opgenomen in transacties, dus hoe groter de inhoud, hoe hoger de vergoeding die de inscriptie-transactie moet betalen.

Inscriptie-inhoud wordt opgenomen in transaction witnesses, die profiteren van de witness-korting. Om de geschatte vergoeding te berekenen die een inscriptie-transactie zal betalen, deel je de inhoudsgrootte door vier en vermenigvuldig je dit met het vergoedingstarief.

Inscriptie-transacties mogen niet meer dan 400.000 gewichtseenheden bevatten, anders worden ze niet door Bitcoin Core doorgegeven. Eén byte inscriptie-inhoud kost één gewichtseenheid. Aangezien een inscriptie-transactie niet alleen de inscriptie-inhoud omvat, moet je de inscriptie-inhoud beperken tot minder dan 400.000 gewichtseenheden. 390.000 gewichtseenheden zouden veilig moeten zijn.

Inscripties aanmaken

Om een inscriptie aan te maken met de inhoud van FILE, voer je uit:

ord wallet inscribe --fee-rate FEE_RATE --file FILE

ord zal twee transacties-ID's en de inscriptie-ID weergeven: één voor de commit-transactie en één voor de reveal-transactie. Inscriptie-ID's hebben de vorm TXIDiN, waarbij TXID de transacties-ID van de reveal-transactie is en N de index van de inscriptie in de reveal-transactie.

De commit-transactie commit zich aan een tapscript dat de inhoud van de inscriptie bevat, en de reveal-transactie besteedt aan dat tapscript, waardoor de inhoud op de blockchain wordt onthuld en ingeschreven op de eerste sat van de invoer die het bijbehorende tapscript bevat.

Wacht totdat de reveal-transactie is gemined. Je kunt de status van de commit- en reveal-transacties controleren met behulp van de mempool.space block explorer.

Zodra de reveal-transactie is gemined, zou de inscriptie-ID moeten worden afgedrukt wanneer je uitvoert:

ord wallet inscriptions

Ouder-Kind Inscripties

Ouder-kind inscripties maken wat in de volksmond bekend staat als collecties mogelijk. Zie provenance voor meer informatie.

Om een inscriptie een kind te maken van een andere, moet de ouderinscriptie ingeschreven en aanwezig zijn in de wallet. Om een ouder te kiezen, voer je ord wallet inscriptions uit en kopieer je de inscriptie-ID (<PARENT_INSCRIPTION_ID>).

Nu schrijf je de kindinscriptie in en specificeer je de ouder als volgt:

ord wallet inscribe --fee-rate FEE_RATE --parent <PARENT_INSCRIPTION_ID> --file CHILD_FILE

Deze relatie kan niet achteraf worden toegevoegd; de ouder moet aanwezig zijn bij de aanmaak van het kind.

Inscripties verzenden

Vraag de ontvanger om een nieuw adres te genereren door uit te voeren:

ord wallet receive

Stuur de inscriptie door uit te voeren:

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>

Bekijk de uitstaande transactie met:

ord wallet transactions

Zodra de verzendtransactie is bevestigd, kan de ontvanger de ontvangst bevestigen door uit te voeren:

ord wallet inscriptions

Runes verzenden

Vraag de ontvanger om een nieuw adres te genereren door uit te voeren:

ord wallet receive

Stuur de runes door uit te voeren:

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <RUNES_AMOUNT>

Waarbij RUNES_AMOUNT het aantal runes is dat je wilt verzenden, gevolgd door een : karakter en de naam van de rune. Bijvoorbeeld, als je 1000 van de EXAMPLE rune wilt verzenden, gebruik je 1000:EXAMPLE.

ord wallet send --fee-rate 1 SOME_ADDRESS 1000:EXAMPLE

Bekijk de uitstaande transactie met:

ord wallet transactions

Zodra de verzendtransactie is bevestigd, kan de ontvanger de ontvangst bevestigen met:

ord wallet balance

Inscripties ontvangen

Genereer een nieuw ontvangstadres met:

ord wallet receive

De afzender kan de inscriptie naar je adres overdragen met:

ord wallet send --fee-rate <FEE_RATE> ADDRESS INSCRIPTION_ID

Bekijk de uitstaande transactie met:

ord wallet transactions

Zodra de verzendtransactie is bevestigd, kun je de ontvangst bevestigen door uit te voeren:

ord wallet inscriptions