通过 Angular 前端部署 Solidity 智能合约
Deploying Solidity Smart Contract via Angular Frontend
我们已经创建了一个Admin来访问所有的Contract Methods,但是现在我们还需要Admin针对不同的业务场景进行一键部署。我们需要在我们的管理员中重新混合 Ide 种界面,管理员用户可以在其中粘贴他们的智能合约,并可以使用 Metamask 通过前端本身进行部署。有什么办法可以实现吗?
我知道编译和字节码生成也需要后端,这不是问题,但它应该可以在不要求私钥的情况下工作。来自部署者。
它应该像这样工作:
- 登录管理门户。
- 转到添加合同并粘贴合同。
- 来自后端的一些 validations/compilation。
- 点击部署后,它应该要求 Metamask 进行部署,而不是使用私钥从后端部署。
您也可以使用 solc NPM 包在前端编译合约。
请注意,GitHub 存储库称为 solc-js
,但 NPM 包只是 solc
。还有另一个名为 solc-js
的 NPM 包似乎已被废弃。
合约部署只不过是发送带有特定参数的交易。具体来说,省略to
字段,data
字段为编译后的字节码。
您可以request MetaMask 签署交易:
const params: [{
from: '0x<userAddress>',
data: '0x<contractBytecode>',
}];
const txHash = await ethereum.request({
method: 'eth_sendTransaction',
params,
})
要获取他们的地址,您需要他们先 connect MetaMask 到您的应用程序。
我们已经创建了一个Admin来访问所有的Contract Methods,但是现在我们还需要Admin针对不同的业务场景进行一键部署。我们需要在我们的管理员中重新混合 Ide 种界面,管理员用户可以在其中粘贴他们的智能合约,并可以使用 Metamask 通过前端本身进行部署。有什么办法可以实现吗?
我知道编译和字节码生成也需要后端,这不是问题,但它应该可以在不要求私钥的情况下工作。来自部署者。
它应该像这样工作:
- 登录管理门户。
- 转到添加合同并粘贴合同。
- 来自后端的一些 validations/compilation。
- 点击部署后,它应该要求 Metamask 进行部署,而不是使用私钥从后端部署。
您也可以使用 solc NPM 包在前端编译合约。
请注意,GitHub 存储库称为 solc-js
,但 NPM 包只是 solc
。还有另一个名为 solc-js
的 NPM 包似乎已被废弃。
合约部署只不过是发送带有特定参数的交易。具体来说,省略to
字段,data
字段为编译后的字节码。
您可以request MetaMask 签署交易:
const params: [{
from: '0x<userAddress>',
data: '0x<contractBytecode>',
}];
const txHash = await ethereum.request({
method: 'eth_sendTransaction',
params,
})
要获取他们的地址,您需要他们先 connect MetaMask 到您的应用程序。