Documentation RPC du Portefeuille

Introduction

Voici une liste des appels de monero-wallet-rpc, leurs entrées et sorties, et des exemples pour chacun d'eux. Le logiciel monero-wallet-rpc remplace l'interface rpc qui était présenter dans simplewallet puis monero-wallet-cli.

Toutes les méthodes monero-wallet-rpc utilisent la même interface JSON RPC. Par exemple :

IP=127.0.0.1
PORT=18082
METHOD="make_integrated_address"
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
curl \
    -X POST http://$IP:$PORT/json_rpc \
    -d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \
    -H 'Content-Type: application/json'

Si monero-wallet-rpc était exécuté avec l'option --rpc-login configuré à username:password, alors suivez cet exemple :

IP=127.0.0.1
PORT=18082
METHOD="make_integrated_address"
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
curl \
    -u username:password --digest \
    -X POST http://$IP:$PORT/json_rpc \
    -d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \
    -H 'Content-Type: application/json'

Remarque : "atomic units" réfère à la plus petite fraction de 1 XMR selon l'implémentation monerod. 1 XMR = 1e12 unités atomiques

Cette liste à été mise à jour sur un code gelé le 14/09/2018 après la fusion du commit bb30a7236725e456138f055f96a634c75ce2b491 (version Wallet RPC 1.3), et à la hauteur de bloc 1643308.

Index des méthodes JSON RPC :


Méthodes JSON RPC :

get_balance

Retourne le solde du portefeuille.

Alias : getbalance.

Entrées :

  • account_index - entier non signé; Retourne le solde pour ce compte.
  • address_indices - liste d'entier non signé; (Optionnel) Retourne le détail du solde pour ces sous-adresses.

Sorties :

  • balance - entier non signé; Le solde total du monero-wallet-rpc actuellement en session.
  • unlocked_balance - entier non signé; Les fonds débloqués sont ces fonds qui sont suffisamment profonds sur la chaîne de bloc Monero pour être considérés sûres à dépenser.
  • multisig_import_needed - booléen; True si l'import de données de multisignatures est nécessaire pour retourner le solde correct.
  • per_subaddress - liste d'informations subaddress; Informations de solde pour chaque sous-adresses du compte.
    • address_index - entier non signé; Index des sous-addresses du compte.
    • address - chaîne de caractères; Adresse à cet index. Représentation Base58 des clefs publiques.
    • balance - entier non signé; Solde de la sous-adresse (bloqué ou débloqué).
    • unlocked_balance - entier non signé; Solde débloqué pour la sous-adresse.
    • label - chaîne de caractères; Libellé de la sous-adresse.
    • num_unspent_outputs - entier non signé; Nombre de sorties non dépensées disponibles pour la sous-adresse.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_balance","params":{"account_index":0,"address_indices":[0,1]}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "balance": 157443303037455077,
    "multisig_import_needed": false,
    "per_subaddress": [{
      "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
      "address_index": 0,
      "balance": 157360317826255077,
      "label": "Primary account",
      "num_unspent_outputs": 5281,
      "unlocked_balance": 157360317826255077
    },{
      "address": "7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o",
      "address_index": 1,
      "balance": 59985211200000,
      "label": "",
      "num_unspent_outputs": 1,
      "unlocked_balance": 59985211200000
    }],
    "unlocked_balance": 157443303037455077
  }
}

get_address

Retourne l'adresse de portefeuille pour ce compte. Filtre optionnellement sur un lot de sous-adresses.

Alias : getaddress.

Entrées :

  • account_index - entier non signé; Le compte dont retourner les sous-adresses.
  • address_index - liste d'entier non signé; (Optionnel) Liste de sous-adresses à retourner pour un compte.

Sorties :

  • address - chaîne de caractères; La chaîne de 95 caractères de l'adresse du portefeuille RPC ouvert.
  • addresses Liste d'informations addresses
    • address chaîne de caractères; La chaîne de 95 caractères de (sous-)adresse.
    • label chaîne de caractères; Libélé de la (sous-)adresse.
    • address_index entier non signé; Index de la sous-adresse.
    • used booléen; Indique si la (sous-)adresse à déjà reçu des fonds.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address","params":{"account_index":0,"address_index":[0,1,4]}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
    "addresses": [{
      "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
      "address_index": 0,
      "label": "Primary account",
      "used": true
    },{
      "address": "7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o",
      "address_index": 1,
      "label": "",
      "used": true
    },{
      "address": "77xa6Dha7kzCQuvmd8iB5VYoMkdenwCNRU9khGhExXQ8KLL3z1N1ZATBD1sFPenyHWT9cm4fVFnCAUApY53peuoZFtwZiw5",
      "address_index": 4,
      "label": "test2",
      "used": true
    }]
  }
}

