Exemple #1
0
def run_node():

    nodeReg = OrderedDict([
        ('Alpha', ('127.0.0.1', 8001)),
        ('Beta', ('127.0.0.1', 8003)),
        ('Gamma', ('127.0.0.1', 8005)),
        ('Delta', ('127.0.0.1', 8007))])

    genesisTxns = [{'txnId': '6b86b273ff34fce19d6b804eff5a3f57'
                             '47ada4eaa22f1d49c01e52ddb7875b4b',
                    'type': NYM,
                    'dest': 'o7z4QmFkNB+mVkFI2BwX0Hdm1BGhnz8psWnKYIXWTaQ=',
                    'role': TRUST_ANCHOR}]

    # the first argument should be the node name
    try:
        nodeName = sys.argv[1]
    except IndexError:
        names = list(nodeReg.keys())
        print("Please supply a node name (one of {}) as the first argument.".
              format(", ".join(names)))
        print("For example:")
        print("    {} {}".format(sys.argv[0], names[0]))
        return

    with Looper(debug=False) as looper:
        # Nodes persist keys when bootstrapping to other nodes and reconnecting
        # using an ephemeral temporary directory when proving a concept is a
        # nice way to keep things tidy.
        with TemporaryDirectory() as tmpdir:
            node = Node(nodeName, nodeReg, basedirpath=tmpdir)
            node.addGenesisTxns(genesisTxns)
            looper.add(node)
            node.startKeySharing()
            looper.run()
Exemple #2
0
def create_local_pool(base_dir, node_size=4):
    conf = getConfig(base_dir)
    pool_dir = os.path.join(base_dir, "pool")

    # TODO: Need to come back to this why we need this cleanup
    shutil.rmtree(pool_dir, ignore_errors=True)

    stewards = []
    node_conf = []
    nodes = []
    genesis_txns = []
    for i in range(node_size):
        w = Wallet("steward")
        s = Steward(wallet=w)
        s.wallet.addIdentifier()

        stewards.append(s)

        n_config = adict(name='Node' + str(i + 1),
                         basedirpath=pool_dir,
                         ha=('127.0.0.1', 9700 + (i * 2)),
                         cliha=('127.0.0.1', 9700 + (i * 2) + 1))

        n_verkey = initialize_node_environment(name=n_config.name,
                                               base_dir=n_config.basedirpath,
                                               override_keep=True,
                                               config=conf,
                                               sigseed=randomSeed())

        s.set_node(n_config, verkey=n_verkey)

        node_conf.append(n_config)

        genesis_txns += s.generate_genesis_txns()

    pool = LocalPool(genesis_txns, pool_dir, steward=stewards[0])

    for c in node_conf:
        n = Node(**c)
        pool.add(n)
        nodes.append(n)

    pool.runFor(5)

    return pool
Exemple #3
0
def run_node(config, name, node_port, client_port):
    node_ha = HA("0.0.0.0", node_port)
    client_ha = HA("0.0.0.0", client_port)

    logFileName = os.path.join(config.baseDir, name + ".log")

    Logger(config)
    Logger().enableFileLogging(logFileName)

    logger = getlogger()
    logger.setLevel(config.logLevel)
    logger.debug("You can find logs in {}".format(logFileName))

    vars = [var for var in os.environ.keys() if var.startswith("SOVRIN")]
    logger.debug("Sovrin related env vars: {}".format(vars))

    from stp_core.loop.looper import Looper
    from sovrin_node.server.node import Node
    with Looper(debug=True) as looper:
        node = Node(name, nodeRegistry=None, basedirpath=config.baseDir,
                    ha=node_ha, cliha=client_ha)
        looper.add(node)
        looper.run()
Exemple #4
0
 def getDomainReqHandler(self):
     return Node.getDomainReqHandler(self)
Exemple #5
0
 def __init__(self, *args, **kwargs):
     Node.__init__(self, *args, **kwargs)
     TestNodeCore.__init__(self, *args, **kwargs)
     self.cleanupOnStopping = True
Exemple #6
0
 def __init__(self, *args, **kwargs):
     Node.__init__(self, *args, **kwargs)
     TestNodeCore.__init__(self, *args, **kwargs)
Exemple #7
0
 def getDomainReqHandler(self):
     return Node.getDomainReqHandler(self)
Exemple #8
0
 def __init__(self, *args, **kwargs):
     Node.__init__(self, *args, **kwargs)
     TestNodeCore.__init__(self, *args, **kwargs)
     self.cleanupOnStopping = True