
如何用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”智能合约,你还可以做很多其它尝试,比如将合约部署到测试网甚至主网,更改消息,通过创建状态变量来存储消息,通过创建函数来更新消息,或将消息永久保存到区块链!
比推快讯
更多 >>- Arkham:FTX从Coinbase Prime提出价值 3972 万美元的SOL
- Spark:SPK 将于明日 16:00 开放空投申领
- 特朗普:与加拿大达成贸易协议可在数日或数周内实现
- Purpose XRP ETF 获批拟于 6 月 18 日在多伦多证券交易所上市
- Davis Commodities 推出 3000 万美元战略增长计划,15%投入比特币储备
- 欧洲委员会:关于欧盟接受 10%美国关税的报道是猜测性的
- Jupiter DAO 成员批评项目团队拥有的投票权过大
- 加拿大上市公司 Universal Digital 推出比特币资金储备战略
- OGN DAO 宣布将回购价值超过 300 万美元的 OGN
- Bitwise CEO:投资者似乎正在重新审视以太坊
- TRX 今年迄今表现优于 ETH、SOL 及 BNB,逊于 BTC
- ZachXBT 提醒 WhiteRock Finance(WHITE)项目存在多项风险
- Solana 联创:Cardano 拟将 1 亿美元 ADA 转为比特币的计划“太愚蠢”
- 币安:6 月 17 日起币安 Alpha 代币之间的交易量不计入 Alpha 积分
- 受 Tron 反向合并上市影响,SRM Entertainment 股价大涨 200%
- 美 SEC 延迟对 Franklin 现货以太坊 ETF 的质押选项做出决议
- 过去 7 日波场网络稳定币增加 13.8 亿枚,Avalanche 网络稳定币减少 7.686 亿枚
- 伯恩斯坦:GENIUS 法案一旦生效,稳定币将成为互联网现金层
- 波场将通过「借壳」方式在美国上市,并与特朗普次子成立类 Strategy 公司
- 巴西加密行业不满针对利润统一征收 17.5%税率
- 今日美国比特币 ETF 净流入 2864 枚 BTC,以太坊 ETF 净流出 3748 枚 ETH
- WSJ:伊朗表示希望缓和与以色列的敌对状态
- 美股 Circle 涨幅扩大至 17.89%,市值升至 351.32 亿美元
- 塞尔维亚前总统发文确认其担任 AB 基金会 CEO,正开展慈善事业
- 某聪明钱 45 分钟向 Coinbase 充值 5028 枚 ETH,若卖出将亏损 109.1 万美元
- 美股三大股指高开,特朗普媒体科技集团涨 1.3%
- 分析:美联储或因劳动力数据降温降改变立场
- “树图”创始人龙凡:曾花费 1000 美元购入 100 枚比特币,但卖得太早
- Beat Holdings 寻求募资 7990 亿日元以购买 5 万枚 BTC
- 疑似加密 KOL凉兮与嗯哼同步买入 Meme 币 Moolah
- 数据:过去 24 小时全网爆仓 1.98 亿美元,多单爆仓 7154.00 万,空单爆仓 1.27 亿
- 美股盘前 SRM Entertainment 涨 194.48%,市值升至 2500 万美元
- 币安 Alpha 更新交易对手续费费率
- 萨尔瓦多自与 IMF 达成非积累协议以来增持 240 枚比特币
- 波场市值超越蜜雪冰城,市值升至 269.6 亿美元
- 娱乐公司 SRM 签署 1 亿美元股权融资协议,以启动 TRX 代币储备策略
- Gate 5 月合约交易量环比增长 66%,涨幅居全球首位
- Truth Social 比特币和以太坊 ETF 已向美 SEC 提交注册声明
- Tron 或与 Eric Trump 合作成立类似 Strategy 的公司
- 市场消息:Tron 寻求在美国上市
- 《金融时报》:波场即将上市
- 特朗普手机预计九月上市,售价 499 美元
- 特朗普:特朗普手机将采用“美国制造”的手机和服务
- Trump Organization 推出 Trump Mobile 手机
- Strategy 再次增持 10,100 枚比特币
- 巴基斯坦加密委员会代表否认 Michael Saylor 担任战略加密货币顾问相关报道
- 分析:美联储利率决议可能被“联储影子主席”抢风头
- 域塔物流计划申请港元稳定币牌照,拟发行比特币锚定代币RBTC
- TON 开发者生态交流日于本周日在港举行,聚焦支付、稳定币与 RWA 场景
- 英国上市公司 Smarter Web Company 完成约 3710 万美元股权融资,将用于比特币储备计划
比推专栏
更多 >>观点
比推热门文章
- Spark:SPK 将于明日 16:00 开放空投申领
- 特朗普:与加拿大达成贸易协议可在数日或数周内实现
- Purpose XRP ETF 获批拟于 6 月 18 日在多伦多证券交易所上市
- Davis Commodities 推出 3000 万美元战略增长计划,15%投入比特币储备
- 欧洲委员会:关于欧盟接受 10%美国关税的报道是猜测性的
- Jupiter DAO 成员批评项目团队拥有的投票权过大
- 加拿大上市公司 Universal Digital 推出比特币资金储备战略
- OGN DAO 宣布将回购价值超过 300 万美元的 OGN
- Bitwise CEO:投资者似乎正在重新审视以太坊
- TRX 今年迄今表现优于 ETH、SOL 及 BNB,逊于 BTC