文章通过代码示例介绍了Solidity中msg.sender的用法,并展示了如何利用msg.sender实现权限控制。文章还提到tx.origin的安全问题,并演示了如何获取智能合约的地址。
msg.sender
tx.origin
本文介绍了Solidity中的存储变量,并通过代码示例详细解释了存储变量的声明、使用以及不同修饰符(如pure、view、public和internal)的区别。文章还强调了存储变量的持久性和其对区块链状态的影响。
pure
view
public
internal
文章介绍了Solidity智能合约中的构造函数及其使用,包括如何设置合约部署时的变量,以及构造函数与普通函数的区别。
本文详细介绍了Solidity语言的基本数据类型,包括无符号整数(uint256),布尔值(bool)和地址(address)。通过代码示例展示了如何声明和返回这些类型,并强调每种类型的特殊性和注意事项。文章结构清晰,适合对Solidity初学者进行引导。
文章讨论了如何在Solidity智能合约中实现ERC20标准的事件记录,强调了事件记录在状态变化时的重要性,并通过代码示例详细展示了如何在ERC20合约中添加Transfer和Approval事件。
本文详细介绍了Solidity中的数组和字符串数据结构,包括它们的声明、使用方式以及一些重要的概念如calldata和memory。还提供了多个代码示例来帮助理解这些概念。
calldata
memory
文章介绍了Solidity中的ABI编码和解码,包括abi.encode、abi.decode和abi.encodeWithSignature的使用,并通过实例演示了如何在智能合约中处理函数调用和数据传递。
abi.encode
abi.decode
abi.encodeWithSignature
本文介绍了一个简单的代币交换智能合约的构建过程,涉及两个ERC20合约:RareCoin和SkillsCoin,并详细说明了如何通过SkillsCoin来获取RareCoin的步骤。
这篇文章介绍了Solidity编程语言中的for循环,提供了示例代码来演示如何计算从1到99的数字之和,并展示如何使用+=运算符。文章还讨论了循环的退出条件和找素因子的示例,适合初学者理解基本的循环结构和功能。
for
+=
本文介绍了如何使用 Foundry 设置和部署 NFT 合约到 Sepolia 测试网络,并在 Etherscan 上进行验证。文章详细说明了如何安装 OpenZeppelin、使用 remappings、生成 remappings.txt 文件、设置环境变量以及部署和验证 NFT 合约的过程。