Dokumenty Portfela RPC

Ta strona jest nieaktualna. Nie zalecamy korzystania z niej. Zamiast tego, przejdź do wersja po angielsku.

Wprowadzenie

Poniżej znajduje się lista funkcji monero-wallet-rpc, ich wejścia i wyniki oraz przykłady. Oprogramowanie monero-wallet-rpc zamieniło interfejs rpc, które znajdowało się w simplewallet, a później w monero-wallet-cli.

Wszystkie metody monero-wallet-rpc korzystają z tego samego interfejsu JSON RPC. Przykład:

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'

Jeśli funkcja monero-wallet-rpc została zastosowana z argumentem --rpc-login jako username:password, postępuj zgodnie z przykładem poniżej:

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'

Zauważ, że jednostki atomowe (atomic unit) są najmniejszą częścią 1 XMR, zgodnie z implementacją monerod. 1 XMR = 1e12 jednostek atomowych.

Lista metod JSON RPC:


Metody JSON RPC:

getbalance

Wyszukuje saldo portfela.

Wejście: brak.

Wynik:

  • balance - niepodpisana liczba całkowita; całkowite saldo aktualnego monero-wallet-rpc w sesji.
  • unlocked_balance - niepodpisana liczba całkowita; odblokowane środki to środki znajdujące się wystarczająco głęboko w łańcuchu bloków, aby mogły być bezpiecznie wydane.

Przykład:

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "balance": 140000000000,
    "unlocked_balance": 50000000000
  }
}

getaddress

Wyszukuje adres portfela.

Wejście: brak.

Wynik:

  • address - ciąg; 95-znakowy heksadecymalny ciąg zawierający adres monero-wallet-rpc w sesji.

Przykład:

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "address": "427ZuEhNJQRXoyJAeEoBaNW56ScQaLXyyQWgxeRL9KgAUhVzkvfiELZV7fCPBuuB2CGuJiWFQjhnhhwiH1FsHYGQGaDsaBA"
  }
}

getheight

Wyszukuje aktualną wysokość bloku portfela.

Wejście: brak.

Wynik:

  • height - niepodpisana liczba całkowita; aktualna wysokość łańcucha bloków dla monero-wallet-rpc. Jeśli portfel był off-ine przez dłuższy czas, możliwe, że będzie on potrzebował zaktualizować demona.

Przykład:

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "height": 994310
  }
}

transfer

Wysyła Monero do wielu odbiorców.

Wejście:

  • destinations - szereg odbiorców XMR:
    • amount - niepodpisana liczba całkowita; kwota do wysłania każdemu z odbiorców w jednostkach atomowych.
    • address - ciąg; adres publiczny odbiorcy.
  • fee - niepodpisana liczba całkowita; kwota opłaty, gdy zignorowana, zostanie obliczona automatycznie.
  • mixin - niepodpisana liczba całkowita; liczba wyjść łańcucha do zmiksowaniah (0 oznacza brak miksowania).
  • unlock_time - niepodpisana liczba całkowita; liczba bloków, które muszą minąć zanim Monero może zostać wydane (0 oznacza brak blokady).
  • payment_id - ciąg; (opcjonalny) losowy ciąg 32-bajtowy/64-znakowy heksadecymalny służący do identyfikacji transakcji.
  • get_tx_key - logiczny typ danych; (opcjonalny) wyszukuje klucz transakcji po jej wysłaniu.
  • priority - niepodpisana liczba całkowita; ustala pierwszeństwo transakcji. Akceptowanymi wartościami są 0-3 i oznaczają odpowiednio: domyślna, nieważna, normalna, ważniejsza, pierwszeństwo.
  • do_not_relay - logiczny typ danych; (ocpjonalny) Jeśli "true" - nowo utworzona transakcja nie zostanie przekazana sieci Monero (domyślnie ustawiono jako "false").
  • get_tx_hex - logiczny typ danych; wyszukuje transakcje jako ciąg heksadecymalny po jej wysłaniu.

