#! /usr/bin/env python3

import os
import sys

from plenum.common.types import HA

from plenum.common.looper import Looper
from plenum.common.raet import initRemoteKeep

from sovrin.common.util import getConfig
from sovrin.server.node import Node

config = getConfig()
keepDir = os.path.expanduser(config.baseDir)

if __name__ == "__main__":
    if len(sys.argv) < 4:
        print("Provide name and 2 port numbers for running the node "
              "and client stacks")
        exit()
    else:
        selfName = sys.argv[1]
        ha = HA("0.0.0.0", int(sys.argv[2]))
        cliha = HA("0.0.0.0", int(sys.argv[3]))
        with Looper(debug=True) as looper:
            node = Node(selfName, nodeRegistry=None, basedirpath=keepDir, ha=ha,
                        cliha=cliha)
            node.addGenesisTxns()
            looper.add(node)
            looper.run()