get_address_index

Obtenir les index de compte et d'adresse pour uns (sous-)adresse spécifique.

Alias : Aucun.

Entrées :

  • address - String; (Sous)-adresse à rechercher.

Sorties :

  • index - Informations de sous-adresse
    • major entier non signé; Index de compte.
    • minor entier non signé; Index d'adresse.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address_index","params":{"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "index": {
      "major": 0,
      "minor": 1
    }
  }
}

create_address

Créer une nouvelle adresse sur un compte. Optionnellement, libeller la nouvelle adresse.

Alias : Aucun.

Entrées :

  • account_index - entier non signé; Compte pour lequel créer une nouvelle adresse.
  • label - chaîne de caractères; (Optionnel) Libellé pour la nouvelle adresse.

Sorties :

  • address - chaîne de caractères; Nouvelle adresse créée. Représentation Base58 des clefs publiques.
  • address_index - entier non signé; Index de la nouvelle adresse dans le compte indiqué.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_address","params":{"account_index":0,"label":"new-sub"}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "address": "7BG5jr9QS5sGMdpbBrZEwVLZjSKJGJBsXdZLt8wiXyhhLjy7x2LZxsrAnHTgD8oG46ZtLjUGic2pWc96GFkGNPQQDA3Dt7Q",
    "address_index": 5
  }
}

label_address

Libeller une adresse.

Alias : Aucun.

Entrées :

  • index - Index de sous-adresse; Objet JSON contenant les Index d'adresse majeur et mineur:
    • major - entier non signé; Index de compte pour la sous-adresse.
    • minor - entier non signé; Index de la sous-adresse de ce compte.
  • label - chaîne de caractères; Libellé de cette adresse.

Sorties : Aucun.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_address","params":{"index":{"major":0,"minor":5},"label":"myLabel"}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

get_accounts

Obtenir tous les comptes d'un portefeuille. Optionnellement filtrer par étiquette de comptes.

Alias : Aucun.

Entrées :

  • tag - chaîne de caractères; (Optionnel) Étiquette pour filtrer les comptes.

Sorties :

  • subaddress_accounts - liste d'informations de sous-adresses de compte :
    • account_index - entier non signé; Index du compte.
    • balance - entier non signé; Solde du compte (bloqué ou débloqué).
    • base_address - chaîne de caractères; Représentation Base64 de la première sous-adresse de ce compte.
    • label - chaîne de caractères; (Optionnel) Libellé du compte.
    • tag - chaîne de caractères; (Optionnel) Étiquette pour filtrer les comptes.
    • unlocked_balance - entier non signé; Solde débloqué pour le compte.
  • total_balance - entier non signé; Solde total des comptes sélectionnés (bloqué ou débloqué).
  • total_unlocked_balance - entier non signé; Solde total débloqué des comptes sélectionnés.

Exemple :

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_accounts","params":{"tag":"myTag"}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "subaddress_accounts": [{
      "account_index": 0,
      "balance": 157663195572433688,
      "base_address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
      "label": "Primary account",
      "tag": "myTag",
      "unlocked_balance": 157443303037455077
    },{
      "account_index": 1,
      "balance": 0,
      "base_address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp",
      "label": "Secondary account",
      "tag": "myTag",
      "unlocked_balance": 0
    }],
    "total_balance": 157663195572433688,
    "total_unlocked_balance": 157443303037455077
  }
}

create_account

Créer un nouveau compte avec un libellé optionnel.

Alias : Aucun.

Entrées :

  • label - chaîne de caractères; (Optionnel) Libellé pour le compte.

Sorties :

  • account_index - entier non signé; Index du nouveau compte.
  • address - chaîne de caractères; Adresse de ce compte. Représentation Base58 des clefs publiques.

Exemple :

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_account","params":{"label":"Secondary account"}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "account_index": 1,
    "address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp"
  }
}

label_account

Libeller un compte.

Alias : Aucun.

Entrées :

  • account_index - entier non signé; Appliquer un libellé au compte à cet index.
  • label - chaîne de caractères; Libellé pour le compte.

Sorties : Aucun.

Exemple :

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_account","params":{"account_index":0,"label":"Primary account"}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "account_tags": [{
      "accounts": [0,1],
      "label": "",
      "tag": "myTag"
    }]
  }
}

get_account_tags

Obtenir la liste des étiquettes de compte personnalisées.

Alias : Aucun.

