Ejemplo n.º 1
0
    async def run(self, node_type):
        # check init
        if not self.node_list.get()['init_ed']:
            utils.error_msg('Please initialize first!')
            utils.info_msg('To get more initialize info:')
            utils.msg('tron-cli init -h')
            exit()
        # check config
        if not self.node_list.get()['config_ed']:
            utils.error_msg('Please config first!')
            utils.info_msg('To get more config info:')
            utils.msg('tron-cli config -h')
            exit()

        pid = await self.run_node(node_type)
        utils.success_msg('node running at pid:')
        _config = self.node_list.get()['config']
        utils.msg(str(pid))
        if node_type in ['full', 'sol', 'event']:
            utils.status_msg('HTTP', LOCAL_HOST + str(_config[node_type + 'httpport']))
            utils.status_msg('RPC', LOCAL_HOST + str(_config[node_type + 'rpcport']))
            utils.status_msg('LOG PATH', utils.log_location(self.root_path, node_type))
        elif node_type == 'grid':
            utils.status_msg('HTTP', LOCAL_HOST + str(_config['gridport']))
        utils.node_cmds(pid)
        await self.node_list.update_running_node(node_type, pid, 'add')
Ejemplo n.º 2
0
    async def fetch_jars(self, version):
        """
        get release url
        """
        url = JAVA_TRON_RELEASES_URL
        if version == 'latest':
            url += 'Odyssey-v' + JAVA_TRON_LASTEST_VERSION
            await self.node_list.update_node_version(JAVA_TRON_LASTEST_VERSION)
        elif '3.1.3' <= version <= '3.1.3':
            url += 'Odyssey-v' + version
            self.source_full_jar = 'java-tron.jar'
            await self.node_list.update_node_version(version)
        elif '3.2.0' <= version < JAVA_TRON_LASTEST_VERSION:
            url += 'Odyssey-v' + version
            await self.node_list.update_node_version(version)
        else:
            utils.error_msg('version: ' + version + ' not supported')
            utils.info_msg('current support versions: 3.1.3 - ' +
                           JAVA_TRON_LASTEST_VERSION)
            exit()
        """
        download
        """
        utils.progress_msg('Downloading full-node jar from released build')
        await utils.download(self.source_full_jar, url)
        utils.success_msg('.jar file of Fullnode is successfully downloaded')

        utils.progress_msg('Downloading solidity-node jar from released build')
        await utils.download(self.source_sol_jar, url)
        utils.success_msg(
            '.jar file of Soliditynode is successfully downloaded')
Ejemplo n.º 3
0
 async def env_check(self):
     try:
         jdk_version = subprocess.check_output(['java', '-version'],
                                               stderr=subprocess.STDOUT)
         jdk_version = re.search('\"(\d+\.\d+).*\"',
                                 str(jdk_version)).groups()[0]
     except OSError as err:
         utils.warning_msg('OS Warning -' + str(err))
         utils.error_msg(
             'Please make sure you install Oracle JDK 1.8 correctly.')
         os.sys.exit()
     else:
         if jdk_version != '1.8':
             utils.error_msg(
                 'java-tron required Oracle JDK version = 1.8, please install and use JDK 1.8'
             )
             os.sys.exit()
Ejemplo n.º 4
0
    async def init(self, reset):
        """
        Load raw json config
        """
        # check init
        if not self.node_list.get()['init_ed']:
            utils.error_msg('Please initialize first!')
            utils.info_msg('To get more initialize info:')
            utils.msg('tron-cli init -h')
            exit()

        if reset != 'False':
            self.node_list.reset_config()
        self.full_config = copy.deepcopy(json_store.raw_config)
        self.sol_config = copy.deepcopy(json_store.raw_config)
        self.event_config = copy.deepcopy(json_store.raw_config)
        self.eventnode_db_properties = copy.deepcopy(
            json_store.raw_eventnode_mongodb_properties)
        self.gridapi_db_properties = copy.deepcopy(
            json_store.raw_gridapi_application_properties)
        _config_store = self.node_list.get()
        self.config_store = _config_store['config']
        utils.success_msg('config initialized')
Ejemplo n.º 5
0
    async def store_db_settings(self, dbname, dbusername, dbpassword,
                                gridport):
        # check void and restore
        if dbname == 'Null':
            dbname = self.config_store['dbname']
        else:
            self.config_store['dbname'] = dbname

        if dbusername == 'Null':
            dbusername = self.config_store['dbusername']
        else:
            self.config_store['dbusername'] = dbusername

        if dbpassword == 'Null':
            dbpassword = self.config_store['dbpassword']
        else:
            self.config_store['dbpassword'] = dbpassword

        if gridport == 0:
            gridport = self.config_store['gridport']
        else:
            self.config_store['gridport'] = gridport
            utils.success_msg('grid api http request set to listen: ')
            utils.msg(LOCAL_HOST + str(gridport))
        await self.update_config_store()

        if dbname == 'Null' and dbusername == 'Null' and dbpassword == 'Null':
            self.enable_event_services = False
            utils.warning_msg(
                'Not configing event services since db settings not specified.'
            )
            utils.info_msg(
                'config event services by specify --dbname <name> --dbusername <user> --dbpassword <password>'
            )
        elif dbname == 'Null':
            utils.error_msg('Please set db name with --dbname')
            exit()
        elif dbusername == 'Null':
            utils.error_msg('Please set db user name with --dbusername')
            exit()
        elif dbpassword == 'Null':
            utils.error_msg('Please set db password with --dbpassword')
            exit()
        else:
            self.enable_event_services = True
            await self.node_list.update_db_settings(dbname, dbusername,
                                                    dbpassword)
            utils.success_msg('db settings stored')
            await self.change_eventnode_db_settings()
            await self.change_gridapi_db_settings(gridport)
            await self.build_eventnode_jar()
            await self.build_gridapi_jar()
            await self.move_gridapi_jar()