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个常用的与地址相关的语句,下面详细介绍一下它们的区别。
在大多数应用中,使用列表相当简单。大多数语言都提供用于处理列表的库,我们不必担心使用细节。但是,智能合约不同于“大多数应用程序”,我们需要特别注意区块链施加的设计限制。
透明代理vsUUPS:智能合约升级模式全景解析与实用指南随着区块链技术的不断发展,智能合约的升级能力成为项目长期发展的关键需求。其中,透明代理(TransparentProxy)和UUPS(UniversalUpgradeableProxyStandard)是两种主流的升级模式。本文
可以清晰地了解,当作入门认识,因为深入的话会牵扯到很多底层的东西,这里提到的一点点这作为了解这两个方法的辅助
solidity智能合约一旦部署便不可更改,但是通过特定的设计觅食可以实现“升级”的效果。
有时Solidity语言本身的数据结构无法很好地满足开发需求,此时我们需要实现相关库。本文介绍一个双向链表的库合约,在其它合约中引入即可使用。