Wynik:

  • fee - całkowita wartość opłaty poniesionej za dokonaną transakcję.
  • tx_hash - ciąg publicznie możliwego do wyszukania hasza transakcji.
  • tx_key - ciąg klucza transakcji, jeśli "get_tx_key" jest "true"; w innym przypadku - pusty ciąg.
  • tx_blob - transakcja jako ciąg heksadecymalny, jeśli "get_tx_hex" jest "true".

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params":{"destinations":[{"amount":100000000,"address":"9wNgSYy2F9qPZu7KBjvsFgZLTKE2TZgEpNFbGka9gA5zPmAXS35QzzYaLKJRkYTnzgArGNX7TvSqZC87tBLwtaC5RQgJ8rm"},{"amount":200000000,"address":"9vH5D7Fv47mbpCpdcthcjU34rqiiAYRCh1tYywmhqnEk9iwCE9yppgNCXAyVHG5qJt2kExa42TuhzQfJbmbpeGLkVbg8xit"}],"mixin":4,"get_tx_key": true}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "fee": 48958481211,
    "tx_hash": "985180f468637bc6d2f72ee054e1e34b8d5097988bb29a2e0cb763e4464db23c",
    "tx_key": "8d62e5637f1fcc9a8904057d6bed6c697618507b193e956f77c31ce662b2ee07"
  }
}

transfer_split

Funkcja podobna do "transfer", ale potrafi podzielić płatności na więcej niż jedną transakcję, jeśli to konieczne.

Wejście:

  • destinations - szereg odbiorców XMR:
    • amount - niepodpisana liczba całkowita; kwota do wysłania każdemu z odbiorców w jednostkach atomowych.
    • address - ciąg; adres publiczny odbiorcy.
  • fee - niepodpisana liczba całkowita; kwota opłaty, gdy zignorowana, zostanie obliczona automatycznie.
  • mixin - niepodpisana liczba całkowita; liczba wyjść łańcucha do zmiksowaniah (0 oznacza brak miksowania).
  • unlock_time - niepodpisana liczba całkowita; liczba bloków, które muszą minąć zanim Monero może zostać wydane (0 oznacza brak blokady).
  • payment_id - ciąg; (opcjonalny) losowy ciąg 32-bajtowy/64-znakowy heksadecymalny służący do identyfikacji transakcji.
  • get_tx_keys - logiczny typ danych; (opcjonalny) wyszukuje klucz transakcji po jej wysłaniu - do zignorowania.
  • priority - niepodpisana liczba całkowita; ustala pierwszeństwo transakcji. Akceptowanymi wartościami są 0-3 i oznaczają odpowiednio: domyślna, nieważna, normalna, ważniejsza, pierwszeństwo.
  • do_not_relay - logiczny typ danych; (ocpjonalny) Jeśli "true" - nowo utworzona transakcja nie zostanie przekazana sieci Monero (domyślnie ustawiono jako "false").
  • get_tx_hex - logiczny typ danych; wyszukuje transakcje jako ciąg heksadecymalny po jej wysłaniu.
  • new_algorithm - logiczny typ danych; jeśli "true" - używa algorytmu konstrukcji nowej transakcji, domyślnie ustalony jako "false".

