我正在开发一个可靠的智能契约,并通过命令行通过brownie运行的python代码来部署它。此外,我正在开发一个带有类型记录的前端dApp,以进行交互,并部署这些合同。使用useDApp允许我与已经部署的合同进行交互,但我仍然没有弄清楚如何通过前端部署这些合同。
简单地说,"deploy.py“代码有一个函数,它部署可靠的代码,并将一些变量传递给构造函数。效果很好。
在App (类型记录)的前端,我有一个用户可以填写的表单,然后当他们点击"send“按钮时,这些字段就会变成变量。我现在所需要的就是将这些变量传递给"deploy.py“文件,这样它就可以将它们转换到solidity构造函数中,当然,还可以通过brownie部署契约。
更新:
发现更简单的方法是忘记python部分,直接使用ethers.js ContractFactory部署契约。不过,直到现在才能解决,但在我去的路上。
发布于 2022-01-19 22:26:14
与python后端进行前端对话的唯一方法是使用Flask创建一个restful。因此,当您提交表单时,您将向python服务器发送post请求,python烧瓶将使用request.json提取已发布的数据。
from flask import Flask
from flask import request
app = Flask(__name__)
# allow only post request here
@app.route('/deploy_contract_route', methods = ['POST'])
def deploy_contract():
content_type = request.headers.get('Content-Type')
if (content_type == 'application/json'):
json = request.json
# json includes the post data. now you past this to deploy request. you get individual fields data
deploy_contract_script(pass_args_here):
# what ever deploying logic runs here
return value_to_front_end
else:
return 'Content-Type not supported!'https://stackoverflow.com/questions/70777895
复制相似问题