HelloEthernaut


文档摘要

Hello Ethernaut 题目描述 原题 in Sepolia 本题目是Ethernaut的新手村教程,让玩家熟悉如何通过浏览器的控制台解决问题。 但本仓库使用Foundry框架,主要提供解题思路,不拘泥于形式。 运行 根据Foundry 官方文档配置好运行环境后,于本项目下执行下列命令: 功能简述 题目引导我们如何完成一道题目的完整解题过程。 首先创建实例,在本仓库中就是通过工厂合约创建出一个题目。即调用 方法。 然后题目让我们调用 ,然后根据合约的返回值调用其他方法... 最后提交实例,以判断是否完成解题,即调用工厂合约的 方法。

Hello Ethernaut

题目描述

原题 in Sepolia

本题目是Ethernaut的新手村教程,让玩家熟悉如何通过浏览器的控制台解决问题。

但本仓库使用Foundry框架,主要提供解题思路,不拘泥于形式。

运行

根据Foundry 官方文档配置好运行环境后,于本项目下执行下列命令:

$ cd WTF-CTF $ forge test -C src/Ethernaut/Hello_Ethernaut -vvvvv

功能简述

题目引导我们如何完成一道题目的完整解题过程。

首先创建实例,在本仓库中就是通过工厂合约创建出一个题目。即调用createInstance()方法。

// createInstance 创建题目实例 // _player 玩家地址,在本仓库中有时是测试合约地址,有时是玩家自己的EOA地址,已解决不同的题目,如果都可以时,默认是测试合约地址。 function createInstance(address _player) public payable override returns (address)

然后题目让我们调用info(),然后根据合约的返回值调用其他方法...

最后提交实例,以判断是否完成解题,即调用工厂合约的validateInstance()方法。

// validateInstance 验证题目是否完成 // _instance 创建的实例题目地址 // _player 题目的玩家地址 function validateInstance(address payable _instance, address _player) public view override returns (bool)

发布者: 作者: 转发
评论区 (0)
U