Wynik:

  • fee_list - szereg: liczba całkowita. Kwota opłat za każdą transakcję.
  • tx_hash_list - szereg: ciąg. Hasze wszystkich transakcji.
  • tx_blob_list - szereg: ciąg. Transakcja jako ciąg heksadecymalny.
  • amount_list - szereg: liczba całkowita. Kwota przesłana w każdej transakcji.
  • tx_key_list - szereg: ciąg. Klucze wszystkich transakcji.

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer_split","params":{"destinations":[{"amount":100000000,"address":"9wNgSYy2F9qPZu7KBjvsFgZLTKE2TZgEpNFbGka9gA5zPmAXS35QzzYaLKJRkYTnzgArGNX7TvSqZC87tBwtaC5RQgJ8rm"},{"amount":200000000,"address":"9vH5D7Fv47mbpCpdcthcjU34rqiiAYRCh1tYywmhqnEk9iwCE9yppgNCXAyVHG5qJt2kExa42TuhzQfJbmbpeGLkVbg8xit"},{"amount":200000000,"address":"9vC5Q25cR1d3WzKX6dpTaLJaqZyDrtTnfadTmVuB1Wue2tyFGxUhiE4RGa74pEDJv7gSySzcd1Ao6G1nzSaqp78vLfP6MPj"},{"amount":200000000,"address":"A2MSrn49ziBPJBh8ZNEhhbfyLMou6mao4C1F5TLGUatmUnCxZArDYkcbAnVkVEopWVeak2rKDrmc8JpoS7n5dvfN9YDPBTG"},{"amount":200000000,"address":"9tEDyVQ8zgRQbDYiykTdpw5kZ6qWQWcKfExEj9eQshjpGb3sdr3UyWE2AHWzUGzJjaH9HN1DdGBdyQQ4AqGMc7rr5xYwZWW"}],"mixin":4,"get_tx_key": true, "new_algorithm": true}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "fee_list": [97916962422],
    "tx_hash_list": ["c5c389846e701c27aaf1f7ab8b9dc457b471fcea5bc9710e8020d51275afbc54"]
  }
}

sweep_dust

Przesyła wszystkie drobne wyniki z powrotem do portfela, aby ułatwić ich wydawanie oraz miksowanie.

Wejście: brak.

Wynik:

  • tx_hash_list - lista: ciąg

Przykład (w tym przypadku funkcja sweep_dust pokazuje błąd ze względu na niewystarczające środki):

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

{
  "error": {
    "code": -4,
    "message": "not enough money"
  },
  "id": "0",
  "jsonrpc": "2.0"
}

sweep_all

Przesyła wszystkie odblokowane środki na dany adres.

Wejście:

  • address - ciąg; adres publiczny odbiorcy.
  • priority - niepodpisana liczba całkowita; (opcjonalne)
  • mixin - niepodpisana liczba całkowita; liczba wyjść z łańcucha bloków do zmiksowania (0 oznacza brak miksowania).
  • unlock_time - niepodpisana liczba całkowita; liczba bloków, które muszą upłynąć, zanim Monero może zostać wydane (0 oznacza brak blokady).
  • payment_id - ciąg; (opcjonalne) Losowy 32-bajtowy/64-znakowy ciąg heksadecymalny służący do identyfikacji transakcji.
  • get_tx_keys - logiczny typ danych; (opcjonalne) wyszukuje klucze transakcji po jej dokonaniu.
  • below_amount - niepodpisana liczba całkowita; (opcjonalne)
  • do_not_relay - logiczny typ danych; (opcjonalne)
  • get_tx_hex - logiczny typ danych; (opcjonalne) pokazuje transakcje jako zakodowany heksadecymalnie ciąg.

Wynik:

  • tx_hash_list - szereg ciągów;
  • tx_key_list - szereg ciągów;
  • tx_blob_list - szereg ciągów;

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_all","params":{"address":"9sS8eRU2b5ZbN2FPSrpkiab1bjbHE5XtL6Ti6We3Fhw5aQPudRfVVypjgzKDNkxtvTQSPs122NKggb2mqcqkKSeMNVu59S","mixin":2,"unlock_time":0,"get_tx_keys":true}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "tx_hash_list": ["53a3648797d5524dd037d4105e067fa61468faecab41927fc43adbb26c202d22"],
    "tx_key_list": ["e83b3b78235e36cd7e4d9695efd81a3b3e64c7d1f1ebd61892f0a7add6a50301"]
  }
}

store

Zapisuje łańcuch bloków

Wejście: brak.

Wynik: brak.

Przykład:

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

get_payments

Pobiera listę płatności przychodzących za pomocą numeru identyfikacyjnego płatności.