Entrées : Aucun.

Sorties :

  • account_tags - liste d'informations d'étiquette de compte :
    • tag - chaîne de caractères; Étiquette de filtrage.
    • label - chaîne de caractères; Libellé de l'étiquette.
    • accounts - liste de int; Liste d'index de comptes étiquetés.

Exemple :

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_account_tags","params":""}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "account_tags": [{
      "accounts": [0],
      "label": "Test tag",
      "tag": "myTag"
    }]
  }
}

tag_accounts

Appliquer une étiquette de filtrage à une liste de comptes.

Alias : Aucun.

Entrées :

  • tag - chaîne de caractères; Étiquette pour le compte.
  • accounts - liste d'entier non signé; Étiqueter cette liste de comptes.

Sorties : Aucun.

Exemple :

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"tag_accounts","params":{"tag":"myTag","accounts":[0,1]}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

untag_accounts

Supprimer l'étiquette de filtrage d'une liste de comptes.

Alias : Aucun.

Entrées :

  • accounts - liste d'entier non signé; Supprimer l'étiquette de filtrage de cette liste de comptes.

Sorties : Aucun.

Exemple :

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"untag_accounts","params":{"accounts":[1]}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

set_account_tag_description

Configurer une description pour une étiquette de compte.

Alias : Aucun.

Entrées :

  • tag - chaîne de caractères; Définir une description pour cette étiquette.
  • description - chaîne de caractères; Description de l'étiquette.

Sorties : Aucun.

Exemple :

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_account_tag_description","params":{"tag":"myTag","description":"Test tag"}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

get_height

Retourne la hauteur de bloc actuelle du portefeuille.

Alias : getheight.

Entrées : Aucun.

Sorties :

  • height - entier non signé; La hauteur de bloc actuelle du portefeuille RPC. Si le portefeuille est resté fermé un long moment, il pourrait devoir rattraper le démon.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "height": 145545
  }
}

transfer

Envoyer des Moneroj à un certain nombre de destinataires.

Alias : Aucun.

Entrées :

  • destinations - liste de destinations devant recevoir des XMR :
    • amount - entier non signé; Montant à envoyer à chaque destination, en unités atomiques.
    • address - chaîne de caractères; Adresse publique de destination.
  • account_index - entier non signé; (Optionnel) Transférer depuis cet index de compte. (0 par défaut)
  • subaddr_indices - liste d'entier non signé; (Optionnel) Transférer depuis cette liste de sous-adresses. (vide par défaut - tous les indices)
  • priority - entier non signé; Définir une priorité pour la transaction. Les valeurs acceptées sont de 0 à 3 respectivement pour les priorités par défaut, non-importante, normale et élevée.
  • mixin - entier non signé; Nombre de sorties de la chaîne de blocs avec lesquelles se mélanger (0 signifie pas de mélange).
  • ring_size - entier non signé; Nombre de sorties à mélanger dans la transaction (cette sortie + N leurres depuis la chaîne de blocs).
  • unlock_time - entier non signé; Nombre de blocs avant que les Moneroj puissent être dépensés (0 pour ne pas ajouter de verrouillage).
  • payment_id - chaîne de caractères; (Optionnel) Chaîne de 64 caractères hexadécimaux ou 32 octets aléatoires pour identifier la transaction.
  • get_tx_key - booléen; (Optionnel) Retourne la clef de la transaction après l'envoi.
  • do_not_relay - booléen; (Optionnel) Si true, la transaction nouvellement créée ne sera pas relayée sur le réseau Monero. (false par défaut)
  • get_tx_hex - booléen; Retourne la transaction sous forme de chaîne de caractères hexadécimale après l'envoi. (false par défaut)
  • get_tx_metadata - booléen; Retourne les métadonnées nécessaires pour relayer la transaction. (false par défaut)

Sorties :

  • amount - Montant transféré dans la transaction.
  • fee - Valeur en entier des frais facturés pour la transaction.
  • multisig_txset - Lot de transaction multi-signatures en attente d'être signée (vide si non-multi-signatures).
  • tx_blob - Transaction brut représenté par une chaîne de caractères hexadécimale, si get_tx_hex est true.
  • tx_hash - Chaîne de caractère du hachage de transaction publiquement consultable.
  • tx_key - Chaîne de caractère de la clef de transaction si get_tx_key est true, sinon chaîne de caractères vierge.
  • tx_metadata - Lot de métadonnées de transactions nécessaires pour relayer ce transfert plus tard, si get_tx_metadata est true.
  • unsigned_txset - String. Lot de transactions non-signée pour des besoins de signature à froid.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params":{"destinations":[{"amount":100000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"},{"amount":200000000000,"address":"75sNpRwUtekcJGejMuLSGA71QFuK1qcCVLZnYRTfQLgFU5nJ7xiAHtR5ihioS53KMe8pBhH61moraZHyLoG4G7fMER8xkNv"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"get_tx_key": true}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "amount": 300000000000,
    "fee": 86897600000,
    "multisig_txset": "",
    "tx_blob": "",
    "tx_hash": "7663438de4f72b25a0e395b770ea9ecf7108cd2f0c4b75be0b14a103d3362be9",
    "tx_key": "25c9d8ec20045c80c93d665c9d3684aab7335f8b2cd02e1ba2638485afd1c70e236c4bdd7a2f1cb511dbf466f13421bdf8df988b7b969c448ca6239d7251490e4bf1bbf9f6ffacffdcdc93b9d1648ec499eada4d6b4e02ce92d4a1c0452e5d009fbbbf15b549df8856205a4c7bda6338d82c823f911acd00cb75850b198c5803",
    "tx_metadata": "",
    "unsigned_txset": ""
  }
}

transfer_split

Comme transfer, mais peut être séparé en plus d'une transaction si nécessaire.

Alias : Aucun.

Entrées :

  • destinations - liste de destinations devant recevoir des XMR :
    • amount - entier non signé; Montant à envoyer à chaque destination, en unités atomiques.
    • address - chaîne de caractères; Adresse publique de destination.
  • account_index - entier non signé; (Optionnel) Transférer depuis cet index de compte. (0 par défaut)
  • subaddr_indices - liste d'entier non signé; (Optionnel) Transférer depuis cette liste de sous-adresses. (vide par défaut - tous les indices)
  • mixin - entier non signé; Nombre de sorties de la chaîne de blocs avec lesquelles se mélanger (0 signifie pas de mélange).
  • ring_size - entier non signé; Nombre de sorties à mélanger dans la transaction (cette sortie + N leurres depuis la chaîne de blocs).
  • unlock_time - entier non signé; Nombre de blocs avant que les Moneroj puissent être dépensés (0 pour ne pas ajouter de verrouillage).
  • payment_id - chaîne de caractères; (Optionnel) Chaîne de 64 caractères hexadécimaux ou 32 octets aléatoires pour identifier la transaction.
  • get_tx_key - booléen; (Optionnel) Retourne la clef de la transaction après l'envoi.
  • priority - entier non signé; Définir une priorité pour la transaction. Les valeurs acceptées sont de 0 à 3 respectivement pour les priorités par défaut, non-importante, normale et élevée.
  • do_not_relay - booléen; (Optionnel) Si true, la transaction nouvellement créée ne sera pas relayée sur le réseau Monero. (false par défaut)
  • get_tx_hex - booléen; Retourne la transaction sous forme de chaîne de caractères hexadécimale après l'envoi. (false par défaut)
  • new_algorithm - booléen; True pour utiliser le nouvel algorithme de construction de transaction, false par défaut.
  • get_tx_metadata - booléen; Retourne les métadonnées nécessaires pour relayer la transaction. (false par défaut)

Sorties :

  • tx_hash_list - liste de : chaîne de caractères. Le hachage de transaction de chaque transaction.
  • tx_key_list - liste de : chaîne de caractères. La clef de transaction de chaque transaction.
  • amount_list - liste de : integer. Le montant transféré dans chaque transaction.
  • fee_list - liste de : integer. Le montant des frais payés pour chaque transaction.
  • tx_blob_list - liste de : chaîne de caractères. La transaction sous forme de chaîne de caractères hexadécimale pour chaque transaction.
  • tx_metadata_list - liste de : chaîne de caractères. Liste de métadonnées de transaction nécessaires pour relayer les transactions plus tard.
  • multisig_txset - chaîne de caractères. Lot de transactions multi-signatures en attente d'être signées (vide si non-multi-signatures).
  • unsigned_txset - chaîne de caractères. Lot de transactions non-signées pour des besoins de signatures à froid.

