Pages:
Author

Topic: bitcoind-ncurses: Terminal front-end for bitcoind - page 3. (Read 11314 times)

sr. member
Activity: 362
Merit: 262
Thanks looking good.  Just updated.  It's correctly identifying the fact that I'm running with wallet disabled.
member
Activity: 96
Merit: 10
esotericnonsense
v0.0.19.

Added a feature to view coinbase strings. You can read the messages miners leave there.
Verbose mode in the TX view should now be much faster for large transactions.
A basic bandwidth chart has been added.

member
Activity: 96
Merit: 10
esotericnonsense
More updates:

The tool now supports bitcoin.conf files natively, no need to edit the file.
Copy it in or run using the -c switch and point to it.

There is a now a footer 'menu system' that follows through all views so that you don't have to remember hotkeys as much.



You can view transactions from your wallet by locating them with the cursor and pressing ENTER. Previously you'd need to copy paste which is hard without a tmux clone or X-terminal.

Verbose mode should now show whether transaction outputs unconfirmed spent or confirmed spent.

edit:

A number of drastic performance upgrades have been made.
The limiting factor for speed is generally now bitcoind-rpc rather than hardcoded time.sleep nonsense.
CPU usage on my machine is very low; though there are a few small tweaks I could make (customizable display update interval, for example).
member
Activity: 96
Merit: 10
esotericnonsense
This looks pretty cool, it reminds me of the days of the old BBS. Wil you add soundblaster 16 sounds by any chance?  Smiley

gmaxwell suggested that I add sounds from the blockchain. I think live mempool would be better. But unfortunately my musical abilities are extremely limited. Tongue

Updated to v0.0.14.

A few cosmetic tweaks to console view and a few bugfixes.
TX view verbose mode now shows whether transaction outputs are spent or not.
Monitor view now flashes when it detects an incoming block.
SPACE hotkey has been switched for enter at user request.
TX view coinbase no longer shows nonsense like negative fees.
TX view switches between outputs/inputs using TAB now.

Testnet displays units as 'TNC' to avoid confusion.
Previously you would rely on the coloring of the header only, which is not ideal for mono terminals or colorblind users.

Various cosmetic changes here and there.
member
Activity: 96
Merit: 10
esotericnonsense
A debug console has been added (similar to the one in bitcoin-qt, or just ./bitcoin-cli command...) so that you can query directly yourself without leaving the program or having to type './bitcoin-cli -testnet ...' each time.

It's not complete and will likely fail on certain commands, so I would treat it as a toy (works fine for getblock, getblockhash, getwalletinfo, getinfo, help, etc) and not use it for producing transactions or anything that could result in loss of funds for now.
member
Activity: 96
Merit: 10
esotericnonsense
Not near it right now.  It doesn't crash, but I think it says transaction not found or something similar, and asks for a txid.

Strange. I have just tested it with --disablewallet and for me the 'W' hotkey just doesn't do anything.
I believe there is possibly a bug that will stop it from updating information though (it'll silently think it's in 'wallet mode').
When you get time, please check for me exactly what happens, it would be useful to know.

The country of peers based on geoip would be nice to have on the peers screen.

I don't have geoiplookup on my system and I'm not really interested in adding dependencies just for cosmetic stuff. Sorry.
If there's some way to do it with standard python libs or you find the will to code up a list for me in Python I would be happy to add it.
sr. member
Activity: 362
Merit: 262
Thanks for this.  Tested it out and it works well. 
I have disabled wallet on bitcoind.  Perhaps the app can detect that when going to the wallet screen?

What happens? Does it simply display nothing, or is there some sort of error/crash? I can't test right now.

Not near it right now.  It doesn't crash, but I think it says transaction not found or something similar, and asks for a txid.

The country of peers based on geoip would be nice to have on the peers screen.

See this:
These are my peers:

Code:
$ perl
use warnings;
use strict;
use JSON;

my $json = qx{bitcoin-cli getpeerinfo};
my $peers = from_json $json;
my %countries;
foreach my $peer (@$peers) {
    my $ip = $peer->{'addr'};
    next if -1 != index $ip, 'onion';
    next if -1 != index $ip, '127.0.0.1';
    $ip =~ s/:\d+$//;
    my $country = qx{geoiplookup $ip};
    chomp $country;
    $countries{$country}++;
}
foreach my $c (reverse sort { $countries{$a} <=> $countries{$b} } keys %countries) {
    printf "%2d %s\n", $countries{$c}, $c;
}