Wejście:

  • payment_id - ciąg

Wynik:

  • payments - lista:
    • payment_id - ciąg
    • tx_hash - ciąg
    • amount - niepodpisana liczba całkowita
    • block_height - niepodpisana liczba całkowita
    • unlock_time - niepodpisana liczba całkowita

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_payments","params":{"payment_id":"4279257e0a20608e25dba8744949c9e1caff4fcdafc7d5362ecf14225f3d9030"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "payments": [{
      "amount": 10350000000000,
      "block_height": 994327,
      "payment_id": "4279257e0a20608e25dba8744949c9e1caff4fcdafc7d5362ecf14225f3d9030",
      "tx_hash": "c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1",
      "unlock_time": 0
    }]
  }
}

get_bulk_payments

Wyszukuje listę płatności przychodzących za pomocą numeru identyfikacyjnego płatności lub listy numerów identyfikacyjnych na danej wysokości. Metoda ta jest zalecana, w odróżnieniu od funkcji get_payments, ponieważ posiada tę samą funkcjonalność, ale jest bardziej rozszerzalna. Obie funkcje służą do wyszukiwania transakcji za pomocą pojedynczego numeru identyfikacyjnego.

Wejście:

  • payment_ids - szereg ciągu
  • min_block_height - niepodpisana liczba całkowita; wysokość bloku, od której rozpoczęto wyszukiwanie płatności.

Wynik:

  • payments - lista:
    • payment_id - ciągu
    • tx_hash - ciągu
    • amount - niepodpisanej liczby całkowitej
    • block_height - niepodpisanej liczby całkowitej
    • unlock_time - niepodpisanej liczby całkowitej

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_bulk_payments","params":{"payment_ids":["4279257e0a20608e25dba8744949c9e1caff4fcdafc7d5362ecf14225f3d9030"],"min_block_height":990000}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "payments": [{
      "amount": 10350000000000,
      "block_height": 994327,
      "payment_id": "4279257e0a20608e25dba8744949c9e1caff4fcdafc7d5362ecf14225f3d9030",
      "tx_hash": "c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1",
      "unlock_time": 0
    }]
  }
}

get_transfers

Wyszukuje listę transferów.

Wejście:

  • in - logiczny typ danych;
  • out - logiczny typ danych;
  • pending - logiczny typ danych;
  • failed - logiczny typ danych;
  • pool - logiczny typ danych;
  • filter_by_height - logiczny typ danych;
  • min_height - niepodpisana liczba całkowita;
  • max_height - niepodpisana liczba całkowita;

Wynik:

  • in szereg transferów:
    • txid - ciąg;
    • payment_id - ciąg;
    • height - niepodpisana liczba całkowita;
    • timestamp - niepodpisana liczba całkowita;
    • amount - niepodpisana liczba całkowita;
    • fee - niepodpisana liczba całkowita;
    • note - ciąg;
    • destinations - std::list;
    • type - ciąg;
  • out szereg transferów
  • pending szereg transferów
  • failed szereg transferów
  • pool szereg transferów

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_transfers","params":{"pool":true}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "pool": [{
      "amount": 500000000000,
      "fee": 0,
      "height": 0,
      "note": "",
      "payment_id": "758d9b225fda7b7f",
      "timestamp": 1488312467,
      "txid": "da7301d5423efa09fabacb720002e978d114ff2db6a1546f8b820644a1b96208",
      "type": "pool"
    }]
  }
}

get_transfer_by_txid

Wyszukuje informacje na temat transferów z/na dany adres.

Wejście:

  • txid - ciąg