Exemple :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer_split","params":{"destinations":[{"amount":1000000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"},{"amount":2000000000000,"address":"75sNpRwUtekcJGejMuLSGA71QFuK1qcCVLZnYRTfQLgFU5nJ7xiAHtR5ihioS53KMe8pBhH61moraZHyLoG4G7fMER8xkNv"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"get_tx_keys": true}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "amount_list": [3000000000000],
    "fee_list": [473710000],
    "multisig_txset": "",
    "tx_hash_list": ["4adcdc1af3f665770cdf8fb7a380887cd07ac53c2b771bd18df5ca375d5e7540"],
    "tx_key_list": ["5b455c0f97168be652a2c03c5c68a064bb84cdae4ddef01b5c48d73a0bbb27075fb714f2ca19ea6c8ff592417e606addea6deb1d6530e2969f75681ffcbfc4075677b94a8c9197963ae38fa6f543ee68f0a4c4bbda4c453f39538f00b28e980ea08509730b51c004960101ba2f3adbc34cbbdff0d5af9dba061b523090debd06"],
    "unsigned_txset": ""
  }
}

sign_transfer

Signer une transaction créée sur un portefeuille d'audit (dans le processus de signature à froid).

Alias : Aucun.

Entrées :

  • unsigned_txset - chaîne de caractères. Lot de transaction non-signée retourné par les méthodes transfer ou transfer_split.
  • export_raw - booléen; (Optionnel) Si true, retourne les données de transaction brut. (false par défaut)

Sorties :

  • signed_txset - chaîne de caractères. Lot de transaction signée à utiliser pour soumettre le transfert.
  • tx_hash_list - liste de : chaîne de caractères. Le hachage de transaction de chaque transaction.
  • tx_raw_list - liste de : chaîne de caractères. Les données de transaction brutes de chaque transaction.

Dans l'exemple ci-dessous, nous générons d'abord un unsigned_txset sur un portefeuille d'audit avant de le signer :

Générer un unsigned_txset en utilisant la méthode transfer ci-dessus sur un portefeuille d'audit :

curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params":{"destinations":[{"amount":1000000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"do_not_relay":true,"get_tx_hex":true}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "amount": 1000000000000,
    "fee": 15202740000,
    "multisig_txset": "",
    "tx_blob": "...long_hex...",
    "tx_hash": "c648ba0a049e5ce4ec21361dbf6e4b21eac0f828eea9090215de86c76b31d0a4",
    "tx_key": "",
    "tx_metadata": "",
    "unsigned_txset": "...long_hex..."
  }
}

Signer la transaction en utilisant le unsigned_txset précédemment généré :

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign_transfer","params":{"unsigned_txset":...long_hex..."}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "signed_txset": "...long_hex...",
    "tx_hash_list": ["ff2e2d49fbfb1c9a55754f786576e171c8bf21b463a74438df604b7fa6cebc6d"]
  }
}

submit_transfer

Soumettre une transaction préalablement signée sur un portefeuille d'audit (ans le processus de signature à froid).

Alias : Aucun.

Entrées :

  • tx_data_hex - chaîne de caractères; Lot de transaction signée renvoyé par sign_transfer.

Sorties :

  • tx_hash_list - liste de : chaîne de caractères. Le hachage de transaction de chaque transaction.

Dans l'exemple suivant, nous soumettons un transfert en utilisant le signed_txset généré plus haut :

curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"submit_transfer","params":{"tx_data_hex":...long_hex..."}}' -H 'Content-Type: application/json'
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "tx_hash_list": ["40fad7c828bb383ac02648732f7afce9adc520ba5629e1f5d9c03f584ac53d74"]
  }
}

sweep_dust

Renvoyer toutes les sorties résiduelles au portefeuille, pour les rendre plus facile à dépenser (et à mélanger).

Alias : sweep_unmixable.

Entrées :

  • get_tx_keys - booléen; (Optionnel) Retourne la clef de la transaction après l'envoi.
  • do_not_relay - booléen; (Optionnel) Si true, la nouvelle transaction ne sera pas relayée sur le réseau Monero. (false par défaut)
  • get_tx_hex - booléen; (Optionnel) Retourne les transactions sous forme de chaîne de caractères hexadécimales après l'envoi. (false par défaut)
  • get_tx_metadata - booléen; (Optionnel) Retourne la liste des métadonnées de transaction nécessaires pour relayer le transfert ultérieurement. (false par défaut)

Sorties :

  • tx_hash_list - liste de : chaîne de caractères. Le hachage de transaction de chaque transaction.
  • tx_key_list - liste de : chaîne de caractères. Les clefs de transaction de chaque transaction.
  • amount_list - liste de : integer. Le montant transféré dans chaque transaction.
  • fee_list - liste de : integer. Le montant des frais payés pour chaque transaction.
  • tx_blob_list - liste de : chaîne de caractères. La transaction sous forme de chaîne de caractères hexadécimale pour chaque transaction.
  • tx_metadata_list - liste de : chaîne de caractères. Liste des métadonnées de transaction nécessai