2.区块链系列之部署合约
本文介绍从零至一采用Remix工具,使用Solidity语言开发,部署合约至rinkeby测试网,对于主网部署只需切换网络即可。
1. 编写SimpleStorage.sol合约
// SPDX-License-Identifier: MIT 协议指定,否则会警告
pragma solidity 0.8.7; // 指定solidity版本号
// 智能合约名
contract SimpleStorage {
uint256 favoriteNumber = 666;
// map定义每个人喜欢的数字
mapping(string => uint256) public name2FavoriteNumber;
// 结构体
struct People {
uint256 favoriteNumber;
string name;
}
// 数组
People[] public people;
// 存储消耗gas
function store(uint256 _favoriteNumber) public {
favoriteNumber = _favoriteNumber;
}
// 对于view的获取不消耗gas
function retrieve() public view returns(uint256) {
return favoriteNumber;
}
function addPerson(string memory _name, uint256 _favoriteNumber) public {
people.push(People(_favoriteNumber, _name));
}
}
假设读者已经有了MetaMask钱包账号,注意请使用测试账号,请勿使用暴漏主网钱包私钥!!!!
2. MetaMask相关配置
1)进入MetaMask钱包,点击以太坊主网络,然后Show/hide test networks,选择目前推荐的Goerli测试网络
2)目前测试网络中没有ETH,我们需要或取测试用ETH,以供支付部署合约所需gas费用
访问https://faucets.chain.link/,连接钱包,验证后就可以获取到测试用的0.1
GoerliETH
钱包确认后过一会可以看到如下图所示,部署成功。下图左侧可以进行进行函数的操作
可以在浏览器中看到合约地址:
https://goerli.etherscan.io/tx/0x5a0937bc87f1b7fd6c74dc1496664856982dd0a2a94bde0de930af66d1ea9b8e#statechange