Wynik:

  • transfer - obiekt JSON zawierający informacje o płatności:
    • amount - niepodpisana liczba całkowita
    • fee - niepodpisana liczba całkowita
    • height - niepodpisana liczba całkowita
    • note - ciąg
    • payment_id - ciąg
    • timestamp - niepodpisana liczba całkowita
    • txid - ciąg
    • type - ciąg

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_transfer_by_txid","params":{"txid":"f2d33ba969a09941c6671e6dfe7e9456e5f686eca72c1a94a3e63ac6d7f27baf"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "transfer": {
      "amount": 10000000000000,
      "fee": 0,
      "height": 1316388,
      "note": "",
      "payment_id": "0000000000000000",
      "timestamp": 1495539310,
      "txid": "f2d33ba969a09941c6671e6dfe7e9456e5f686eca72c1a94a3e63ac6d7f27baf",
      "type": "in"
    }
  }
}

incoming_transfers

Wyszukuje listę transferów przychodzących do portfela.

Wejście:

  • transfer_type - ciąg; "all": wszystkie transfery, "available": jedynie transfery jeszcze nie wydane LUB "unavailable": jedynie transfery już wydane.

Wynik:

  • transfers - lista:
    • amount - niepodpisana liczba całkowita
    • spent - logiczny typ danych
    • global_index - niepodpisana liczba całkowita; zazwyczaj do użytku wewnętrznego, może zostać zignorowana przez większość użytkowników.
    • tx_hash - ciąg; wiele transferów przychodzących może posiadać ten sam hasz, jeśli zawarte były w tej samej transakcji.
    • tx_size - niepodpisana liczba całkowita

Przykład (wszystkie rodzaje transakcji):

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"all"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "transfers": [{
      "amount": 10000000000000,
      "global_index": 711506,
      "spent": false,
      "tx_hash": "<c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1>",
      "tx_size": 5870
    },{
      "amount": 300000000000,
      "global_index": 794232,
      "spent": false,
      "tx_hash": "<c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1>",
      "tx_size": 5870
    },{
      "amount": 50000000000,
      "global_index": 213659,
      "spent": false,
      "tx_hash": "<c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1>",
      "tx_size": 5870
    }]
  }
}

Przykład (wszystkie transakcje "available"):

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"available"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "transfers": [{
      "amount": 10000000000000,
      "global_index": 711506,
      "spent": false,
      "tx_hash": "<c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1>",
      "tx_size": 5870
    },{
      "amount": 300000000000,
      "global_index": 794232,
      "spent": false,
      "tx_hash": "<c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1>",
      "tx_size": 5870
    },{
      "amount": 50000000000,
      "global_index": 213659,
      "spent": false,
      "tx_hash": "<c391089f5b1b02067acc15294e3629a463412af1f1ed0f354113dd4467e4f6c1>",
      "tx_size": 5870
    }]
  }
}

Przykład (wszystkie transakcje "unavailable". Zauważ, że w tym przypadku znaleziono 0 transakcji "unavailable"):

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"unavailable"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

query_key

Wyszukuje prywatny klucz wydawania lub widoczności.

Wejście:

  • key_type - ciąg; decyduje o rodzaju klucza do wyszukania: "mnemonic" - kod mnemoniczny (starsze portfele nie posiadają go) LUB "view_key" - klucz widoczności.

Wynik:

  • key - ciąg; klucz widoczności będzie zakodowany heksadecymalnie, a kod mnemoniczny będzie ciągiem słów.

Przykład (dla klucza widoczności):

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"query_key","params":{"key_type":"view_key"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "key": "7e341d..."
  }
}

Przykład (dla kodu mnemonicznego):

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"query_key","params":{"key_type":"mnemonic"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "key": "adapt adapt nostril ..."
  }
}

make_integrated_address

Tworzy adres zintegrowany złożony z adresu portfela i numeru identyfikacyjnego płatności.

Wejście:

  • payment_id - ciąg; zakodowany heksadecymalnie; może być pusty, co spowoduje wygenerowanie losowego numeru identyfikacyjnego płatności.

Wynik:

  • integrated_address - ciąg

Przykład (numer identyfikacyjny płatności jest pusty, użycie losowego numeru):

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "integrated_address": "4BpEv3WrufwXoyJAeEoBaNW56ScQaLXyyQWgxeRL9KgAUhVzkvfiELZV7fCPBuuB2CGuJiWFQjhnhhwiH1FsHYGQQ8H2RRJveAtUeiFs6J"
  }
}

