以太坊,作为区块链2.0的杰出代表,不仅仅是一种加密货币,更是一个去中心化的应用平台,其核心魅力在于智能合约——一种运行在以太坊虚拟机(EVM)上,能够自动执行合约条款的计算机程序,对于想要踏入区块链开发领域的新手来说,亲手编写并部署一个以太坊智能合约Demo,是理解其工作原理的最佳途径,本文将带你一步步完成这个过程。
什么是智能合约?
智能合约是一种“那么”(If-This-Then-That)式的自动化协议,它被部署在区块链上,一旦预设的条件被触发,合约就会自动执行约定的操作,且整个过程透明、不可篡改,以太坊智能合约通常使用Solidity语言编写。
为何需要一个Demo?
一个Demo(演示程序)能够将抽象的概念具体化,通过构建一个简单的Demo,你可以:
- 理解核心概念:如账户、地址、余额、交易、Gas等。
- 熟悉开发流程:从环境搭建、合约编写、编译、部署到与合约交互。
- 获得实践经验:理论知识结合动手实践,印象更深刻。
- 建立开发信心:完成第一个Demo后,你将有能力探索更复杂的智能合约应用。
我们的Demo目标:一个简单的“投票”合约
为了演示智能合约的基本功能,我们将创建一个简单的投票合约,这个合约将允许:
- 创建者(合约部署者)添加多个投票选项。
- 地址(每个地址限一次)可以对其中一个选项进行投票。
- 查询各选项的当前得票数。
构建Demo前的准备:开发环境搭建
在开始编写合约之前,你需要准备以下工具和环境:
- MetaMask钱包:一个浏览器插件钱包,用于管理你的以太坊账户、私钥,并与以太坊网络交互,从MetaMask官网下载并安装,创建一个新钱包并妥善保存助记词。
- 以太坊测试网ETH:为了在测试网络上部署和交互合约,你需要免费的测试网ETH,你可以从水龙头(Faucet)网站获取,如Sepolia测试网的Faucet。
- VS Code:一个流行的代码编辑器,建议安装Solidity插件,它提供语法高亮、代码提示等功能。
- Hardhat:一个流行的以太坊开发环境,用于编译、测试、部署智能合约,它提供了强大的插件系统和调试功能。
- 安装Node.js和npm(或yarn)。
- 在终端中运行
npx hardhat初始化一个新的Hardhat项目。
编写智能合约(Solidity)
在Hardhat项目中,你会在 contracts/ 目录下找到 Lock.sol








