rock

always exploring

注册于 2024-05-16
利用ABI逆向解码交易数据

当合约部署者没有上传合约源代码时,我们是否能逆向分析合约的方法信息呢?通过学习ABI相关知识,你可以结合公共数据来尝试逆向解析出一笔交易的执行意图!请解析这笔交易数据所表达的意图: 0xa9059cbb0000000000000000000000005494befe3ce72a2ca0001fe0ed0c55b42f8c358f000000000000000000000000000000000000000000000000000000000836d54c

难度 预计 10 分钟
使用Foundry编写Solidity单元测试

使用Foundry编写Solidity单元测试是一种高效的方式来确保你的智能合约代码的健壯性和正确性。Foundry是一个由Solidity开发者社区广泛使用的智能合约开发和测试框架,它提供了一套强大的工具来编译、测试和部署Ethereum智能合约。

难度 预计 30 分钟
用 Solidity 编写 Bank 智能合约

该挑战用来理解合约账号、合约如何接收 ETH,receive/fallfack函数的使用,理解 payable,如何从合约里面转出 ETH,以及映射和数组的使用。

难度 预计 240 分钟
Solidity 编写 TokenBank

该挑战用来理解合约与合约的交互,理解ERC20 的使用,尤其是 Token 的 transfer, 以及 approve 与 tansferFrom 的组合使用。

难度 预计 30 分钟
编写 ERC721 NFT 合约

ERC721 标准代表了非同质化代币(NFT),它为独一无二的资产提供链上表示。从数字艺术品到虚拟产权,NFT的概念正迅速被世界认可。了解并能够实现 ERC721 标准对区块链开发者至关重要。通过这个挑战,你不仅可以熟悉 Solidity 编程,而且可以了解 ERC721 合约的工作原理。

难度 预计 30 分钟
使用 Viem 读取NFT合约信息

Viem.sh 是一个现代化的 TypeScript 库,旨在简化与以太坊和其他 EVM 兼容区块链的交互。它提供了高级的 API 和工具,使开发者能够更轻松地构建和管理去中心化应用(DApps)

难度 预计 30 分钟