值得信赖的区块链资讯!
如何用Solidity创建一个“Hello World”智能合约
成为专业智能合约开发人员的旅程从迈出第一步开始。
这篇文章将带你学习如何使用智能合约开发语言 Solidity 创建一个名为“Hello World”的智能合约。这篇文章不需要先验知识,初学者也很容易上手。即使你不是开发人员,跟着下面的步骤操作也可以轻松地创建你的第一个智能合约。
什么是智能合约
智能合约(https://chain.link/education/smart-contracts)是在区块链环境中发布和运行的计算机程序。由于它运行在区块链上,所以其运行不需要中心化的组织或服务器。
由于区块链的不变性,智能合约一旦被发布,就无法对其更新或修改。但智能合约中可能编写有具有更改数据功能的函数。信息可以在一个块中记录并在另一个块中删除,其历史记录会被保存并可以对其审核。
Solidity 编程语言
Solidity(https://docs.soliditylang.org/) 是用于实现智能合约的一种面向对象的高级编程语言。它是一种花括号(https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages)语言,即使用字符“{”和“}”定义语句块。
Solidity被设计运行在以太坊虚拟机 (EVM) 上,语法上受 C++、Python 和 JavaScript 的影响。它是一种静态型语言,且支持继承、库和复杂的用户定义类型等。
Remix
Remix 一款基于浏览器的IDE(集成开发环境),它可用于在线编写、编译、部署和调试 Solidity 代码。Remix中有一个在浏览器中运行的区块链模拟器,称为JavaScriptVM 的环境。接下来我们就会使用到它,点击这里:remix.ethereum.org(https://remix.ethereum.org/) 开始。
创建智能合约
点击左侧活动栏第一个按钮:“文件浏览器”(File Explorers)(译者注:由于界面会不时更新,图标顺序可能会变化,点击活动栏按钮会打开对应功能的侧边栏)
点击“创建新文件”(Create New File)按钮(译者注:在打开的侧边栏中,下同)。
将文件命名为:HelloWord.sol。
Solidity 文件的扩展名为“.sol”。
复制并粘贴下面的示例代码:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;
contract HelloWorld {
function sayHelloWorld() public pure returns (string memory) {
return "Hello World";
}
}
现在我们看下智能合约中都是有什么内容。
// SPDX-License-Identifier
“//”表示这行是注释,而不是代码。
SPDX 许可证(https://spdx.org/licenses/)列表规范是免费和开放或协作软件中使用的通用许可证列表。
自Solidity 0.6.8 引入了 SPDX 许可证标识符,便于开发人员指定智能合约使用的许可证。
SPDX 许可证标识符应添加到合约代码的顶部,并使用“//”标识。
// SPDX-License-Identifier: MIT
pragma
pragma用于指定 Solidity 版本,使用语义化版本控制。这里(https://docs.soliditylang.org/en/v0.8.13/layout-of-source-files.html)有进一步介绍。
pragma solidity 0.8.13;
Contract HelloWorld
这句代码定义了一个名为“HelloWorld”的合约。
合约是函数和数据(其状态)的集合。
一旦部署,合约将存在于以太坊区块链的某个地址上,这里(https://solidity.readthedocs.io/en/v0.8.13/structure-of-a-contract.html)有进一步介绍。
Function `sayHelloWorld`
这里定义了一个公有函数,该函数的功能是返回字符串“Hello World”。函数声明中的关键字 `pure`表示该函数不读取或不修改区块链状态。
编译智能合约
在Remix活动栏中找到“Solidity 编译器”(Solidity compiler)按钮并点击。
点击“Compile HelloWorld.sol”按钮。
也可以勾选启用自动编译(auto-compile)选项。
检查编译按钮上是否出现绿色标识,若出现绿色标识,鼠标放在按钮上会有编译成功提示信息。
部署智能合约
在活动栏中,点击“部署和运行事务”(Deploy and run transactions)按钮。
因为我们现在只创建了一个智能合约,侧边栏里 “CONTRACT”(合约) 下拉菜单会自动选择该合约。
单击“部署”按钮。
与智能合约交互
当在 Remix 中部署完智能合约后,我们可以在活动栏的 “部署和运行交易”(Deploy and run transactions)里看到它:
1. 在侧边栏中向下滚动鼠标,找到“已部署合约”( “Deployed Contracts”)。
3. 展开“HelloWorld”。
4. 点击按钮“sayHelloWorld”。
5. 它将返回记录在合约中的信息:“Hello World”。
恭喜,你成功创建了一个“Hello World”智能合约!
下一步
现在你已经使用 Solidity 创建了你的“Hello World”智能合约,你还可以做很多其它尝试,比如将合约部署到测试网甚至主网,更改消息,通过创建状态变量来存储消息,通过创建函数来更新消息,或将消息永久保存到区块链!
比推快讯
更多 >>- 美财长贝森特:美国今年 GDP 增速将达 3%
- 1011 内幕巨鲸再次向 Hyperliquid 存入 1000 万枚 USDC,以 5 倍杠杆做多 9010.4 枚 ETH
- 数据:755.51 万枚 TRX 从 Binance 转出,价值约 214.88 万美元
- 数据:巨鲸 ETH 和 XRP 多单浮亏扩大至 2493 万美元
- 铁杆空头巨鲸的 20 倍杠杆 BTC 空单现浮盈超 2000 万美元
- 数据:7246.9 亿枚 PEPE 从 Coinbase 转出,价值约 314.52 万美元
- 麻吉割肉平仓 ETH 多单后再次做多 2100 枚 ETH
- K33 Research:市场大幅上涨可能性大于再次下跌,12 月或有建仓良机
- 特朗普计划以关税收入取代个人所得税
- Michael Saylor 再次发布比特币 Tracker 信息,或暗示再次增持 BTC
- Glassnode:比特币企稳后投资者恐慌情绪消退,资金开始流向看涨期权
- Ansem:比特币或将在 12 月再次测试 8 万美元
- Stable 代币上线首日后 FDV 超 20 亿美元概率升至 85%
- 某个疑似 Wintermute 钱包过去两周积累价值 520 万美元的 SYRUP 代币
- 马斯克回应 X 遭 1.2 亿欧元罚款:欧盟应该被废除
- 某新建钱包向 Hyperliquid 存入 300 万枚 USDC 开设 10 倍杠杆 HYPE 多单
- 分析:美 SEC 拟评估加密隐私与监管权重,监管走向或现两极化
- 中央网信办主任:提升区块链共性服务支撑能力,加快区块链等数智技术创新
- Pump.fun 过去 24 小时协议收入超越 Hyperliquid
- Crypto DAO 将于 12 月 10 日开启全球节点认购
- Paradigm 联创:此刻正是加密行业的Netscape 或 iPhone 时刻
- 哈塞特:美国将迎经济史上的黄金一年,除非有“黑天鹅”干扰
- Strategy CEO:公司的美元储备可支撑至少 21 个月无需出售比特币
- Strategy CEO:不存在无法履行股息义务问题,有人散播谣言
- 数据:过去 24h Binance 净流出 5.14 亿 USDT
- 法国银行巨头 BPCE 公布加密交易服务详情:现支持 BTC、ETH、SOL 和 USDC
- 币安更新 12 月储备金证明:BTC 储备率 102.11%,USDT 储备率 109.16%
- 21 Capital 因上市需要拟将 4.35 万枚比特币转至自主托管账户
- 加密 KOL:Binance Futures 官方账号推文与链上发币存在时间差,或涉及内幕交易
- Hasu 与 Vitalik 激辩链上 Gas 期货市场想法:做多意愿较弱将引发流动性不足,或难形成规模
- 数据:沉睡 13 年的 Casascius 实物币转移 2000 枚比特币,约合 1.8 亿美元
- Solana 基金会总裁呼吁生态借贷协议停止内斗、专注扩大市场
- 麻吉以太坊多单再次陷入浮亏,曾一度浮盈超 160 万美元,最新爆仓价 2,990.67 美元
- 数据:299.89 枚 BTC 从匿名地址转出,价值约 2289 万美元
- 数据:415.21 万枚 TON 从匿名地址转出,经中转后流入 TON
- 某巨鲸以 3,040.92 美元均价 2 倍做多 2 万枚 ETH
- 预测市场 DeFi 层协议 Gondor 完成 250 万美元 Pre-Seed 轮融资,Prelude 等参投
- OKX 创始人 Star 回应与摩尔线程联创李丰纠纷:债务交由法律处理,不应停留在负面阴影
- Kalshi 发布新 SDK,全面开放交易、行情与投资组合管理 API
- 分析师:CEX 平台 ETH 持有量降至 8.8% 历史低位,供应紧张或推动价格上涨
- 韩国拟要求加密交易所承担“无过错赔偿义务”,Upbit 遭黑客事件成导火索
- DOYR 代币 TOP1 持有者在上线 5 分钟内买入超 2,400 万美元,目前浮盈 19.3 万美元
- 摩尔线程联创李丰被曝曾涉发币、欠 1500 枚 BTC 不还
- 数据:当前加密恐慌贪婪指数为 21,处于极度恐慌状态
- 前交银香港高管叶子建:全力支持金融科技发展,抓紧数字货币等关键战略领域机遇
- OKX 将下线 PIGGYUSDT 永续合约
- 黄仁勋:比特币将过剩能源转化为可流通货币
- 数据:IO 24 小时跌超 18%,FIS 今日新低
- 过去 7 日 CEX 累计净流出 8,915.00 枚 BTC
- a16z 报告:建议区块链差异化应对量子计算威胁
比推专栏
更多 >>观点
比推热门文章
- 美财长贝森特:美国今年 GDP 增速将达 3%
- 1011 内幕巨鲸再次向 Hyperliquid 存入 1000 万枚 USDC,以 5 倍杠杆做多 9010.4 枚 ETH
- 数据:755.51 万枚 TRX 从 Binance 转出,价值约 214.88 万美元
- 数据:巨鲸 ETH 和 XRP 多单浮亏扩大至 2493 万美元
- 铁杆空头巨鲸的 20 倍杠杆 BTC 空单现浮盈超 2000 万美元
- 数据:7246.9 亿枚 PEPE 从 Coinbase 转出,价值约 314.52 万美元
- 麻吉割肉平仓 ETH 多单后再次做多 2100 枚 ETH
- K33 Research:市场大幅上涨可能性大于再次下跌,12 月或有建仓良机
- 特朗普计划以关税收入取代个人所得税
- Michael Saylor 再次发布比特币 Tracker 信息,或暗示再次增持 BTC
比推 APP



