Solidity:菜鸟到英雄 - Day 2

本文是Solidity入门教程的第二天内容,主要讲解如何搭建Solidity的开发环境,包括安装MetaMask钱包,使用Remix IDE,以及可选的Hardhat本地开发环境。并通过一个简单的Hello Web3合约示例,演示了合约的编写、编译和部署过程,以便读者快速上手Solidity智能合约开发。

Solidity:菜鸟到英雄 — 第 2 天 | 设置开发环境并编写你的第一个合约

👋 欢迎回来,区块建造者们!

我们已经到达了 Solidity:菜鸟到英雄 系列的第 2 天。 昨天,我们介绍了 Solidity 的基础知识及其在 Web3 领域的重要性。 今天,我们将深入研究设置开发环境,你需要它来开始编写和测试智能合约。

如果你想成为 Solidity 专家,你需要合适的工具来工作。 别担心——我将一步一步地引导你完成所有步骤,到今天结束时,你将设置好你的环境并运行你的第一个合约。

🛠️ 设置你的开发环境

要开始开发智能合约,你需要一些必要的工具:

  1. Remix IDE

    Remix 是一个基于 Web 的 Solidity 集成开发环境 (IDE)。 它易于使用,不需要任何安装,并且允许你直接从浏览器编写、测试和部署智能合约。 它非常适合初学者!

  2. Hardhat

    Hardhat 是一个原生以太坊开发环境,允许你在本地编写、部署、测试和调试智能合约。 它非常适合构建可用于生产的合约,并在将它们部署到实时区块链之前在受控环境中对其进行测试。

  3. MetaMask

MetaMask 是一个流行的以太坊钱包,允许你与区块链交互并部署合约。 它可以作为浏览器扩展工作,你可以使用它来管理你的帐户、签署交易以及连接到以太坊测试网和主网。

🔧 安装工具

1. 安装 MetaMask

  • 转到 MetaMask 网站 并安装 Chrome、Firefox 或 Brave 的浏览器扩展。
  • 创建一个钱包并保护你的助记词(如果你失去访问权限,你需要它来恢复你的钱包)。
  • 确保你现在已连接到 Rinkeby testnet。 这将允许你测试你的合约而无需花费真正的 ETH。

2. 设置 Remix IDE

  • 打开 Remix IDE
  • Remix 已经可以使用了,无需安装! 你将看到代码编辑器以及左侧的文件和文件夹列表。 我们将使用它来编写和部署今天的合约。

3. 安装 Hardhat(本地测试可选)

  • 如果你以后想在本地处理更复杂的项目,你可以安装 Hardhat
  • 在你的终端中运行以下命令:
  • bash
    mkdir my-solidity-project
    cd my-solidity-project
    npm init -y
    npm install --save-dev hardhat
  • 安装完成后,你可以使用 npx hardhat 运行 Hardhat 以开始在本地构建你的项目。

📝 编写你的第一个合约:“Hello Web3!”

现在你的环境已准备就绪,是时候编写你的第一个智能合约了。 如果你还不完全理解代码,请不要担心——这只是为了让你熟悉 Solidity 的语法和结构。

这是一个简单的合约,它说“Hello Web3”:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract HelloWeb3 {
    string public message;

    constructor() {
        message = "Hello, Web3!";
    }

    function getMessage() public view returns (string memory) {
        return message;
    }
}

🚀 测试合约

  1. 打开 Remix IDE。
  2. 创建一个新文件:在左侧面板中,单击“+”图标并创建一个名为 HelloWeb3.sol 的文件。
  3. 将代码复制到文件中并保存。
  4. 编译合约:在左侧面板中,转到“Solidity Compiler”选项卡(带有 Solidity 徽标的那个)。 单击“Compile HelloWeb3.sol”。
  5. 部署合约
  • 转到“Deploy & Run Transactions”选项卡(带有以太坊徽标的那个)。
  • 为环境选择 Injected Web3。 这将使用你的 MetaMask 钱包。
  • 点击 Deploy 并在 MetaMask 中确认交易。

你现在应该看到你的合约已部署在 Rinkeby 测试网上。 你可以通过调用 getMessage() 函数与之交互,该函数将从合约返回“Hello, Web3!”。

📚 代码中发生了什么?

  • pragma solidity ^0.8.0;

这一行定义了我们正在使用的 Solidity 的版本。

  • contract HelloWeb3

这就是我们定义一个名为 HelloWeb3 的新智能合约的方式。

  • constructor()

构造函数在合约部署时调用一次,并将 message 设置为 "Hello, Web3!"。

  • getMessage()

此函数只是返回存储在合约中的 message

📆 接下来是什么?

在下一课中,我们将更深入地研究 Solidity 的基本构建块,包括数据类型、变量和函数。 我们还将仔细研究如何从前端应用程序与你的合约进行交互。

📝 第 2 天作业

你今天的工作:

  1. 安装 MetaMask、Remix IDE 和 Hardhat(可选)。
  2. 编写并部署你的第一个智能合约 — Hello Web3
  3. 通过 Remix 与你的合约交互以调用 getMessage 函数。
  4. 与他人分享你的经验——在推特或帖子中发布关于你的第一个合约!

💬 让我们一起构建

如果你有任何问题或需要帮助,请发表评论或在 Twitter 上与我联系。 不要忘记分享你的进步! 让我们继续公开学习和建设。

  • 原文链接: coinsbench.com/solidity-...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
CoinsBench
CoinsBench
https://coinsbench.com/