split_integrated_address

Wyszukuje adres standardowy i numer identyfikacyjny płatności składające się na adres zintegrowany.

Wejście:

  • integrated_address - ciąg

Wynik:

  • standard_address - ciąg
  • payment - ciąg; zakodowany heksadecymalnie

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"split_integrated_address","params":{"integrated_address": "4BpEv3WrufwXoyJAeEoBaNW56ScQaLXyyQWgxeRL9KgAUhVzkvfiELZV7fCPBuuB2CGuJiWFQjhnhhwiH1FsHYGQQ8H2RRJveAtUeiFs6J"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "payment_id": "<420fa29b2d9a49f5>",
    "standard_address": "427ZuEhNJQRXoyJAeEoBaNW56ScQaLXyyQWgxeRL9KgAUhVzkvfiELZV7fCPBuuB2CGuJiWFQjhnhhwiH1FsHYGQGaDsaBA"
  }
}

stop_wallet

Zatrzymuje pracę portfela, zapisując jego aktualny stan.

Wejście: brak.

Wynik: brak.

Przykład:

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

make_uri

Tworzy URI płatności przy użyciu oficjalnych specyfikacji URI.

Wejście:

  • address - ciąg; adres portfela
  • amount (opcjonalne) - niepodpisana liczba całkowita; kwota do otrzymania w jednostkach atomowych
  • payment_id (opcjonalne) - ciąg; numer identyfikacyjny płatności jako 16- lub 64-znakowy ciąg heksadecymalny
  • recipient_name (opcjonalne) - ciąg; nazwa odbiorcy płatności
  • tx_description (opcjonalne) - ciąg; tytuł transakcji

Wynik:

  • uri - ciąg zawierający wszystkie informacje na temat wejścia płatności jako odpowiednio sformatowany URI

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_uri","params":{"address":"44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A","amount":10,"payment_id":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef","tx_description":"Testing out the make_uri function.","recipient_name":"Monero Project donation address"}}'  -H 'Content-Type: application/json'

{
  "id": 0,
  "jsonrpc": "2.0",
  "result": {
    "uri": "monero:44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A?tx_payment_id=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef&tx_amount=0.000000000010&recipient_name=Monero%20Project%20donation%20address&tx_description=Testing%20out%20the%20make_uri%20function."
  }
}

parse_uri

Analizuje URI płatności w celu uzyskania informacji na jej temat.

Wejście:

  • uri - ciąg zawierający wszystkie informacje na temat wejścia płatności jako odpowiednio sformatowany URI

Wynik:

  • uri - obiekt JSON zawierający informacje na temat płatności:
    • address - ciąg; adres portfela
    • amount - kwota do otrzymania w jednostkach monetarnych (0 jeśli brak informacji)
    • payment_id - numer identyfikacyjny płatności jako 16- lub 64-znakowy ciąg heksadecymalny (zostawić puste, jeśli brak informacji)
    • recipient_name - ciąg; nazwa odbiorcy płatności (zostawić puste, jeśli brak informacji)
    • tx_description - ciąg; tytuł płatności (zostawić puste, jeśli brak informacji)

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"parse_uri","params":{"uri":"monero:44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A?tx_payment_id=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef&tx_amount=0.000000000010&recipient_name=Monero%20Project%20donation%20address&tx_description=Testing%20out%20the%20make_uri%20function."}}' -H 'Content-Type: application/json'

{
  "id": 0,
  "jsonrpc": "2.0",
  "result": {
    "uri": {
      "address": "44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A",
      "amount": 10,
      "payment_id": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "recipient_name": "Monero Project donation address",
      "tx_description": "Testing out the make_uri function."
    }
  }
}

rescan_blockchain

Skanuje łańcuch bloków od początku.

Wejście: brak.

Wynik: brak.

Przykład:

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

set_tx_notes

Ustanawia dowolny ciąg adnotacji transakcji.

Wejście:

  • txids - szereg ciągów; numery identyfikacyjne transakcji
  • notes - szereg ciągów; adnotacje do transakcji

Wynik: brak.

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_tx_notes","params":{"txids":["6a1a100c079c236e2cbf36f7760e8ef1a9e8357c434aa790a8c78de653ec4cf2"],"notes":["This is an example"]}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

get_tx_notes

Wyszukuje ciągi adnotacji transakcji.

Wejście:

  • txids - szereg ciągów; numery identyfikacyjne transakcji

Wynik:

  • notes - szereg ciągów; adnotacje do transakcji

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_tx_notes","params":{"txids":["6a1a100c079c236e2cbf36f7760e8ef1a9e8357c434aa790a8c78de653ec4cf2"]}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "notes": ["This is an example"]
  }
}

sign

Podpisuje dany ciąg.

Wejście:

  • data - ciąg;

Wynik:

  • signature - ciąg;

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign","params":{"data":"This is sample data to be signed"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "signature": "SigV1Xp61ZkGguxSCHpkYEVw9eaWfRfSoAf36PCsSCApx4DUrKWHEqM9CdNwjeuhJii6LHDVDFxvTPijFsj3L8NDQp1TV"
  }
}

verify

Weryfikuje podpis ciągu.

Wejście:

  • data - ciąg;
  • address - ciąg;
  • signature - ciąg;

Wynik:

  • good - logiczny typ danych;

Przykład:

$ curl -X POST http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"verify","params":{"data":"This is sample data to be signed","address":"9sS8eRU2b5ZbN2FPSrpkiab1bjbHE5XtL6Ti6We3Fhw5aQPudRfVVypjgzKDNkxtvTQZSPs122NKggb2mqcqkKSeMNVu59S","signature":"SigV1Xp61ZkGguxSCHpkYEVw9eaWfRfSoAf36PCsSCApx4DUrKWHEqM9CdNwjeuhJii6LHDVDFxvTPijFsj3L8NDQp1TV"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "good": true
  }
}

export_key_images

Eksportuje podpisany zestaw obrazów klucza.

Wejście: brak.

Wynik:

  • signed_key_images - szereg podpisanych obrazów klucza:
    • key_image - ciąg;
    • signature - ciąg;

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"export_key_images"}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "signed_key_images": [{
      "key_image": "62b83df78baad99e23b5ad3f667bc6f8d388a13d9e84c7bb6c223a556dfd34af",
      "signature": "b87b7e989aa85aa3a2a7cd8adcb3a848d3512ff718b168e15217ff3e5da29c0183c0328b97cc052fcb5ee3548aa5e41e530ba9d854199ea19d7ddaf6a54a4c0a"
    }]
  }
}

import_key_images

Importuje listy podpisanych obrazów klucza i weryfikuje, czy zostały wydane.

Wejście:

  • signed_key_images - szereg podpisanych obrazów klucza:
    • key_image - ciąg;
    • signature - ciąg;

Wynik:

  • height - niepodpisana liczba całkowita;
  • spent - niepodpisana liczba całkowita;
  • unspent - niepodpisana liczba całkowita;

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"import_key_images", "params":{"signed_key_images":[{"key_image":"63b83df78cafd99e23b5ad3f667bc6f8d38813d9e84c7bb6c223a556dfd34af","signature":"b87b7e989aa86aa2a7a7cd8adcb3a848d3512ff718b168e15217ff3e5da29c0183c0328b97cc052fcb5ee3548aa5e41e530ba9d854199ea19d7ddaf6a54a4c0a"},{"key_image":"44ec12fbc56c533a30b09de8ae26febd515528c4957dfe875430377a7e212b4e","signature":"91105f15be0b25bc2a94bd78a7e261608974d6d888080b9f1815655b98af190340325ea1a0840a5951dacf913d4de1b2bd33ea59c1cb7bce1b6648afa7133d03"}]}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "height": 986050,
    "spent": 10000100000000,
    "unspent": 4979852760000
  }
}

