0x00-环境配置
https://www.cnblogs.com/KRDecad3/p/10798383.html
Rinkeby获取测试币网站
https://faucets.chain.link/rinkeby
其他的获取都没啥问题,选择购买->第二个即可
0x01-基础使用
可以本地化安装,也可以使用在线网站 http://remix.ethereum.org
0x00-创建文件
按照如下操作创建新文件,名称后缀为.sol
0x01-源码编译
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| pragma solidity ^0.4.23; contract Trans{ string flag; mapping(address => uint256) balances; constructor () public { //flag = WHAT_YOU_WANT; } function getBalance() public returns (bool){ balances[msg.sender] = 100; return true; } function showBalance() public view returns (uint256){ return balances[msg.sender]; } function Transfer(address[] _addr, uint256 _value) public returns (bool){ uint times = _addr.length; uint256 amount = uint256(times) * _value; require(_value > 0 && balances[msg.sender] >= amount); require(times > 0 && times < 10); balances[msg.sender] -= amount; for(uint i = 0; i < times; i++){ balances[_addr[i]] += _value; } return true; } function getFlag() public view returns (string){ require(balances[msg.sender] > 9999999); return flag; } }
|
一些说明
我们选择的COMPILER需要和题目的源码的版本一致
然后我选择了自动编译
0x02-配置题目合约
弄好之后点击Deploy即可,然后他会连接并让我们确认支付
然后这些就是函数
0x02-刷题网站
https://chainflag.org/challenges
因为智能合约基本是solidity语法,所以需要学习一下
https://www.jianshu.com/p/70aecda3212e