Ethereum 简明教程

Ethereum - Deploying Contract

要部署合约,请选择 Contracts 菜单选项,如下面的屏幕截图所示 −

select contracts menu

您需要在此屏幕上输入合约的字节码。请记住,当您编译智能合约代码时,它将生成 EVM 上运行的字节码。现在您需要从 Remix IDE 获取此字节码。

转到 Remix IDE 界面,您先前键入的合约应在代码窗口中。如果没有,请在代码窗口中重新键入合约。点击字节码按钮,如下面屏幕截图所示 −

remix ide screen

编译的源代码的字节码与一些其他信息一并复制到剪贴板中。将复制的代码粘贴到您喜欢的文本编辑器中。以下是文本编辑器的截图 −

remix bytecode

object 标记的值包含所需的字节码。小心复制此字节码,确保不复制带引号的内容。字节码非常长,因此请确保一直复制到最后一个字节。现在,将此字节码粘贴到 Deploy Contract 界面中,如下所示 −

desired bytecode

Gas Limit 字段将自动设置。

在 Gas 限制字段下方,你会找到用于访问钱包的选择。

accessing wallet

现在,使用将要部署此合约的 Ganache 帐户的 Private Key 访问钱包。若要获取此私钥,请返回 Ganache 窗口。点击如下图中所示的第一个帐户的 keys 图标。

first account

你会看到用户帐户 # 1 的私钥,如下图所示。

first account private key

复制此私钥,并将其粘贴到“粘贴你的私钥”部分,如下图所示。

paste your private key

你将在屏幕底部看到 “Unlock” 按钮。解锁后,屏幕底部会显示“成功”消息。此时,你的钱包已连接到 Ganache 区块链的帐户 # 1。

现在,你可以为合约签名并部署它了。点击 “Sign Transaction” 按钮,如下图所示。

sign transaction

对交易签名会生成并显示 RawSigned 交易。点击 “Deploy Contract” 按钮在 Ganache 区块链上部署合约。记住,合约由 Ganache 区块链的帐户 # 1 用户部署。因此,帐户 # 1 用户成为合约创建者。在部署合约之前,系统会要求你确认交易,因为如果你要在公共的真实以太坊区块链上部署此合约,它可能会耗费一些真金白银。不必担心,对于正在你的本地机器上运行的当前私有区块链,无需支付真金白银。点击 Make transaction 按钮,如下图所示。

private blockchain running

检查 Ganache 控制台;你会看到帐户 # 1 中的 ETH 余额已减少,如下图所示。

ganache console

现在,点击 TRANSACTIONS 菜单,如下图所示。

ganache transactions screenshot

你会看到交易详情。

ganache transactions details

在此屏幕上,你会找到合约的发布地址。地址在上图中做了标记。你将公开分发此地址,以让其他人知道你的合约可在指定的地址上,他们可以连接到该地址,并执行合约方法(例如向你 - 合约创建者 - 发送钱)。复制此合约地址以供参考,因为在下一步中你将需要它。