コード例 #1
0
 def create_producer_node(self, account, path, p2p_address):
     try:
         nodepath = join(path, self.folder_scheme + account.name)
         if not os.path.isdir(nodepath):
             os.makedirs(nodepath)
         os.chdir(nodepath)
         config = ConfigurationParser()
         config.read(join(self.parent_dir, 'config/template_config.ini'))
         config.set('blocks-dir', join(nodepath, 'blocks'))
         config.set('http-server-address',
                    '0.0.0.0:' + str(self.get_open_port()))
         p2p_port = str(self.get_open_port())
         config.set('p2p-listen-endpoint', '0.0.0.0:' + p2p_port)
         config.set('p2p-server-address',
                    '%s:%s' % (str(p2p_address), str(p2p_port)))
         config.set('producer-name', account.name)
         config.set('signature-provider',
                    self.create_sig_provider(account.keypair))
         plugins = ['eosio::producer_plugin']
         config.append('plugin', plugins)
         config.write(join(nodepath, 'config.ini'))
         copyfile(join(self.parent_dir, 'config/genesis.json'),
                  join(nodepath, "genesis.json"))
         node = Node(account.name, nodepath)
         return node
     except FileNotFoundError as e:
         print(e)
コード例 #2
0
 def start_full(self, path, p2p_address, http_port, p2p_port):
     try:
         nodepath = join(path, self.folder_scheme + 'genesis')
         if not os.path.isdir(nodepath):
             os.makedirs(nodepath)
         os.chdir(nodepath)
         config = ConfigurationParser()
         config.read(join(self.parent_dir, 'config/template_config.ini'))
         config.set('blocks-dir', join(nodepath, 'blocks'))
         config.set('http-server-address', '0.0.0.0:' + http_port)
         config.set('p2p-listen-endpoint', '0.0.0.0:' + p2p_port)
         config.set('p2p-server-address', '%s:%s' % (p2p_address, p2p_port))
         config.set('enable-stale-production', True)
         config.set('producer-name', 'eosio')
         pair = self.wallet.create_import()
         self.edit_new_genesis(pair.public)
         config.set('signature-provider', self.create_sig_provider(pair))
         plugins = [
             'eosio::http_plugin', 'eosio::chain_plugin',
             'eosio::chain_api_plugin', 'eosio::history_plugin',
             'eosio::history_api_plugin', 'eosio::net_plugin',
             'eosio::net_api_plugin', 'eosio::producer_plugin'
         ]
         config.append('plugin', plugins)
         config.write(join(nodepath, 'config.ini'))
         copyfile(join(self.parent_dir, 'config/genesis.json'),
                  join(nodepath, "genesis.json"))
         node = Node('genesis', nodepath)
         node.start(3.0)
         self.update_node_state(node)
         self.save()
     except FileNotFoundError as e:
         print(e)
コード例 #3
0
def fetch_configurations(config_path):
    config = open(config_path, "r").read()
    return ConfigurationParser().parse_configuration(config)
コード例 #4
0
 def __init__(self, name, path):
     self.config = ConfigurationParser()
     self.path = os.path.abspath(path)
     self.name = name
     self.config.read(join(path, 'config.ini'))
     self.pid = self.get_pid()
コード例 #5
0
 def set_up_object_under_test(self):
     self.parser = ConfigurationParser()