区块链入门-0xGame-Blockchain
区块链入门-0xGame-Blockchain
Kn1ght[Week 1] 肘,上链!
环境配置
MetaMask
浏览器插件商店搜索并添加即可,然后创建一个账户(建议使用chrome)
Remix
Solidity语言的一个在线ide网站-Remix:https://remix.ethereum.org/
python的web3库
安装命令:pip install web3
开始复现
先nc连上去创建个账户
第一句话告诉我们,我们的任务是要让isSolved函数的返回值为ture
再nc连接一遍,这次输入2,填入之前给的token获取合约地址(contract address)
然后打开MetaMask添加到测试网络,并切换到此网络
先到题目所给水龙头地址接点水,因为部署合约需要支付一定的费用
将自己钱包地址粘贴到框框中,点击Request,稍等一会,测试币就到账了
然后获取此题目的合约代码
合约代码如下:
1 | // SPDX-License-Identifier: UNLICENSED |
打开后新建一个名为test的文件(名称随机即可,sol后缀会自动补全),粘贴代码 编译合约,然后选择Injected Provider - MetaMask,如图:
这时MetaMask会跳出来,点击连接就好了
然后将之前获取的合约地址(contract address)填入 “At Address”后面的框框中,然后点击 “At Address”
下面一步就是要编写脚本了,这个合约代码不难,要求传的值需要与”Hello0xBlockchain”的keccak256哈希值相同就行,让gpt跑个脚本,需要用到web3的库
安装命令:pip install web3
下面贴一下官方wp里的脚本
1 | from web3 import Web3 |
在得到的结果前面加上0x 然后填到Sign框框中,点击Sign,这时会跳出一个交易的对话框,点击确认
看到绿色的勾勾时就说明成功了,然后点击isSolved,看到成功返回值了
然后回到nc连接,选择3,输入token就能拿到flag啦
小结
这是我第一次做Blockchain题目,不足之处还请大佬指出。了解了区块链的一些知识和做题步骤,但这仅仅是开始,以后会多加学习区块链相关知识。