Addresses and permissions to client connected via JSON-RPC

+2 votes
I have:

- a single node (or a small number of) that has the permission to read from the multichain;

- a variable number of clients connected to this node via JSON-RPC; these clients are standalone desktop applications (i.e. they don't have a corresponding multichain node each, but they rather share the same JSON-RPC credentials to access the same multichain node)

Is it possible to assign a multichain address/ID to each one of the clients and grant (or revoke) permissions on multichain streams to these clients as you would do via cli on node addresses?
asked Feb 14, 2017 by Dave

1 Answer

0 votes
MultiChain does not yet support this kind of multitenant security directly – if an external process has access to the JSON-RPC API, it can use any of the keys in that node's wallet.

The solution for this kind of scenario is to hold the private keys outside the wallet. We have a tutorial for this, but it requires alpha 28, to be released hopefully in the next few days:

http://www.multichain.com/developers/external-key-management/

Still you should also note that any of these clients can wreak a ton of havoc with the functioning of the node, if they have access to its API. So in any event you still probably want some kind of bridge in the middle to support specific operations, instead of giving them direct API Access.
answered Feb 14, 2017 by MultiChain
...