get_address_book

Wyszukuje wpisy do książki adresowej.

Wejście:

  • entries - szereg niepodpisanych liczb całkowitych; znaczniki żądanych wpisów do książki adresowej

Wynik:

  • entries - szereg wpisów:
    • address - ciąg;
    • description - ciąg;
    • index - niepodpisana liczba całkowita;
    • payment_id - ciąg;

Przykład:

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

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "entries": [{
      "address": "A135xq3GVMdU5qtAm4hN7zjPgz8bRaiSUQmtuDdjZ6CgXayvQruJy3WPe95qj873JhK4YdTQjoR39Leg6esznQk8PckhjRN",
      "description": "",
      "index": 1,
      "payment_id": "0000000000000000000000000000000000000000000000000000000000000000"
    },{
      "address": "A135xq3GVMdU5qtAm4hN7zjPgz8bRaiSUQmtuDdjZ6CgXayvQruJy3WPe95qj873JhK4YdTQjoR39Leg6esznQk8PckhjRN",
      "description": "",
      "index": 2,
      "payment_id": "0000000000000000000000000000000000000000000000000000000000000000"
    }]
  }
}

add_address_book

Dodaje wpis do książki adresowej.

Wejście:

  • address - ciąg;
  • payment_id - (opcjonalne) ciąg, domyślnie jako "0000000000000000000000000000000000000000000000000000000000000000";
  • description - (opcjonalne) ciąg, domyślnie jako "";

Wynik:

  • index - niepodpisana liczba całkowita; znacznik wpisu do książki adresowej.

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"add_address_book","params":{"address":"44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A","description":"Donation address for the Monero project"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "index": 2
  }
}

delete_address_book

Usuwa wpis do książki adresowej.

Wejście:

  • index - niepodpisana liczba całkowita; znacznik wpisu do książki adresowej.

Wynik: brak.

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"delete_address_book","params":{"index":0}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

rescan_spent

Skanuje łańcuch bloków w poszukiwaniu wydanych wyjść.

Wejście: brak.

Wynik: brak.

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"rescan_spent"}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

start_mining

Rozpoczyna wydobywanie w demonie Monero.

Wejście:

  • threads_count - niepodpisana liczba całkowita; liczba pasm stworzonych do wydobycia
  • do_background_mining - logiczny typ danych;
  • ignore_battery - logiczny typ danych;

Wynik: brak.

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"start_mining","params":{"threads_count":1,"do_background_mining":true,"ignore_battery":true}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

stop_mining

Przerywa wydobywanie w demonie Monero.

Wejście: brak.

Wynik: brak.

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"stop_mining"}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

get_languages

Wyszukuje listę dostępnych wersji językowych portfela.

Wejście: brak.

Wynik:

  • languages - szereg ciągów; lista dostępnych języków

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_languages"}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "languages": ["Deutsch","English","Español","Français","Italiano","Nederlands","Português","русский язык","日本語","简体中文 (中国)","Esperanto"]
  }
}

create_wallet

Tworzy nowy portfel.Create a new wallet. Argument "–wallet-dir" musi zostać ustawiony przy uruchamianiu monero-wallet-rpc, aby funkcja zadziałała.

Wejście:

  • filename - ciąg;
  • password - ciąg;
  • language - ciąg; język twojego portfela

Wynik: brak.

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_wallet","params":{"filename":"mytestwallet","password":"mytestpassword","language":"English"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}

open_wallet

Otwiera portfel. Argument "–wallet-dir" musi zostać ustawiony przy uruchamianiu monero-wallet-rpc, aby funkcja zadziałała.

Wejście:

  • filename - ciąg;
  • password - ciąg;

Wynik: brak.

Przykład:

$ curl -X POST http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"open_wallet","params":{"filename":"mytestwallet","password":"mytestpassword"}}' -H 'Content-Type: application/json'

{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
  }
}