nameGUI - an RPC frontend GUI

Forum rules
Warning !
Avoid using binary softwares from untrusted users.
Prefer compiling it yourself and verify sources.
phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: nameGUI - an RPC frontend GUI

Post by phelix »

Updated OP.
biolizard89 wrote:I've got something about 50% coded at the moment; the majority of the new code is in NMControl and is stuff that I was intending to code anyway for the rewritten DNS server and/or the web interface. I don't think it will be too invasive, and the Python code for accessing it from a wallet is probably less than 20 lines. I should have something posted on GitHub in a day or two.
Is this coming anytime soon? Don't worry if you are too busy with other things, I'll just roll my own as described above.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: nameGUI - an RPC frontend GUI

Post by biolizard89 »

phelix wrote:Updated OP.
biolizard89 wrote:I've got something about 50% coded at the moment; the majority of the new code is in NMControl and is stuff that I was intending to code anyway for the rewritten DNS server and/or the web interface. I don't think it will be too invasive, and the Python code for accessing it from a wallet is probably less than 20 lines. I should have something posted on GitHub in a day or two.
Is this coming anytime soon? Don't worry if you are too busy with other things, I'll just roll my own as described above.
Hopefully coming fairly soon, I've just been distracted with other development. Ping me again in a few days if I haven't posted it by then.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: nameGUI - an RPC frontend GUI

Post by phelix »

biolizard89 wrote:
phelix wrote:Updated OP.
biolizard89 wrote:I've got something about 50% coded at the moment; the majority of the new code is in NMControl and is stuff that I was intending to code anyway for the rewritten DNS server and/or the web interface. I don't think it will be too invasive, and the Python code for accessing it from a wallet is probably less than 20 lines. I should have something posted on GitHub in a day or two.
Is this coming anytime soon? Don't worry if you are too busy with other things, I'll just roll my own as described above.
Hopefully coming fairly soon, I've just been distracted with other development. Ping me again in a few days if I haven't posted it by then.
ping

biolizard89 wrote:
cassini wrote:
jedimstr wrote:I've been able to build namecoind off the new namecore branch
Hi jedimstr! Nice to hear you are still in the network as a P2Pool merged-miner.
Do you really need a Qt (i.e. GUI) client? The point is that the Qt part is "mothballed" at the moment, and we are discussing if we update it in the near future or switch to phelix's Python nameGUI front-end (still very beta; works out of the box on top of OSX Yosemite's built-in Python package. No need to install any extra software).

As you've already been able to build Namecoin Core you already have a working "namecoind" and "namecoin-cli" executable, haven't you? In this case you've got an RPC or cli setup that is much faster and more reliable than the old RPC interface of Namecoin-Qt.
For the record, nameGUI is, in my opinion, not a good solution, because (1) its usability sucks compared to something built into the wallet, (2) it doesn't benefit from upstream improvements in Bitcoin wallet GUI's, (3) it can't do coin control easily, and (4) it can't be built reproducibly. Porting Namecoin-Qt's manage names tab to Namecoin Core seems like a much better solution, and moa has offered to sponsor a bounty for it.

(Not trying to derail the thread, just trying to make it clear that there is definitely not universal support for nameGUI.)
For the record I would like to answer this here.
(1) its usability sucks compared to something built into the wallet
I think what you mean is that it is separate from the built in wallet. Or something else?
(2) it doesn't benefit from upstream improvements in Bitcoin wallet GUI's
But the client GUI does. E.g. Core/nameGUI is the only solution that supports coin control atm.
(3) it can't do coin control easily
You mean for names? Nothing else can easily. Coin control for names is way easier to implement in nameGUI than in the core client.
(4) it can't be built reproducibly
On the other hand it can be simply ran from source. Also I thought it was possible like in Gitian?

Anything else?
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: nameGUI - an RPC frontend GUI

Post by biolizard89 »

phelix wrote:
biolizard89 wrote:Hopefully coming fairly soon, I've just been distracted with other development. Ping me again in a few days if I haven't posted it by then.
ping
Sorry for delay. That work is temporarily on hold while we figure out the preferred language for middleware (i.e. choose between NMControl and ncdns). The Javascript/HTML code I have will work near verbatim on ncdns (once we have a REST server on it), but the Python backend would of course need reworking, and I don't think it's wise to expand on code that might or might not be staying around. Once we have a decision on middleware language I'll resume work on this.
phelix wrote:
biolizard89 wrote:
cassini wrote:
jedimstr wrote:I've been able to build namecoind off the new namecore branch
Hi jedimstr! Nice to hear you are still in the network as a P2Pool merged-miner.
Do you really need a Qt (i.e. GUI) client? The point is that the Qt part is "mothballed" at the moment, and we are discussing if we update it in the near future or switch to phelix's Python nameGUI front-end (still very beta; works out of the box on top of OSX Yosemite's built-in Python package. No need to install any extra software).

As you've already been able to build Namecoin Core you already have a working "namecoind" and "namecoin-cli" executable, haven't you? In this case you've got an RPC or cli setup that is much faster and more reliable than the old RPC interface of Namecoin-Qt.
For the record, nameGUI is, in my opinion, not a good solution, because (1) its usability sucks compared to something built into the wallet, (2) it doesn't benefit from upstream improvements in Bitcoin wallet GUI's, (3) it can't do coin control easily, and (4) it can't be built reproducibly. Porting Namecoin-Qt's manage names tab to Namecoin Core seems like a much better solution, and moa has offered to sponsor a bounty for it.

(Not trying to derail the thread, just trying to make it clear that there is definitely not universal support for nameGUI.)
For the record I would like to answer this here.
(1) its usability sucks compared to something built into the wallet
I think what you mean is that it is separate from the built in wallet. Or something else?
Yes, giving the user two disparate UI's is distracting and non-intuitive.
phelix wrote:
(2) it doesn't benefit from upstream improvements in Bitcoin wallet GUI's
But the client GUI does. E.g. Core/nameGUI is the only solution that supports coin control atm.
When the GUI is improved in Bitcoin Core, we should get that improvement for Namecoin. That doesn't happen if part of the Namecoin UI is maintained separately.
phelix wrote:
(3) it can't do coin control easily
You mean for names? Nothing else can easily. Coin control for names is way easier to implement in nameGUI than in the core client.
Bitcoin Core and Armory both already have nice UI's for coin control, and their users are specifically accustomed to those UI's. Using a different UI for coin control of names will be confusing and might introduce privacy leaks.
phelix wrote:
(4) it can't be built reproducibly
On the other hand it can be simply ran from source. Also I thought it was possible like in Gitian?
Nope, take a look at Tor's Gitian script for pluggable transports -- they tried and failed to build Python in Gitian. Joseph has made a bit more progress, but it is a *nightmare* compared to other languages. If we use Bitcoin Core's Gitian scripts, then we literally get this for free.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: nameGUI - an RPC frontend GUI

Post by phelix »

biolizard89 wrote:
phelix wrote:
biolizard89 wrote:Hopefully coming fairly soon, I've just been distracted with other development. Ping me again in a few days if I haven't posted it by then.
ping
Sorry for delay. That work is temporarily on hold while we figure out the preferred language for middleware (i.e. choose between NMControl and ncdns). The Javascript/HTML code I have will work near verbatim on ncdns (once we have a REST server on it), but the Python backend would of course need reworking, and I don't think it's wise to expand on code that might or might not be staying around. Once we have a decision on middleware language I'll resume work on this.
ok. No worries.
phelix wrote:
(2) it doesn't benefit from upstream improvements in Bitcoin wallet GUI's
But the client GUI does. E.g. Core/nameGUI is the only solution that supports coin control atm.
When the GUI is improved in Bitcoin Core, we should get that improvement for Namecoin. That doesn't happen if part of the Namecoin UI is maintained separately.
Somehow we have our wires crossed here. What part of the GUI are you talking about? We get all improvements in the Bitcoin GUI as we use it directly. Obviously the Namecoin part is not present in the Bitcoin GUI.
phelix wrote:
(3) it can't do coin control easily
You mean for names? Nothing else can easily. Coin control for names is way easier to implement in nameGUI than in the core client.
Bitcoin Core and Armory both already have nice UI's for coin control, and their users are specifically accustomed to those UI's. Using a different UI for coin control of names will be confusing and might introduce privacy leaks.
Ah, you mean "can't do coin control for name ops easily". I would bet that until we get coin control for names in Namecoin Core a couple of years will fly by. That would be relatively difficult to implement.

I just noticed Armory got coin control recently. That is indeed very interesting. If anybody gets Namecoin Armory working I will help with porting nameGUI stuff.

Probably we won't get anywhere further with this discussion. I know now there are reservations. But nameGUI deserves a chance, especially as long as there are no alternatives. Depending on how things develop with alternatives I will try and improve nameGUI in the hope it will earn more support.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

biolizard89
Posts: 2001
Joined: Tue Jun 05, 2012 6:25 am
os: linux

Re: nameGUI - an RPC frontend GUI

Post by biolizard89 »

phelix wrote:
biolizard89 wrote:
phelix wrote:
biolizard89 wrote:Hopefully coming fairly soon, I've just been distracted with other development. Ping me again in a few days if I haven't posted it by then.
ping
Sorry for delay. That work is temporarily on hold while we figure out the preferred language for middleware (i.e. choose between NMControl and ncdns). The Javascript/HTML code I have will work near verbatim on ncdns (once we have a REST server on it), but the Python backend would of course need reworking, and I don't think it's wise to expand on code that might or might not be staying around. Once we have a decision on middleware language I'll resume work on this.
ok. No worries.
phelix wrote:
(2) it doesn't benefit from upstream improvements in Bitcoin wallet GUI's
But the client GUI does. E.g. Core/nameGUI is the only solution that supports coin control atm.
When the GUI is improved in Bitcoin Core, we should get that improvement for Namecoin. That doesn't happen if part of the Namecoin UI is maintained separately.
Somehow we have our wires crossed here. What part of the GUI are you talking about? We get all improvements in the Bitcoin GUI as we use it directly. Obviously the Namecoin part is not present in the Bitcoin GUI.
There are GUI components that make sense for both currency and name operations. For example, coin control and the payment request protocol both come to mind quickly. I'm talking about the benefits that we get by being able to use Bitcoin Core's UI for such things with names as well.
phelix wrote:
phelix wrote:
(3) it can't do coin control easily
You mean for names? Nothing else can easily. Coin control for names is way easier to implement in nameGUI than in the core client.
Bitcoin Core and Armory both already have nice UI's for coin control, and their users are specifically accustomed to those UI's. Using a different UI for coin control of names will be confusing and might introduce privacy leaks.
Ah, you mean "can't do coin control for name ops easily". I would bet that until we get coin control for names in Namecoin Core a couple of years will fly by. That would be relatively difficult to implement.

I just noticed Armory got coin control recently. That is indeed very interesting. If anybody gets Namecoin Armory working I will help with porting nameGUI stuff.
I'm actually not convinced that coin control for names is that hard. Generally it's just a matter of choosing the currency inputs to the transaction manually rather than automatically using tx priority calculations -- none of that code needs changing for names.

Cheers.
Jeremy Rand, Lead Namecoin Application Engineer
NameID: id/jeremy
DyName: Dynamic DNS update client for .bit domains.

Donations: BTC 1EcUWRa9H6ZuWPkF3BDj6k4k1vCgv41ab8 ; NMC NFqbaS7ReiQ9MBmsowwcDSmp4iDznjmEh5

domob
Posts: 1129
Joined: Mon Jun 24, 2013 11:27 am
Contact:

Re: nameGUI - an RPC frontend GUI

Post by domob »

Let me briefly chime in on a few points raised in the discussion:

First, I would like to point out again that porting the "Manage names" tab to Bitcoin-Qt on a bounty is not enough. Presumably someone would "hack it together" to get the money, and then I would be left with a broken code to fix whenever Bitcoin refactors their UI. I really don't want to do that and may just remove/disable/whatever code that broke and seems work-intensive to fix. So we should make sure that someone maintains the UI code properly with respect to upstream Bitcoin.

Second, coin control for name operations: I think that this is a very useful feature, and the main use I see is separating use-cases for privacy reasons within a single wallet file. (Is this correct, or are there more?) We could relatively easily reproduce this benefit with NameGUI: The UI could optionally allow the user to select an "account" in the wallet from which to use currency inputs. This is straight-forward to implement and, for instance, already done by JoinMarket.

Note that I'm totally aware that the accounting feature (in particular, "sendfrom") is not meant for this privacy feature, and neither safe to use for it. However, one can simply use the association of addresses to accounts to pick the right outputs to spend in the UI from "listunspent". This is privacy-safe, as far as I know.
BTC: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | NMC: NCdomobcmcmVdxC5yxMitojQ4tvAtv99pY
BM-GtQnWM3vcdorfqpKXsmfHQ4rVYPG5pKS
Use your Namecoin identity as OpenID: https://nameid.org/

johnc
Posts: 89
Joined: Sun Dec 28, 2014 10:03 am

Re: nameGUI - an RPC frontend GUI

Post by johnc »

Yeah, domob is right, we can't have a new namecoin core release every time a name-thing needs to be updated or having the name tab broken every time there are changes to bitcoin.

If nmGUI were to be shipped as a module inside NMControl then it could be called from the NMControl systray menu. I'm not sure if that menu can be made "smart" enough for it to show what modules are running or not and give us the option to activate/access them.

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: nameGUI - an RPC frontend GUI

Post by phelix »

johnc wrote:Yeah, domob is right, we can't have a new namecoin core release every time a name-thing needs to be updated or having the name tab broken every time there are changes to bitcoin.

If nmGUI were to be shipped as a module inside NMControl then it could be called from the NMControl systray menu. I'm not sure if that menu can be made "smart" enough for it to show what modules are running or not and give us the option to activate/access them.
I'd rather have nameGUI be separate from NMControl as it needs the pass phrase. Still I very much like the idea of starting nameGUI from the NMControl systray. On Windows it would be possible via the registry (installer puts nameGUI path into the registry on installation).

A http GUI status page displaying the status of plugins would be a next step for NMControl. That should be relatively straightforward to implement.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

phelix
Posts: 1634
Joined: Thu Aug 18, 2011 6:59 am

Re: nameGUI - an RPC frontend GUI

Post by phelix »

Messy, buggy, full of unnecessary error messages: latest push adds experimental ANTPY support :mrgreen:

Seriously, this needs more work but if anybody wants to take a peek feel free.
nx.bit - some namecoin stats
nf.bit - shortcut to this forum

Post Reply