本文介绍了区块链开发中常用的各种工具,包括编程语言(Solidity、Vyper、Rust)、框架(Truffle、Hardhat、Embark)、集成开发环境(Remix IDE、EthFiddle、Ethcode)、API和SDK(Alchemy NFT API、Thirdweb SDK、Moralis API and SDK)、测试网络、预言机(Chainlink)、节点提供商(Alchemy Supernode)以及分析和安全工具,旨在帮助开发者更好地构建区块链应用。
本文介绍了如何在Solidity中调用另一个智能合约的函数,通过部署两个合约(Counter.sol和Interface.sol)并演示它们之间的交互,展示了智能合约的复用性和交互方式。
文章介绍了在Solidity中如何操作存储中的数组,包括添加、删除元素以及获取数组长度等操作,并提供了相关的代码示例和解释。
本文介绍了LayerZero协议的工作原理及其架构,并通过一个具体的示例展示了如何使用LayerZero在不同区块链之间发送跨链消息。
这是一份由Cyfrin.io提供的协议审计报告模板,包括协议概要、风险分类、审计详细信息以及发现的安全问题。报告结构清晰,涵盖了审计的范围、角色和问题分类,虽然未提供具体的发现内容,但整体内容展示了安全审计的重要性和标准。
详解 ERC-1155 多代币标准
本文介绍了在Solidity中处理保存和管理NFT的mint功能,包括代码示例和相应的Gas费用分析。文章结构清晰,提供了合约代码和背景信息,适合具备一定编程基础的读者,尤其是希望深入了解区块链和NFT开发的开发者。
该文章详细介绍了一个高级Solidity编程训练营,涵盖以太坊开发、Solidity编程、智能合约安全等多个高级主题,适合有经验的开发者深入学习。
作者讨论了智能合约开发中编程语言特性的重要性,以期提升安全性和效率。通过回顾OpenZeppelin Contracts的开发经验, 强调了安全抽象和防错设计的重要性,同时指出手写汇编来优化性能,有可能导致安全隐患。最后,提出了一个新EVM语言的构想,旨在结合功能语言的优势,推动编程语言设计的创新
文章介绍了Solidity中的ABI编码和解码,包括abi.encode、abi.decode和abi.encodeWithSignature的使用,并通过实例演示了如何在智能合约中处理函数调用和数据传递。
abi.encode
abi.decode
abi.encodeWithSignature
在一般语境下,OpenZepplin 指代的其实是:OpenZepplin Contract,一组合约开发的可重用包。同时,由于合约升级相对特殊,它还专门提供了用于编写可升级合约的包。
本文详细介绍了Solidity中的数组和字符串数据结构,包括它们的声明、使用方式以及一些重要的概念如calldata和memory。还提供了多个代码示例来帮助理解这些概念。
calldata
memory
本文介绍了在Solidity中使用block.timestamp和block.number来跟踪时间和区块的编程方法,并提供了相关代码示例和最佳实践。
block.timestamp
block.number
本文介绍了如何使用 Ethers.js 库在以太坊区块链上铸造 NFT。文章通过OpenZeppelin库和Ethers.js库,创建Solidity合约、Hardhat 任务、helper,并进行测试,搭建了一个经过充分测试的 NFT 基础设施。此外,还介绍了使用 Pinata 和 IPFS 等工具来简化 NFT 的铸造过程。
本文介绍了智能合约之间的相互调用,并通过代码示例展示了如何实现合约间的通信,解释了 call 函数的使用、ABI编码、以及函数返回值的处理。
call