From 0d4a8777e65215c5f63d6f0ac06c34de2010114b Mon Sep 17 00:00:00 2001 From: Daniel Edgecumbe Date: Wed, 27 Sep 2017 06:30:09 +0100 Subject: [PATCH] Initial commit --- .gitignore | 6 + COPYING | 19 +++ README.md | 64 ++++++++ config.py | 20 +++ footer.py | 65 ++++++++ header.py | 151 ++++++++++++++++++ img/3BYFucUnVNhZjUDf6tZweuZ5r9PPjPEcRv.png | Bin 0 -> 2160 bytes img/bitcoind-ncurses2.gif | Bin 0 -> 66065 bytes img/monitor.png | Bin 0 -> 55923 bytes img/peers.png | Bin 0 -> 65139 bytes interface.py | 28 ++++ macros.py | 12 ++ main.py | 169 +++++++++++++++++++++ monitor.py | 155 +++++++++++++++++++ peers.py | 105 +++++++++++++ requirements.txt | 2 + rpc.py | 113 ++++++++++++++ 17 files changed, 909 insertions(+) create mode 100644 .gitignore create mode 100644 COPYING create mode 100644 README.md create mode 100644 config.py create mode 100644 footer.py create mode 100644 header.py create mode 100644 img/3BYFucUnVNhZjUDf6tZweuZ5r9PPjPEcRv.png create mode 100644 img/bitcoind-ncurses2.gif create mode 100644 img/monitor.png create mode 100644 img/peers.png create mode 100644 interface.py create mode 100644 macros.py create mode 100644 main.py create mode 100644 monitor.py create mode 100644 peers.py create mode 100644 requirements.txt create mode 100644 rpc.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5a16313 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.pyc +__pycache__ +*.swp +*.log +*.conf +.ropeproject diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..207a600 --- /dev/null +++ b/COPYING @@ -0,0 +1,19 @@ +Copyright (c) 2014-2017 esotericnonsense (Daniel Edgecumbe) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..93a8ff0 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# bitcoind-ncurses2 v0.2.0-dev + +## This repository is under heavy development. Safety not guaranteed. + +Python ncurses front-end for bitcoind. Uses the JSON-RPC API. + +![ScreenShot](/img/bitcoind-ncurses2.gif) + +- esotericnonsense (Daniel Edgecumbe) + +## Dependencies + +* Developed with python 3.6.2, Bitcoin Core 0.15.0.1 +* PyPi packages: aiohttp and async-timeout (see requirements.txt) + +## Features + +* Updating monitor mode showing bitcoind's status, including: +* Current block information: hash, height, fees, timestamp, age, diff, ... +* Wallet balance +* Total bandwidth used (up / down) +* Connected peers, IP addresses, user agents, ... + +## Installation and usage + +``` +git clone https://github.com/esotericnonsense/bitcoind-ncurses2 +``` + +``` +pip install -r bitcoind-ncurses2/requirements.txt +``` +or, on Arch Linux: +``` +pacman -S python-aiohttp python-async-timeout +``` + +``` +cd bitcoind-ncurses2 +python3 main.py +``` + +bitcoind-ncurses2 will automatically use the cookie file available in +~/.bitcoin/, or the RPC settings in ~/.bitcoin/bitcoin.conf. To use a different +datadir, specify the --datadir flag: + +``` +python3 main.py --datadir /some/path/to/your/datadir +``` + +This is an early development release and a complete rewrite of the original +bitcoind-ncurses. Expect the unexpected. + +Donations +--------- + +If you have found bitcoind-ncurses2 useful, please consider donating. + +All funds go towards the operating costs of my hardware and future +Bitcoin development projects. + +![ScreenShot](/img/3BYFucUnVNhZjUDf6tZweuZ5r9PPjPEcRv.png) + +**bitcoin 3BYFucUnVNhZjUDf6tZweuZ5r9PPjPEcRv** diff --git a/config.py b/config.py new file mode 100644 index 0000000..783e429 --- /dev/null +++ b/config.py @@ -0,0 +1,20 @@ +# Copyright (c) 2014-2017 esotericnonsense (Daniel Edgecumbe) +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php + + +def parse_file(filename): + with open(filename, "r") as f: + cfg = {} + for line in f: + line = line.strip() + if line and not line.startswith("#"): + try: + # replace maintains compatibility with older config files + (key, value) = line.replace(' = ', '=').split('=', 1) + cfg[key] = value + except ValueError: + # Happens when line has no '=', ignore + pass + + return cfg diff --git a/footer.py b/footer.py new file mode 100644 index 0000000..5cdc816 --- /dev/null +++ b/footer.py @@ -0,0 +1,65 @@ +# Copyright (c) 2014-2017 esotericnonsense (Daniel Edgecumbe) +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php + +import curses + +from macros import MODES + + +class FooterView(object): + def __init__(self): + self._pad = None + + self._mode = None + self._dt = None + + self._callbacks = set() + + def add_callback(self, callback): + self._callbacks.add(callback) + + def draw(self): + # TODO: figure out window width etc. + if self._pad is None: + self._pad = curses.newpad(2, 100) + else: + self._pad.clear() + + CYELLOW = curses.color_pair(5) + CREVERSE = curses.A_REVERSE + + x = 1 + for mode_string in MODES: + first_char, rest = mode_string[0], mode_string[1:] + modifier = curses.A_BOLD + if self._mode == mode_string: + # first_char = first_char.upper() + modifier += CREVERSE + self._pad.addstr(0, x, first_char, modifier + CYELLOW) + self._pad.addstr(0, x+1, rest, modifier) + x += len(mode_string) + 4 + + if self._dt: + self._pad.addstr(0, 81, self._dt.isoformat(timespec="seconds")[:19]) + + self._pad.refresh(0, 0, 25, 0, 27, 100) + + async def on_mode_change(self, newmode, seek=None): + if seek is not None: + assert newmode is None + if self._mode is None: + return + idx = MODES.index(self._mode) + idx = (idx + seek) % len(MODES) + newmode = MODES[idx] + + self._mode = newmode + self.draw() + + for callback in self._callbacks: + await callback(newmode) + + async def on_tick(self, dt): + self._dt = dt + self.draw() diff --git a/header.py b/header.py new file mode 100644 index 0000000..84ffa1c --- /dev/null +++ b/header.py @@ -0,0 +1,151 @@ +# Copyright (c) 2014-2017 esotericnonsense (Daniel Edgecumbe) +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php + +import curses +import platform + +from macros import VERSION_STRING + + +class HeaderView(object): + def __init__(self): + # one larger than we will ever draw otherwise we can't populate + # the bottom-right + self._pad = curses.newpad(2, 101) + + self._platform = "{} {} {}".format( + platform.system(), + platform.release(), + platform.machine(), + ) + + self._subversion = None + self._chain = None + self._connectioncount = None + self._nettotals = None + self._balance = None + + def draw(self): + # TODO: figure out window width etc. + + self._pad.clear() + + CGREEN = curses.color_pair(1) + CCYAN = curses.color_pair(2) + CRED = curses.color_pair(3) + CYELLOW = curses.color_pair(5) + CBOLD = curses.A_BOLD + + colors = { + "main": CGREEN + CBOLD, + "test": CCYAN + CBOLD, + "regtest": CRED + CBOLD, + } + currencies = { + "main": "BTC", + "test": "tBC", + "regtest": "rBC", + } + version_color = colors.get(self._chain, CBOLD) + currency = currencies.get(self._chain, "???") + chn = self._chain if self._chain is not None else "???" + + self._pad.addstr(0, 1, "{} ({})".format( + VERSION_STRING[:30], + chn + ), version_color) + + if self._connectioncount is not None: + if self._connectioncount > 8: + peercolor = CGREEN + CBOLD + elif self._connectioncount > 0: + peercolor = CBOLD + else: + peercolor = CRED + CBOLD + + self._pad.addstr(0, 37, "{: 4d} {}".format( + self._connectioncount, + "peers" if self._connectioncount != 1 else "peer" + ), peercolor) + + if self._subversion: + self._pad.addstr(1, 1, "{} / {}".format( + self._platform[:27], + self._subversion.strip("/").strip(":")[:18] + ), version_color) + + if self._nettotals is not None: + self._pad.addstr(0, 51, "Up: {: 9.2f} MB".format( + self._nettotals[1] / 1048576, + ), CBOLD + CCYAN) + self._pad.addstr(1, 51, "Down: {: 9.2f} MB".format( + self._nettotals[0] / 1048576, + ), CBOLD + CGREEN) + + if self._balance is not None: + self._pad.addstr(0, 82, "{: 14.8f} {}".format( + self._balance[0], + currency + ), CBOLD) + + # We only show unconfirmed if we have both unc/imm. So it goes. + if self._balance[1] != 0: + self._pad.addstr(1, 69, "unconfirmed: {: 14.8f} {}".format( + self._balance[1], + currency, + ), CBOLD + CYELLOW) + elif self._balance[2] != 0: + self._pad.addstr(1, 72, "immature: {: 14.8f} {}".format( + self._balance[2], + currency, + ), CBOLD + CRED) + else: + self._pad.addstr(0, 74, "wallet disabled") + + self._pad.refresh(0, 0, 1, 0, 2, 100) + + async def on_networkinfo(self, key, obj): + try: + self._subversion = obj["result"]["subversion"] + except KeyError: + pass + + self.draw() + + async def on_blockchaininfo(self, key, obj): + try: + self._chain = obj["result"]["chain"] + except KeyError: + pass + + self.draw() + + async def on_peerinfo(self, key, obj): + try: + self._connectioncount = len(obj["result"]) + except KeyError: + pass + + self.draw() + + async def on_nettotals(self, key, obj): + try: + tbr = obj["result"]["totalbytesrecv"] + tbs = obj["result"]["totalbytessent"] + self._nettotals = (tbr, tbs) + except KeyError: + pass + + self.draw() + + async def on_walletinfo(self, key, obj): + try: + bal = obj["result"]["balance"] + ubal = obj["result"]["unconfirmed_balance"] + ibal = obj["result"]["immature_balance"] + self._balance = (bal, ubal, ibal) + except KeyError: + pass + + self.draw() diff --git a/img/3BYFucUnVNhZjUDf6tZweuZ5r9PPjPEcRv.png b/img/3BYFucUnVNhZjUDf6tZweuZ5r9PPjPEcRv.png new file mode 100644 index 0000000000000000000000000000000000000000..7b47709d78fa822579d23820014a0aef4870bada GIT binary patch literal 2160 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 X4F5nzd0O**u*P{_02vVg0ImN6SdpX+ literal 0 HcmV?d00001 diff --git a/img/monitor.png b/img/monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5aece84627b7b962507aff2aab5257176f00d8 GIT binary patch literal 55923 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 1: + return + + lower = key.lower() + + for mode in MODES: + if mode[0] == lower: + await callback(mode) + + first = True + while True: + # This is basically spinning which is really annoying. + # TODO: find a way of having async blocking getch/getkey. + try: + key = window.getkey() + except Exception: + # This is bonkers and I don't understand it. + if first: + await callback(DEFAULT_MODE) + first = False + + await asyncio.sleep(0.05) + continue + + await handle_key(key) + + +async def poll_client(client, method, callback, sleeptime): + # Allow the rest of the program to start. + await asyncio.sleep(0.1) + + while True: + j = await client.request(method) + await callback(method, j) + await asyncio.sleep(sleeptime) + + +async def tick(callback, sleeptime): + # Allow the rest of the program to start. + await asyncio.sleep(0.1) + + while True: + dt = datetime.datetime.utcnow() + await callback(dt) + await asyncio.sleep(sleeptime) + + +def initialize(): + # parse commandline arguments + parser = argparse.ArgumentParser() + parser.add_argument("--datadir", + help="path to bitcoin datadir [~/.bitcoin/]", + default=os.path.expanduser("~/.bitcoin/")) + args = parser.parse_args() + + url = rpc.get_url_from_datadir(args.datadir) + auth = rpc.get_auth_from_datadir(args.datadir) + client = rpc.BitcoinRPCClient(url, auth) + + return client + + +def check_disablewallet(client): + """ Check if the wallet is enabled. """ + + # Ugly, a synchronous RPC request mechanism would be nice here. + x = asyncio.gather(client.request("getwalletinfo")) + loop = asyncio.get_event_loop() + loop.run_until_complete(x) + + try: + x.result()[0]["result"]["walletname"] + except (KeyError, TypeError): + return True + + return False + + +def create_tasks(client, window): + headerview = header.HeaderView() + footerview = footer.FooterView() + + monitorview = monitor.MonitorView(client) + peerview = peers.PeersView() + footerview.add_callback(monitorview.on_mode_change) + footerview.add_callback(peerview.on_mode_change) + + async def on_peerinfo(key, obj): + await headerview.on_peerinfo(key, obj) + await peerview.on_peerinfo(key, obj) + + async def on_tick(dt): + await footerview.on_tick(dt) + await monitorview.on_tick(dt) + + tasks = [ + poll_client(client, "getbestblockhash", + monitorview.on_bestblockhash, 1.0), + poll_client(client, "getblockchaininfo", + headerview.on_blockchaininfo, 5.0), + poll_client(client, "getnetworkinfo", + headerview.on_networkinfo, 5.0), + poll_client(client, "getnettotals", + headerview.on_nettotals, 5.0), + poll_client(client, "getpeerinfo", + on_peerinfo, 5.0), + tick(on_tick, 1.0), + handle_hotkeys(window, footerview.on_mode_change) + ] + + if not check_disablewallet(client): + tasks.append( + poll_client(client, "getwalletinfo", headerview.on_walletinfo, 1.0) + ) + + return tasks + + +def mainfn(): + client = initialize() + + try: + window = interface.init_curses() + tasks = create_tasks(client, window) + + loop = asyncio.get_event_loop() + t = asyncio.gather(*tasks) + loop.run_until_complete(t) + + finally: + try: + loop.close() + except BaseException: + pass + interface.end_curses() + + +if __name__ == "__main__": + mainfn() diff --git a/monitor.py b/monitor.py new file mode 100644 index 0000000..f46d6ca --- /dev/null +++ b/monitor.py @@ -0,0 +1,155 @@ +# Copyright (c) 2014-2017 esotericnonsense (Daniel Edgecumbe) +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php + +import datetime +import math +import curses +import asyncio +from decimal import Decimal + + +class MonitorView(object): + def __init__(self, client): + self._client = client + + self._pad = None + + self._visible = False + + self._lock = asyncio.Lock() + self._bestblockhash = None + self._bestblockheader = None # raw json blockheader + self._bestblock = None # raw json block + self._bestcoinbase = None # raw json tx + self._dt = None + + def _draw(self): + # TODO: figure out window width etc. + + if self._pad is not None: + self._pad.clear() + else: + self._pad = curses.newpad(20, 100) + + if self._bestblockheader: + bbh = self._bestblockheader + self._pad.addstr(0, 1, "Height: {: 8d}".format(bbh["height"])) + self._pad.addstr(0, 36, bbh["hash"]) + + if self._bestblock: + bb = self._bestblock + self._pad.addstr(1, 1, "Size: {: 8d} bytes Weight: {: 8d} WU".format( + bb["size"], + bb["weight"] + )) + + self._pad.addstr(1, 64, "Block timestamp: {}".format( + datetime.datetime.utcfromtimestamp(bb["time"]), + )) + + if self._dt: + stampdelta = int( + (self._dt - datetime.datetime.utcfromtimestamp(bb["time"])) + .total_seconds()) + + if stampdelta > 3600*3: # probably syncing + stampdelta_string = " (syncing)" + + elif stampdelta > 0: + m, s = divmod(stampdelta, 60) + h, m = divmod(m, 60) + d, h = divmod(h, 24) + stampdelta_string = "({:d}d {:02d}:{:02d}:{:02d} by stamp)".format(d,h,m,s) + + else: + stampdelta_string = " (stamp in future)" + + self._pad.addstr(2, 64, "Age: {}".format( + stampdelta_string)) + + self._pad.addstr(2, 1, "Transactions: {} ({} bytes/tx, {} WU/tx)".format( + len(bb["tx"]), + bb["size"] // len(bb["tx"]), + bb["weight"] // len(bb["tx"]), + )) + + if self._bestcoinbase: + bcb = self._bestcoinbase + reward = sum(vout["value"] for vout in bcb["vout"]) + + # TODO: if chain is regtest, this is different + halvings = bb["height"] // 210000 + block_subsidy = Decimal(50 * (0.5 ** halvings)) + + total_fees = Decimal(reward) - block_subsidy + + self._pad.addstr(4, 1, "Block reward: {:.6f} BTC".format( + reward)) + + if len(bb["tx"]) > 1: + if reward > 0: + fee_pct = total_fees * 100 / Decimal(reward) + else: + fee_pct = 0 + mbtc_per_tx = (total_fees / (len(bb["tx"]) - 1)) * 1000 + + # 80 bytes for the block header. + total_tx_size = bb["size"] - 80 - bcb["size"] + if total_tx_size > 0: + sat_per_kb = ((total_fees * 1024) / total_tx_size) * 100000000 + else: + sat_per_kb = 0 + self._pad.addstr(4, 34, "Fees: {: 8.6f} BTC ({: 6.2f}%, avg {: 6.2f} mBTC/tx, ~{: 7.0f} sat/kB)".format(total_fees, fee_pct, mbtc_per_tx, sat_per_kb)) + + self._pad.addstr(6, 1, "Diff: {:,}".format( + int(bb["difficulty"]), + )) + self._pad.addstr(7, 1, "Chain work: 2**{:.6f}".format( + math.log(int(bb["chainwork"], 16), 2), + )) + + self._pad.refresh(0, 0, 4, 0, 24, 100) + + async def draw(self): + with await self._lock: + self._draw() + + async def on_bestblockhash(self, key, obj): + try: + bestblockhash = obj["result"] + except KeyError: + return + + draw = False + with await self._lock: + if bestblockhash != self._bestblockhash: + draw = True + self._bestblockhash = bestblockhash + + j = await self._client.request("getblockheader", [bestblockhash]) + self._bestblockheader = j["result"] + + j = await self._client.request("getblock", [bestblockhash]) + self._bestblock = j["result"] + + j = await self._client.request("getrawtransaction", [j["result"]["tx"][0], 1]) + self._bestcoinbase = j["result"] + + if draw and self._visible: + await self.draw() + + async def on_tick(self, dt): + with await self._lock: + self._dt = dt + + if self._visible: + await self.draw() + + async def on_mode_change(self, newmode): + if newmode != "monitor": + self._visible = False + return + + self._visible = True + await self.draw() diff --git a/peers.py b/peers.py new file mode 100644 index 0000000..2cee7e9 --- /dev/null +++ b/peers.py @@ -0,0 +1,105 @@ +# Copyright (c) 2014-2017 esotericnonsense (Daniel Edgecumbe) +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php + +import datetime +import time +import math +import curses +import asyncio + + +class PeersView(object): + def __init__(self): + self._pad = None + self._visible = False + self._peerinfo = None # raw data from getpeerinfo + + def draw(self): + # TODO: figure out window width etc. + + if self._pad is not None: + self._pad.clear() + else: + self._pad = curses.newpad(20, 100) # y, x + + if self._peerinfo: + po = self._peerinfo + + self._pad.addstr(0, 1, "Node IP Version Recv Sent Time Height", curses.A_BOLD + curses.color_pair(5)) + + window_height = 20 + offset = 0 + for index in range(offset, offset+window_height): + if index < len(po): + peer = po[index] + + condition = (index == offset+window_height-1) and (index+1 < len(state['peerinfo'])) + condition = condition or ( (index == offset) and (index > 0) ) + + if condition: + # scrolling up or down is possible + self._pad.addstr(1+index-offset, 3, "...") + + else: + if peer['inbound']: + self._pad.addstr(1+index-offset, 1, 'I') + + elif 'syncnode' in peer: + if peer['syncnode']: + # syncnodes are outgoing only + self._pad.addstr(1+index-offset, 1, 'S') + + addr_str = peer['addr'].replace(".onion","").replace(":8333","").replace(": 18333","").strip("[").strip("]") + + # truncate long ip addresses (ipv6) + addr_str = (addr_str[:17] + '...') if len(addr_str) > 20 else addr_str + + self._pad.addstr(1+index-offset, 1, addr_str) + self._pad.addstr(1+index-offset, 22, + peer['subver'][1:40][:-1] + ) + + mbrecv = "% 7.1f" % ( float(peer['bytesrecv']) / 1048576 ) + mbsent = "% 7.1f" % ( float(peer['bytessent']) / 1048576 ) + + self._pad.addstr(1+index-offset, 60, mbrecv + 'MB') + self._pad.addstr(1+index-offset, 70, mbsent + 'MB') + + timedelta = int(time.time() - peer['conntime']) + m, s = divmod(timedelta, 60) + h, m = divmod(m, 60) + d, h = divmod(h, 24) + + time_string = "" + if d: + time_string += ("%d" % d + "d").rjust(3) + " " + time_string += "%02d" % h + ":" + elif h: + time_string += "%02d" % h + ":" + time_string += "%02d" % m + ":" + time_string += "%02d" % s + + self._pad.addstr(1+index-offset, 79, time_string.rjust(12)) + + if 'synced_headers' in peer: + self._pad.addstr(1+index-offset, 93, str(peer['synced_headers']).rjust(7) ) + + self._pad.refresh(0, 0, 4, 0, 24, 100) + + async def on_peerinfo(self, key, obj): + try: + self._peerinfo = obj["result"] + except KeyError: + return + + if self._visible: + self.draw() + + async def on_mode_change(self, newmode): + if newmode != "peers": + self._visible = False + return + + self._visible = True + self.draw() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ae3274a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +aiohttp>=2.2.5 +async-timeout>=1.4.0 diff --git a/rpc.py b/rpc.py new file mode 100644 index 0000000..07b1f19 --- /dev/null +++ b/rpc.py @@ -0,0 +1,113 @@ +# Copyright (c) 2014-2017 esotericnonsense (Daniel Edgecumbe) +# Distributed under the MIT software license, see the accompanying +# file COPYING or https://opensource.org/licenses/mit-license.php + +import aiohttp +import async_timeout +import base64 +import os + +import ujson as json + +import config + + +def craft_url(proto, ip, port): + return "{}://{}:{}".format(proto, ip, port) + + +def get_url_from_datadir(datadir): + configfile = os.path.join(datadir, "bitcoin.conf") + + try: + cfg = config.parse_file(configfile) + except IOError: + return craft_url("http", "localhost", 8332) + + proto = cfg["protocol"] if "protocol" in cfg else "http" + ip = cfg["rpcip"] if "rpcip" in cfg else "localhost" + try: + port = cfg["rpcport"] + except KeyError: + # If both regtest and testnet are set, bitcoind will not run. + if "regtest" in cfg and cfg["regtest"] == "1": + port = 18332 + elif "testnet" in cfg and cfg["testnet"] == "1": + port = 18332 + else: + port = 8332 + + return craft_url(proto, ip, port) + + +def get_auth_from_datadir(datadir): + def craft_auth_from_credentials(user, password): + details = ":".join([user, password]) + return base64.b64encode(bytes(details, "utf-8")).decode("utf-8") + + def get_auth_from_cookiefile(cookiefile): + # Raises IOError if file does not exist + with open(cookiefile, "r") as f: + return base64.b64encode(bytes(f.readline(), "utf-8")).decode("utf-8") + + cookiefile = os.path.join(datadir, ".cookie") + + try: + return get_auth_from_cookiefile(cookiefile) + except FileNotFoundError: + print("cookiefile not found, falling back to password authentication") + # Fall back to credential-based authentication + configfile = os.path.join(datadir, "bitcoin.conf") + + try: + cfg = config.parse_file(configfile) + except IOError: + print("configuration file not found; aborting.") + raise + + try: + rpcuser = cfg["rpcuser"] + rpcpassword = cfg["rpcpassword"] + except KeyError: + if not ("rpcuser" in cfg): + print("rpcuser not in configuration file.") + if not ("rpcpassword" in cfg): + print("rpcpassword not in configuration file.") + raise + + return craft_auth_from_credentials(rpcuser, rpcpassword) + + +class BitcoinRPCClient(object): + def __init__(self, url, auth): + self._url = url + self._headers = { + "Authorization": "Basic {}".format(auth), + "Content-Type": "text/plain", + } + + @staticmethod + async def _craft_request(req, params, ident): + d = { + # "jsonrpc": "2.0", # Currently ignored by Bitcoin Core. + "method": req, + } + + if params is not None: + d["params"] = params + + if ident is not None: + d["id"] = ident + + return json.dumps(d) + + async def _fetch(self, session, req): + with async_timeout.timeout(5): + async with session.post(self._url, headers=self._headers, data=req) as response: + return await response.text() + + async def request(self, method, params=None, ident=None, callback=None): + async with aiohttp.ClientSession() as session: + req = await self._craft_request(method, params, ident) + html = await self._fetch(session, req) + return json.loads(html)