玩转Web3:用Viem库实现以太坊合约部署与交互想一窥Web3开发的奥秘?以太坊智能合约是通往区块链世界的大门,而Viem库让你轻松迈出第一步!本文通过一个TypeScript脚本,带你从连接本地以太坊测试网到部署合约、实现交互,全程手把手实战。不管你是Web3新手还是想探
该内容主要介绍了 Decipher Club 社区关于以太坊虚拟机(EVM)的一系列文章和学习资源,包括 EVM 的基础知识、智能合约从 Solidity 代码到字节码的转换过程,以及一个 EVM 谜题游戏,旨在帮助 Solidity 开发者更好地理解 EVM 的工作原理。
本文介绍了Solidity中的位移操作及其应用,包括数据类型的转换、特定位的提取和设置。同时,文章还深入探讨了在YUL汇编中进行存储读取和写入时如何应用位移和掩码技术。
怎么获得和交易goerli测试币?今天给大家详细介绍一下怎么获得goerli测试网的测试币。
java用headlong构建请求体
最省GAS链上排序
作者分享了自己构建智能合约的个人经历,包括选择以太坊和Solidity工具,以及遇到的挑战和解决方案。作者强调了在智能合约开发中安全性的重要性,并分享了如何通过测试和优化来提高合约的安全性和效率。最后,总结了通过实际操作获得的技能和知识,以及对区块链技术在金融系统中应用的理解。
开坑使用Hardhat闯关Ethernaut CTF题,提高合约和测试脚本的能力,后续也会增加Paradigm CTF的闯关题目。
本文讨论了智能合约开发者如何优化合约bytecode大小,避免达到24.576 kb的限制。文章强调了在Solidity智能合约中使用库的重要性,通过代码重用、减小合约大小、易于维护和提高安全性来最小化合约bytecode大小,并建议避免将库函数声明为internal visibility,而应使用public,以保持库函数独立并优化bytecode大小。
本文介绍了 ERC-6909 提案,该提案旨在通过移除批量操作和回调函数来降低 Gas 成本和复杂性,同时保留了类似于 ERC-1155 的多代币标准。文章还提供了一个使用 ERC-6909 创建游戏物品代币合约的例子,展示了如何利用扩展来添加小数位数以及如何进行代币的铸造和转移。
在solidity中一旦出现异常,则当前交易将会回滚(即相当于没有发生过,除了你的gas被消耗了)。solidity里抛出异常的方法有三种:errorrequireassert对于可能出现异常抛出的地方,solidity也提供了try-catch方法进行异常捕获处理。
solidity
在Solidity编程里,address(this)、tx.origin和msg.sender是3个常用的与地址相关的语句,下面详细介绍一下它们的区别。
在大多数应用中,使用列表相当简单。大多数语言都提供用于处理列表的库,我们不必担心使用细节。但是,智能合约不同于“大多数应用程序”,我们需要特别注意区块链施加的设计限制。