Add new RPC method: add_peer
This commit is contained in:
parent
9c6d2f5764
commit
ead68ebe34
@ -156,6 +156,17 @@ The following commands are available:
|
||||
Currently peer data is obtained via a peer discovery protocol; it
|
||||
used to be taken from IRC.
|
||||
|
||||
* **add_peer**
|
||||
|
||||
Add a peer to the peers list. ElectrumX will schdule an immediate
|
||||
connection attempt. This command takes a single argument: the
|
||||
peer's "real name" as it would advertise itself on IRC.
|
||||
|
||||
.. code::
|
||||
|
||||
$ ./electrumx_rpc.py add_peer "ecdsa.net v1.0 s110 t"
|
||||
"peer 'ecdsa.net v1.0 s110 t' added"
|
||||
|
||||
* **daemon_url**
|
||||
|
||||
This command takes an optional argument that is interpreted
|
||||
|
||||
@ -21,6 +21,7 @@ import pylru
|
||||
|
||||
from lib.jsonrpc import JSONRPC, JSONSessionBase, RPCError
|
||||
from lib.hash import double_sha256, hash_to_str, hex_str_to_hash
|
||||
from lib.peer import Peer
|
||||
import lib.util as util
|
||||
from server.block_processor import BlockProcessor
|
||||
from server.daemon import Daemon, DaemonError
|
||||
@ -73,7 +74,7 @@ class Controller(util.LoggedClass):
|
||||
env.max_send = max(350000, env.max_send)
|
||||
self.setup_bands()
|
||||
# Set up the RPC request handlers
|
||||
cmds = ('daemon_url disconnect getinfo groups log peers reorg '
|
||||
cmds = ('add_peer daemon_url disconnect getinfo groups log peers reorg '
|
||||
'sessions stop'.split())
|
||||
self.rpc_handlers = {cmd: getattr(self, 'rpc_' + cmd) for cmd in cmds}
|
||||
# Set up the ElectrumX request handlers
|
||||
@ -579,6 +580,15 @@ class Controller(util.LoggedClass):
|
||||
|
||||
# Local RPC command handlers
|
||||
|
||||
def rpc_add_peer(self, real_name):
|
||||
'''Add a peer.
|
||||
|
||||
real_name: a real name, as would appear on IRC
|
||||
'''
|
||||
peer = Peer.from_real_name(real_name, 'RPC')
|
||||
self.peer_mgr.add_peers([peer])
|
||||
return "peer '{}' added".format(real_name)
|
||||
|
||||
def rpc_disconnect(self, session_ids):
|
||||
'''Disconnect sesssions.
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user