Skip to content

Dealing with the namecoind RPC interface #80

@JeremyRand

Description

@JeremyRand

The namecoind RPC interface in NMControl is an ugly hack. As far as I can tell it's violating the HTTP spec, and we're just lucky that it works at all. No one wants to maintain that code.

We have 2 options. We could replace it with something more standard. The Bitcoin devs recommend https://github.com/jgarzik/python-bitcoinrpc . That code is actively maintained, and Python3 support is being worked on (though isn't completely working yet). Alternatively, we could switch to relying on Namecoin Core's REST interface.

I would prefer to switch to REST and remove the RPC interface. The reason for this is that right now, NMControl has the capability to issue arbitrary RPC commands, including looking at private data relating to the wallet (although not signing transactions). I would like to restrict NMControl via AppArmor/SELinux or similar things, so that even if NMControl is somehow compromised, it can't do nasty things to namecoind, but this is only possible with the REST interface to namecoind.

Thoughts on this?

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/14857886-dealing-with-the-namecoind-rpc-interface?utm_campaign=plugin&utm_content=tracker%2F435873&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F435873&utm_medium=issues&utm_source=github).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions