2 from os import path, environ
3 from flask import Flask, request
4 from flask_bootstrap import Bootstrap
5 from flask_sqlalchemy import SQLAlchemy
6 from werkzeug.routing import BaseConverter
7 from config import conifg
11 class RegexConverter(BaseConverter):
12 def __init__(self, url_map, *items):
13 super(RegexConverter, self).__init__(url_map)
16 bootstrap = Bootstrap()
18 basedir = path.abspath(path.dirname(__file__))
21 def startmainchain(datadir, args=""):
22 shutil.rmtree(datadir)
23 subprocess.Popen(("bytom init -r="+datadir+" "+args).split(), stdout=subprocess.PIPE)
24 subprocess.Popen(("bytom node -r="+datadir+" "+args).split(), stdout=subprocess.PIPE)
27 #./bytomd.exe node -r "side_chain" --validate_pegin true --side.fedpeg_xpubs "227e08f80ebc11bc0406ffe9f941b117a0259dfbae3c266f96030ddb7d89760d33b9007a5d5d25c95b34650ad3a4c830fc5dcf96828820b7d98e6d7070f835c2" --side.sign_block_xpubs "227e08f80ebc11bc0406ffe9f941b117a0259dfbae3c266f96030ddb7d89760d33b9007a5d5d25c95b34650ad3a4c830fc5dcf96828820b7d98e6d7070f835c2" --signer "581ffdbd66a895ba28561d0931e93857e253372b465549aa22f94830118e2a4633b9007a5d5d25c95b34650ad3a4c830fc5dcf96828820b7d98e6d7070f835c2" --side.parent_genesis_block_hash "a97a7a59e0e313f9300a2d7296336303889930bfdf5a80d8a9b05db343c03380"
28 def startsidechain(datadir, args=""):
29 shutil.rmtree(datadir)
30 subprocess.Popen((ELEMENTSPATH+"/bytom_side init -r="+datadir+" "+args).split(), stdout=subprocess.PIPE)
31 subprocess.Popen((ELEMENTSPATH+"/bytom_side node -r="+datadir+" "+args).split(), stdout=subprocess.PIPE)
33 def create_app(config_name):
35 app.config.from_object(conifg[config_name]) # 配置都在config.py这个文件中
36 conifg[config_name].init_app(app)
38 bootstrap.init_app(app)
41 from .api import api as api_blueprint
42 app.register_blueprint(api_blueprint, url_prefix='/api')
43 #app.register_blueprint(api_blueprint, static_folder='static', template_folder='templates')