Code:
46 GeoIP Country Edition: US, United States
 7 GeoIP Country Edition: CN, China
 7 GeoIP Country Edition: DE, Germany
 4 GeoIP Country Edition: NL, Netherlands
 4 GeoIP Country Edition: CH, Switzerland
 3 GeoIP Country Edition: JP, Japan
 3 GeoIP Country Edition: RU, Russian Federation
 2 GeoIP Country Edition: AT, Austria
 2 GeoIP Country Edition: FR, France
 2 GeoIP Country Edition: IP Address not found
 2 GeoIP Country Edition: PL, Poland
 2 GeoIP Country Edition: RO, Romania
 1 GeoIP Country Edition: UA, Ukraine
 1 GeoIP Country Edition: CZ, Czech Republic
 1 GeoIP Country Edition: SE, Sweden
 1 GeoIP Country Edition: HU, Hungary
 1 GeoIP Country Edition: DK, Denmark
 1 GeoIP Country Edition: FI, Finland
 1 GeoIP Country Edition: GB, United Kingdom
 1 GeoIP Country Edition: CA, Canada
 1 GeoIP Country Edition: A1, Anonymous Proxy
 1 GeoIP Country Edition: ES, Spain
 1 GeoIP Country Edition: NZ, New Zealand
 1 GeoIP Country Edition: IT, Italy
 1 GeoIP Country Edition: HR, Croatia
 1 GeoIP Country Edition: IL, Israel
 1 GeoIP Country Edition: MX, Mexico
 1 GeoIP Country Edition: CO, Colombia

Or, for poor perl-less souls:

Code:
for IP in $(bitcoin-cli getpeerinfo |grep -w addr |grep -vE "onion|127.0.0.1" |sed -e 's/.*"\([0-9].*\):.*/\1/'); do geoiplookup $IP; done |sort |uniq -c |sort -rn
hero member
Activity: 672
Merit: 508
LOTEO
Textmode just wouldn't be textmode without...



Cheesy

This looks pretty cool, it reminds me of the days of the old BBS. Wil you add soundblaster 16 sounds by any chance?  Smiley
member
Activity: 96
Merit: 10
esotericnonsense
Thanks for this.  Tested it out and it works well. 
I have disabled wallet on bitcoind.  Perhaps the app can detect that when going to the wallet screen?

What happens? Does it simply display nothing, or is there some sort of error/crash? I can't test right now.
sr. member
Activity: 362
Merit: 262
Thanks for this.  Tested it out and it works well. 

I have disabled wallet on bitcoind.  Perhaps the app can detect that when going to the wallet screen?
The peer view could be more interesting with country of the peer?


member
Activity: 96
Merit: 10
esotericnonsense
Textmode just wouldn't be textmode without...



Cheesy
member
Activity: 96
Merit: 10
esotericnonsense
It is now possible to resize vertically most of the views and have them scale dynamically.
So on a 50 row terminal you can show more inputs/outputs at once in the transaction view mode, for example.

Minimum size is now 75x12, down from 75x20.
member
Activity: 96
Merit: 10
esotericnonsense
Added a 'verbose' mode for the transaction view.

It attempts to display corresponding previous outputs from the inputs.

It may be quite slow for transactions with many inputs. It's not enabled by default, though.
sr. member
Activity: 381
Merit: 255
This is a pretty good project and certainly helps those of us that use BitcoinD and would like a better overview of things. Nice work, very nice work actually!
member
Activity: 96
Merit: 10
esotericnonsense
A few more updates:

Changed the timestamp format to ~ISO standard (YYYY-MM-DD hh:mm:ss)
Already queried blocks are cached to improve the speed of block view mode seeking
Monitor mode now displays estimated fee information for latest block (it assumes block subsidy and fees are fully claimed by the miner)
Monitor mode now displays average size of transactions in latest block
member
Activity: 96
Merit: 10
esotericnonsense
The real time stats are mesmerizing! Thanks you for this!

Indeed! Smiley

Added a feature to seek for block by timestamp.
It searches by estimating a 10 minute block interval and bouncing back and forth until it thinks it's close enough.
It gets within a few blocks in all the cases I've tested. Could be optimized more but it's good enough for now.
sr. member
Activity: 441
Merit: 250
The real time stats are mesmerizing! Thanks you for this!
member
Activity: 96
Merit: 10
esotericnonsense
A wallet transaction view mode has been added.
Note that as of yet, bitcoind-ncurses does not implement unlocking the wallet, creating or signing transactions, or any other key-related functions.
This is simply for viewing historical/unconfirmed transactions that are relevant to your wallet (in listsinceblock).



It may break on odd forms of transactions.
If you want to try and break it and help me improve the checking, feel free to send me odd transactions on testnet.

mr19pWU5UbtFuNu4xxUEeNfeXLwjBggYzN
member
Activity: 96
Merit: 10
esotericnonsense
Nice piece of software! Bug report:

- Go to block 309951.
- Go to transaction 2. Don't view it, just move the cursor down.
- Go backwards to block 309950. There's only one tx in this block.
- Oops, cursor thinks it's still in tx 2. If you hit space to view it, the program dies.


Good catch.
This should now be fixed in latest github master.
legendary
Activity: 1974
Merit: 1029
Nice piece of software! Bug report:

- Go to block 309951.
- Go to transaction 2. Don't view it, just move the cursor down.
- Go backwards to block 309950. There's only one tx in this block.
- Oops, cursor thinks it's still in tx 2. If you hit space to view it, the program dies.
Pages:
Jump to: