繁体   English   中英

通过 Angular 前端部署 Solidity 智能合约

[英]Deploying Solidity Smart Contract via Angular Frontend

我们已经创建了一个Admin来访问所有的Contract Methods,但是现在我们还需要Admin针对不同的业务场景进行一键部署。 我们需要在我们的管理员中重新混合 Ide 类型的界面,管理员用户可以在其中粘贴他们的智能合约,并可以使用 Metamask 通过前端本身进行部署。 有什么办法可以做到这一点?

我知道编译和字节码生成也需要后端,这不是问题,但它应该可以在不要求私钥的情况下工作。 来自部署者。

它应该像这样工作:

  1. 登录管理门户。
  2. Go添加合约,粘贴合约。
  3. 来自后端的一些验证/编译。
  4. 单击部署后,它应该要求 Metamask 进行部署,而不是使用私钥从后端进行部署。

您也可以使用solc NPM package 在前端编译合约。

请注意,GitHub 存储库称为solc-js ,但 NPM package 只是solc 还有一个叫solc-js的 NPM package 好像已经废弃了。


合约部署只不过是发送带有特定参数的交易。 具体就是省略了to字段, data字段就是编译后的字节码。

您可以请求MetaMask 签署交易:

const params: [{
    from: '0x<userAddress>',
    data: '0x<contractBytecode>',
}];

const txHash = await ethereum.request({
    method: 'eth_sendTransaction',
    params,
})

要获得他们的地址,您首先需要他们MetaMask 连接到您的应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM