Bitcoin Forum
November 11, 2024, 08:38:38 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: A Better bitcoind Frontend  (Read 1286 times)
sounds (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100

1221iZanNi5igK7oAA7AWmYjpsyjsRbLLZ


View Profile
December 31, 2012, 10:28:11 PM
 #1

Since I'm still a newbie, I'll put this thread in the newbies section. Mods: please feel free to move this to the development section.

I'm new to bitcoins. Too bad, right? Smiley I missed out on all the fun! The ASICpocalypse is here and bitcoins have lost all their value. Heh, nevermind: it didn't happen.

Hey, one thing a newcomer might notice that everyone else has gotten used to: it takes forever to bootstrap a bitcoin client and it has to stay connected all the time!

Now, I don't trust anyone so I'll never be putting my wallet in the cloud. So I'll run bitcoind on an always-on machine I have in a locked cage somewhere, that's easy! And as soon as I started up bitcoind it hit me:

This needs a better frontend.

Ok, I admit, I only looked at a few and really only tried bitcoin-js-remote before I decided this isn't going to work.

Anyone want to help me write a better frontend? I'm currently unemployed but here are the apps I'd like to make, sorted from quick and easy (get my feet wet) to hard:

1. Linux Terminal App (bitcoind TUI frontend)

2. Qt App for my linux laptop. I don't like having to leave my laptop connected all the time just to keep my block chain up to date!

3. Android app

4. Mac OS native app

5. Windows native app

6. iOS app (I might never get around to this one. They can just use bitcoin-js-remote, right?) :-}
sounds (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100

1221iZanNi5igK7oAA7AWmYjpsyjsRbLLZ


View Profile
December 31, 2012, 10:29:40 PM
 #2

Hah! Funny, that post was what put me over the top, now I've leveled up to 2 coins, so I should really move this to the Development forum.
Darkneo
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
December 31, 2012, 11:01:25 PM
 #3

How's your project currently going?

Tips are always appreciated 1Gr1MZuqpSZJbApsgpMnHFhKHkXUdHqYRe
sounds (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100

1221iZanNi5igK7oAA7AWmYjpsyjsRbLLZ


View Profile
December 31, 2012, 11:07:27 PM
 #4

Well... in the last 30 minutes I've created a curses TUI app that links with libcurl to hit up the json RPC.
Gabi
Legendary
*
Offline Offline

Activity: 1148
Merit: 1008


If you want to walk on water, get out of the boat


View Profile
December 31, 2012, 11:49:07 PM
 #5

Try Armory.

Or Multibit (lightweight client, so you don't have to download the whole blockchain)

flatfly
Legendary
*
Offline Offline

Activity: 1092
Merit: 1016

760930


View Profile
January 01, 2013, 12:23:12 AM
 #6

Actually, Electrum is almost exactly what you're describing...

You set up bitcoind to run on a server (+ electrum server script), to which you connect
from the client. It is lightweight, uses Qt, comes for Linux, Windows, Mac and Android, and
even has a TUI (curses) version!

It all is quite stable now, and has a active community (including on IRC). I would say its
main weakness is the lack of adequate documentation for all these things (so far.)
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1140


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
January 01, 2013, 12:30:00 AM
 #7

I'd like the same thing but would prefer to call it something inverse:

Bitcoind needs to be broken down so it becomes a "bitcoin knowledge center" server, sort of like blockchain.info.  Then front end apps can be written with the assumption that the knowledge center either is trustworthy, or that it can prove everything that matters.

One discrete portion of the "knowledge center" should be dedicated simply to determining the hash of the latest valid block in the chain.  Right now, we strictly use proof of work.  But I'd feel better if that could be expanded to accept a few backup factors, like the user's own opinion, or a party they trust.  (Clearly this is bound to be a controversial subject, but it won't be controversial anymore the first time somebody tries a 51% attack)

Another major function of the knowledge center should be getting the balances of arbitrary wallets.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
sounds (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100

1221iZanNi5igK7oAA7AWmYjpsyjsRbLLZ


View Profile
January 01, 2013, 01:42:25 AM
 #8

Actually, Electrum is almost exactly what you're describing...

You set up bitcoind to run on a server (+ electrum server script), to which you connect
from the client. It is lightweight, uses Qt, comes for Linux, Windows, Mac and Android, and
even has a TUI (curses) version!

It all is quite stable now, and has a active community (including on IRC). I would say its
main weakness is the lack of adequate documentation for all these things (so far.)
Great! This is what I was looking for!

I missed that Electrum could work this way. Yeah, I guess I have a lot to learn!
sounds (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100

1221iZanNi5igK7oAA7AWmYjpsyjsRbLLZ


View Profile
January 01, 2013, 01:51:13 AM
Last edit: January 01, 2013, 02:06:19 AM by sounds
 #9

So I run it like this:
Code:
electrum --server my.server.com:8332:h
But I get an error:

HTTP 401 Authorization Required

Well, of course. bitcoind uses HTTP Basic Auth. But the documentation is confusing. I guess I need to set up bitcoin-abe and electrum-server? Is there a guide somewhere?

Edit: I found https://github.com/spesmilo/electrum-server - this looks useful!
flatfly
Legendary
*
Offline Offline

Activity: 1092
Merit: 1016

760930


View Profile
January 01, 2013, 07:46:34 AM
 #10

So I run it like this:
Code:
electrum --server my.server.com:8332:h
But I get an error:

HTTP 401 Authorization Required

Well, of course. bitcoind uses HTTP Basic Auth. But the documentation is confusing. I guess I need to set up bitcoin-abe and electrum-server? Is there a guide somewhere?

Edit: I found https://github.com/spesmilo/electrum-server - this looks useful!

Indeed that's the codebase repository for the server.

For starters, I'd suggest to run a pruning server: easier to setup (but you still feel a sense of achievement once you've done that), less resource-hungry, more stable, and you don't need to install ABE for that.  Here's a great tutorial to do this: https://bitcointalk.org/index.php?topic=130533.0

If you need additional support for that, you will most often find experts willing to help on #electrum (IRC).

While you get this done, you can of course just connect to a public Electrum server from your client. In fact, as you can see by reviewing the source code, the client-server protocol doesn't allow servers to do anything particularly malicious, so most regular users just choose to connect to one of the available servers and never bother to install one themselves.  The only downside in that case (with the current implementation, at least) is that you sacrifice a tiny bit of privacy.
sounds (OP)
Full Member
***
Offline Offline

Activity: 140
Merit: 100

1221iZanNi5igK7oAA7AWmYjpsyjsRbLLZ


View Profile
January 01, 2013, 07:58:15 AM
 #11

Thanks, appreciated!
djohnston
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile WWW
January 01, 2013, 08:47:21 AM
 #12

Sounds like a good idea. I hope you find a great project to contribute your skills to.

-DJohnston

“The state is that great fiction by which everyone tries to live at the expense of everyone else.” ― Frédéric Bastiat
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!