Example #1
0
async def f():
    try:
        peers = await util.get_peers(network)
        peers = filter_protocol(peers)
        results = await util.send_request(network, peers, 'blockchain.estimatefee', [2])
        print(json.dumps(results, indent=4))
        feerate_estimates = filter(lambda x: isinstance(x, Number), results.values())
        print(f"median feerate: {median(feerate_estimates)}")
    finally:
        stopping_fut.set_result(1)
async def f():
    try:
        peers = await network.get_peers()
        peers = filter_protocol(peers)
        results = await network.send_multiple_requests(
            peers, 'blockchain.transaction.broadcast', [rawtx])
        for server, resp in results.items():
            print(f"result: server={server}, response={resp}")
    finally:
        stopping_fut.set_result(1)
Example #3
0
async def f():
    try:
        peers = await util.get_peers(network)
        peers = filter_protocol(peers, 's')
        results = await util.send_request(network, peers, 'blockchain.headers.subscribe', [])
        for server, header in sorted(results.items(), key=lambda x: x[1].get('height')):
            height = header.get('height')
            blockhash = hash_raw_header(header.get('hex'))
            print("%60s" % server, height, blockhash)
    finally:
        stopping_fut.set_result(1)
Example #4
0
async def f():
    try:
        peers = await network.get_peers()
        peers = filter_protocol(peers, 's')
        results = await network.send_multiple_requests(peers, 'blockchain.headers.subscribe', [])
        for server, header in sorted(results.items(), key=lambda x: x[1].get('height')):
            height = header.get('height')
            blockhash = hash_raw_header(header.get('hex'))
            print(server, height, blockhash)
    finally:
        stopping_fut.set_result(1)
async def f():
    try:
        peers = await network.get_peers()
        peers = filter_protocol(peers)
        results = await network.send_multiple_requests(
            peers, 'blockchain.estimatefee', [2])
        print(json.dumps(results, indent=4))
        feerate_estimates = filter(lambda x: isinstance(x, Number),
                                   results.values())
        print(f"median feerate: {median(feerate_estimates)}")
    finally:
        stopping_fut.set_result(1)
Example #6
0
async def f():
    try:
        peers = await network.get_peers()
        peers = filter_protocol(peers)
        results = await network.send_multiple_requests(peers, 'blockchain.transaction.get', [txid])
        r1, r2 = [], []
        for k, v in results.items():
            (r1 if not isinstance(v, Exception) else r2).append(k)
        print(f"Received {len(results)} answers")
        try: propagation = len(r1) * 100. / (len(r1) + len(r2))
        except ZeroDivisionError: propagation = 0
        print(f"Propagation rate: {propagation:.1f} percent")
    finally:
        stopping_fut.set_result(1)
Example #7
0
async def f():
    try:
        peers = await network.get_peers()
        peers = filter_protocol(peers, 's')
        results = await network.send_multiple_requests(peers, 'blockchain.transaction.get', [txid])
        r1, r2 = [], []
        for k, v in results.items():
            (r1 if not isinstance(v, Exception) else r2).append(k)
        print(f"Received {len(results)} answers")
        try: propagation = len(r1) * 100. / (len(r1) + len(r2))
        except ZeroDivisionError: propagation = 0
        print(f"Propagation rate: {propagation:.1f} percent")
    finally:
        stopping_fut.set_result(1)
Example #8
0
def get_peers():
    # 1. start interface and wait for connection
    interface = electrum.Interface('ecdsa.net:110:s')
    q = Queue.Queue()
    interface.start(q)
    i, r = q.get()
    if not interface.is_connected:
        raise BaseException("not connected")
    # 2. get list of peers
    interface.send_request({'id':0, 'method':'server.peers.subscribe','params':[]})
    i, r = q.get(timeout=10000)
    peers = parse_servers(r.get('result'))
    peers = filter_protocol(peers,'s')
    i.stop()
    return peers
Example #9
0
def get_peers():
    # 1. start interface and wait for connection
    q = Queue.Queue()
    interface = electrum.Interface("ecdsa.net:110:s", q)
    interface.start()
    i, r = q.get()
    if not interface.is_connected():
        raise BaseException("not connected")
    # 2. get list of peers
    interface.send_request({"id": 0, "method": "server.peers.subscribe", "params": []})
    i, r = q.get(timeout=10000)
    peers = parse_servers(r.get("result"))
    peers = filter_protocol(peers, "s")
    i.stop()
    return peers
Example #10
0
def get_peers():
    peers = []
    # 1. get connected interfaces
    server = 'electrumx1.fujicoin.org:50002:s'
    interfaces = get_interfaces([server])
    if not interfaces:
        print "No connection to", server
        return []
    # 2. get list of peers
    interface = interfaces[server]
    interface.queue_request('server.peers.subscribe', [], 0)
    responses = wait_on_interfaces(interfaces).get(server)
    if responses:
        response = responses[0][1]  # One response, (req, response) tuple
        peers = parse_servers(response.get('result'))
        peers = filter_protocol(peers, 's')
    return peers
Example #11
0
def get_peers():
    peers = []
    # 1. get connected interfaces
    server = 'ecdsa.net:110:s'
    interfaces = get_interfaces([server])
    if not interfaces:
        print "No connection to", server
        return []
    # 2. get list of peers
    interface = interfaces[server]
    interface.queue_request('server.peers.subscribe', [], 0)
    responses = wait_on_interfaces(interfaces).get(server)
    if responses:
        response = responses[0][1]  # One response, (req, response) tuple
        peers = parse_servers(response.get('result'))
        peers = filter_protocol(peers,'s')
    return peers
Example #12
0
def get_peers():
    # 1. start interface and wait for connection
    q = Queue.Queue()
    interface = electrum.Interface('ecdsa.net:110:s', q)
    interface.start()
    i, r = q.get()
    if not interface.is_connected():
        raise BaseException("not connected")
    # 2. get list of peers
    interface.send_request({
        'id': 0,
        'method': 'server.peers.subscribe',
        'params': []
    })
    i, r = q.get(timeout=10000)
    peers = parse_servers(r.get('result'))
    peers = filter_protocol(peers, 's')
    i.stop()
    return peers
Example #13
0
 def peers(self):
     print("got peers list:")
     l = filter_protocol(self.wallet.network.get_servers(), 's')
     for s in l:
         print(s)
Example #14
0
 def peers(self):
     print("got peers list:")
     l = filter_protocol(self.wallet.network.get_servers(), 's')
     for s in l:
         print (s)
Example #15
0
#!/usr/bin/env python3
from . import util
import json
from electrum.network import filter_protocol
peers = filter_protocol(util.get_peers())
results = util.send_request(peers, 'blockchain.estimatefee', [2])
print(json.dumps(results, indent=4))
Example #16
0
#!/usr/bin/env python3

from . import util

from electrum.network import filter_protocol
from electrum.blockchain import hash_header

peers = util.get_peers()
peers = filter_protocol(peers, 's')

results = util.send_request(peers, 'blockchain.headers.subscribe', [])

for n,v in sorted(results.items(), key=lambda x:x[1].get('block_height')):
    print("%60s"%n, v.get('block_height'), hash_header(v))