mirror of
https://git.wownero.com/lza_menace/wownero-python.git
synced 2024-08-15 03:25:25 +00:00
Add retrieval of transaction from daemon
This commit is contained in:
parent
df9dd7152b
commit
44d87be2e6
6 changed files with 208 additions and 0 deletions
61
utils/dumptx.py
Executable file
61
utils/dumptx.py
Executable file
|
@ -0,0 +1,61 @@
|
|||
#!/usr/bin/python
|
||||
import argparse
|
||||
import json
|
||||
import logging
|
||||
import operator
|
||||
import re
|
||||
import sys
|
||||
|
||||
from monero.backends.jsonrpc import JSONRPCDaemon
|
||||
from monero.daemon import Daemon
|
||||
|
||||
|
||||
def url_data(url):
|
||||
gs = re.compile(r"^(?P<host>[^:\s]+)(?::(?P<port>[0-9]+))?$").match(url).groupdict()
|
||||
return dict(filter(operator.itemgetter(1), gs.items()))
|
||||
|
||||
|
||||
argsparser = argparse.ArgumentParser(
|
||||
description="Retrieve transaction(s) from daemon and print them"
|
||||
)
|
||||
argsparser.add_argument("tx_id", nargs="+", type=str, help="Transaction id (hash)")
|
||||
argsparser.add_argument(
|
||||
"-d",
|
||||
dest="daemon_rpc_url",
|
||||
type=url_data,
|
||||
default="127.0.0.1:18081",
|
||||
help="Daemon RPC URL [host[:port]]",
|
||||
)
|
||||
argsparser.add_argument(
|
||||
"-t", dest="timeout", type=int, default=30, help="Request timeout"
|
||||
)
|
||||
argsparser.add_argument(
|
||||
"-v",
|
||||
dest="verbosity",
|
||||
action="count",
|
||||
default=0,
|
||||
help="Verbosity (repeat to increase; -v for INFO, -vv for DEBUG",
|
||||
)
|
||||
args = argsparser.parse_args()
|
||||
level = logging.WARNING
|
||||
if args.verbosity == 1:
|
||||
level = logging.INFO
|
||||
elif args.verbosity > 1:
|
||||
level = logging.DEBUG
|
||||
logging.basicConfig(level=level, format="%(asctime)-15s %(message)s")
|
||||
|
||||
d = Daemon(JSONRPCDaemon(timeout=args.timeout, **args.daemon_rpc_url))
|
||||
|
||||
txs = list(d.transactions(args.tx_id))
|
||||
print("Found {:d} transaction(s)".format(len(txs)))
|
||||
if len(txs) > 0:
|
||||
print("-" * 79)
|
||||
for tx in txs:
|
||||
print("id: {:s}".format(tx.hash))
|
||||
print(
|
||||
"height: {:s}".format("None" if tx.height is None else "{:d}".format(tx.height))
|
||||
)
|
||||
print("size: {:d}".format(tx.size))
|
||||
print("JSON:")
|
||||
print(json.dumps(tx.json, indent=2))
|
||||
print("-" * 79)
|
Loading…
Add table
Add a link
Reference in a new issue