区块链初探-尝试编写合约

TL;DR

  • 这篇文章记录了使用 Remix IDE 编写 Solidity 入门合约的基本过程。
  • 示例从 HelloWorld 合约开始,帮助理解状态变量、构造函数和智能合约的最小结构。
  • 学习智能合约时应先掌握合约生命周期和链上状态,再处理权限、升级和安全审计等问题。

1.创建 Solidity 源文件:

打开 Remix IDE,这是一个在线的 Solidity 编辑器。
在左侧的文件资源管理器中,点击“contracts”文件夹,然后创建一个新的 .sol 文件,例如 HelloWorld.sol。

简单的sol合约代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pragma solidity ^0.8.13;

contract HelloWorld {
// 状态变量
string public greeting;

// 构造函数
constructor() {
greeting = "Hello, World!";
}

// 函数:获取问候语
function getGreeting() public view returns (string memory) {
return greeting;
}

// 函数:设置问候语
function setGreeting(string memory newGreeting) public {
greeting = newGreeting;
}
}

上面的代码创建了一个名为 HelloWorld 的智能合约。
greeting 是一个状态变量,用于存储问候语。
constructor 是构造函数,在部署合约时初始化 greeting
getGreeting 函数用于获取问候语。
setGreeting 函数用于设置新的问候语。

2.编译智能合约:

在 Remix IDE 中,点击“Compile”选项卡,确保自动编译已勾选。
点击 HelloWorld.sol 文件,然后点击“Compile HelloWorld.sol”。

3.部署智能合约:

在 Remix IDE 中,切换到“Deploy & Run Transactions”选项卡。
选择合适的网络(例如 JavaScript VM 或 Injected Web3)。这里选择的时候也可以选择链接到自搭建的chain中。
点击“Deploy”按钮,部署合约。

4.调用智能合约函数:

在 Remix IDE 中,切换到“Deployed Contracts”选项卡。
找到部署的 HelloWorld 合约。
使用 getGreeting 和 setGreeting 函数来获取和设置问候语。可以直接在remix网页中看到调用效果