本文介绍了如何使用 Tenderly 创建虚拟测试网,以及如何将智能合约部署到该测试网上,避免了在公共测试网上获取测试代币的麻烦。主要步骤包括在 Tenderly 上创建虚拟 RPC、安装 Hardhat 插件、更新 hardhat.config.ts 文件以及部署合约。
本文是区块链葡萄酒交易市场系列文章的第二部分,重点介绍了前端集成,包括如何使用 javascript 和 ethers.js 连接 WineCollection 智能合约到 Web 市场。文章详细讲解了钱包连接、网络处理、Provider 和 Signer 设置,以及智能合约的部署、NFT 的铸造、token metadata 的更新、NFT 销毁以及存储评论等功能实现,并提供了示例代码。
本文介绍了Solidity智能合约中memory关键字的重要性,它用于在函数中处理结构体和字符串,可以避免不必要的gas消耗和编译错误。文章解释了storage和memory的区别,以及如何在函数中使用memory来优化gas费用。
本文介绍了如何使用 Chainlink Functions 将智能合约连接到外部 API,以获取城市的天气数据。通过 WeatherFunctions.sol 代码库,展示了如何创建 Chainlink Function Subscription,以及如何在智能合约中构建和发送请求,并处理返回的数据。文章详细解释了智能合约的关键步骤,例如参数传递,请求初始化等。
本文介绍了Solidity中的两种复杂数据类型:结构体(Struct)和映射(Mapping)。结构体用于创建自定义数据类型,类似于面向对象编程中的类,而映射则类似于字典,用于存储键值对。文章通过代码示例详细解释了它们的用法,并结合一个账户管理的智能合约,展示了如何在实际应用中同时使用结构体和映射,最后还简单介绍了storage, memory, calldata。
本文介绍了Solidity中的继承概念,包括如何使用is关键字实现合约继承。文章详细讲解了virtual和override关键字在函数重写中的作用,以及internal关键字在控制函数可见性方面的应用。最后,通过OpenZeppelin的Ownable合约示例,展示了继承在实际开发中的应用,例如权限控制。
is
virtual
override
internal
Solidity vs Rust vs Go: 区块链首要编程语言对比