Solidity
文章平均质量分 84
第十六年盛夏.
大知闲闲 小知间间
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Smart contract -- 哈希算法合约
通过以上对 Solidity 中哈希算法的原理、特性和实例的分析,我们对这一关键技术有了更深入的理解。哈希算法在区块链开发中具有广泛的应用,它为数据的完整性、安全性和唯一性提供了有力保障。在实际开发中,我们需要根据具体的需求和场景,合理选择哈希函数和数据打包方法,以确保智能合约的高效、安全和可靠运行。原创 2025-03-12 18:50:35 · 1375 阅读 · 0 评论 -
Smart contract -- 工厂合约
工厂合约是 Solidity 中一种非常实用的设计模式,它可以帮助我们高效地创建和管理多个合约实例。通过本文的介绍,相信你对工厂合约有了更深入的了解。在实际开发中,可以根据具体需求灵活运用工厂合约,提高开发效率和代码的可维护性。原创 2025-03-11 21:10:46 · 1246 阅读 · 0 评论 -
Smart contract -- 自毁合约
函数是 Solidity 提供的一个强大工具,用于销毁合约并回收资源。在使用时,需要谨慎考虑合约的状态和资金处理,确保自毁操作符合预期且不会导致问题。通过合理的设计和应用场景,自毁合约可以在区块链开发中发挥重要作用,为智能合约的生命周期管理提供灵活性和安全性。原创 2025-03-10 19:26:25 · 1504 阅读 · 0 评论 -
solidity高阶 -- 调用接口合约
首先,我们定义一个接口合约ICountercount()和inc()。接口合约:以关键字interface开始,函数声明必须是external类型,不能包含状态变量。抽象合约:以关键字contract开始,可以包含external或internal函数,也可以包含状态变量。接口合约ICountercount += 1;count -= 1;//调用接口合约//interface开头,名字大写,完成了接口调用的方法//调用了两个合约的函数//调用inc这个方法。原创 2025-02-05 22:46:03 · 1175 阅读 · 0 评论 -
Smart contract -- 钱包合约
存入 ETH:只有管理员可以存入资金。取出 ETH:管理员可以指定金额取出资金。查询余额:任何人都可以查询合约当前的余额。通过这个简单的智能合约,我们实现了一个基本的以太坊钱包功能。管理员可以存入和取出ETH,并且可以随时查看合约的余额。这个合约可以作为更复杂DApp的基础,例如多签钱包或去中心化交易所。希望这篇文章对你理解如何使用Solidity创建以太坊钱包智能合约有所帮助。如果你有任何问题或建议,欢迎在评论区留言!原创 2025-02-03 20:48:15 · 1771 阅读 · 0 评论 -
solidity高阶 -- Eth支付
payable通过使用payable关键字,我们可以轻松地在Solidity合约中处理ETH的支付。本文中的示例合约展示了如何接收ETH并查询合约余额。你可以在此基础上扩展功能,例如实现ETH的提现、设置支付条件等。希望这篇博客对你理解Solidity中的ETH支付有所帮助!如果你有任何问题或建议,欢迎在评论区留言。注意:在实际开发中,请务必注意安全性问题,尤其是在处理资金相关的逻辑时。建议在部署到主网之前,充分测试合约并在测试网上进行验证。原创 2025-02-01 22:09:36 · 1932 阅读 · 4 评论 -
solidity基础 -- 可视范围
public:状态变量和函数可以在合约内部和外部访问。对于状态变量,Solidity 会自动生成 getter 函数。private:状态变量和函数只能在当前合约内部访问,外部和其他合约无法访问。internal:状态变量和函数可以在当前合约内部以及继承它的子合约中访问,但不能在外部访问。external:函数只能在合约外部调用,不能在合约内部直接调用。原创 2025-01-30 23:03:17 · 1309 阅读 · 0 评论 -
solidity高阶 -- 线性继承
基础合约:被其他合约继承的合约,定义了一些基本的属性和方法,这些属性和方法可以被派生合约继承和使用。派生合约:从基础合约继承而来的合约,继承了基础合约的属性和方法,并可以添加新的属性和方法,或者重写继承的方法以实现特定的功能。通过合理使用基础合约和派生合约,可以实现代码复用和功能扩展,提高智能合约的开发效率和可维护性。原创 2025-01-28 22:45:07 · 1881 阅读 · 0 评论 -
solidity高阶 -- 继承
Solidity是一种面向区块链的智能合约编程语言,广泛应用于以太坊等区块链平台。继承是Solidity中一个非常重要的特性,它允许开发者通过创建子合约来扩展父合约的功能,从而实现代码的复用和层次化设计。本文将通过具体实例详细介绍Solidity语言中的继承机制。使用继承时请确保代码的正确性,以防丢失个人财产,在这里友情提示您,不要复制来源不明的solidity代码并进行部署。学习更多solidity知识请访问,更多实例在。原创 2025-01-26 18:36:31 · 2963 阅读 · 0 评论 -
solidity基础 -- 事件
在 Solidity 中,事件的定义类似于函数的声明,但使用event关键字。事件可以包含多个参数,这些参数可以是任意类型。这个事件名为Log,包含两个参数:一个字符串message和一个无符号整数val。如果希望某个参数可以在链外被快速检索,可以使用indexed关键字。在这个例子中,sender参数被标记为indexed,这意味着它可以在链外通过区块链浏览器或查询工具进行快速检索。需要注意的是,一个事件中最多只能有三个indexed参数。原创 2025-01-24 18:19:25 · 1265 阅读 · 0 评论 -
solidity基础 -- 存储类型
storage:用于合约状态变量,数据持久保存在区块链上,对其修改会影响合约的长期状态。memory:用于局部变量,仅在函数执行期间存在,函数结束后数据消失,可修改,但不会影响storage中的数据。calldata:专门用于函数参数,是只读的,存储在调用数据中,在函数执行期间不可变。通过深入理解这三种储存类型的区别,开发者可以更好地优化智能合约的性能和资源使用,确保合约的正确性和稳定性。原创 2025-01-22 22:07:10 · 1148 阅读 · 0 评论 -
solidity基础 -- 内联汇编
性能优化:在某些对性能要求极高的场景下,Solidity 高级代码的抽象可能会带来一定的性能损耗。内联汇编可以让开发者直接编写针对 EVM 的指令,减少不必要的开销,提升合约执行效率。访问底层功能:EVM 有许多底层功能,在 Solidity 高级语言中没有直接的接口。通过内联汇编,开发者能够访问这些底层功能,实现一些特殊的业务逻辑。Solidity 的内联汇编使用 Yul 语言编写,它是一种接近 EVM 的低级语言,允许开发者直接与 EVM 交互。内联汇编代码块由。原创 2025-01-21 18:59:15 · 985 阅读 · 0 评论 -
solidity基础 -- 枚举
枚举是一种用户自定义的数据类型,它允许我们定义一组有限的常量值。在Solidity中,枚举通过关键字enum来定义。None, //默认Pending, //处理中Shipped, //装载中Completed, //已装载Rejected, // 已拒绝Canceled //已取消在这个示例中,我们定义了一个名为Status的枚举类型,它包含了6个成员,分别是NonePendingShippedCompletedRejected和Canceled。原创 2025-01-14 19:59:58 · 1377 阅读 · 0 评论 -
solidity基础 -- 结构体
官方定义上,结构体是一种能够将多种不同数据类型的变量打包组合在一起的数据格式。想象一下,你要描述一辆汽车,它有品牌型号(这是个字符串,像 “丰田”“特斯拉”)、生产年份(一个数字),还有车主(以太坊中的地址类型)。要是没有结构体,你得分别管理这三个信息,乱糟糟还容易出错。但有了结构体,就像把它们装进一个专属的 “收纳盒”,这个 “收纳盒” 就是咱们定义的 Car 结构体:uint year;原创 2025-01-09 01:06:54 · 1153 阅读 · 0 评论 -
智能合约:区块链世界的自动化契约
智能合约是一种运行在区块链上的程序,它能够在满足预设条件时自动执行合约条款。与传统合约不同,智能合约不需要第三方中介来执行合约条款,而是通过代码自动完成。这种特性使得智能合约在效率、透明度和安全性方面具有显著优势。以太坊虚拟机(EVM) 是以太坊智能合约的运行时环境。它不仅被沙盒化,而且实际上是完全隔离的,这意味着在 EVM 中运行的代码无法访问网络、文件系统或其他进程。甚至智能合约之间的访问也很有限。以太坊是一个开源的区块链平台,由Vitalik Buterin等人于2015年推出。原创 2025-01-07 02:57:03 · 3659 阅读 · 0 评论 -
solidity基础 -- 映射迭代
映射:用于存储键值对数据.数组:用于存储映射的键,以便实现迭代功能.balances:存储地址对应的余额.inserted:记录地址是否已经插入到数组中.keys:存储所有地址的数组.在Solidity中,通过结合数组和映射,我们可以实现一个可迭代的映射结构。这种结构不仅保留了映射快速访问的优点,还增加了迭代功能,使得我们能够更灵活地处理数据.在实际应用中,可迭代映射可以广泛应用于用户余额管理、资产记录和访问控制等场景,为去中心化应用的开发提供了便利。原创 2025-01-06 20:38:26 · 1542 阅读 · 0 评论 -
solidity基础 -- 映射
映射(Mapping)是一个极为关键的数据结构,它为合约中的数据存储与检索提供了便捷、高效的方式。原创 2025-01-05 23:23:16 · 1325 阅读 · 2 评论 -
solidity基础 -- 合约结构
在 Solidity 中,合约类似于面向对象编程语言中的类。每个合约中可以包含、 和的声明,且合约可以从其他合约继承。原创 2025-01-03 21:50:43 · 587 阅读 · 0 评论 -
solidity基础 -- 数组的使用
在 Solidity 中,数组是一种基本的数据结构,用于存储多个元素。数组可以是固定大小的(uint[]),也可以是动态大小的(或。原创 2025-01-03 17:24:06 · 1160 阅读 · 0 评论 -
solidity基础 -- Remix使用 -- 创建hello world
// SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract Helloword{ string strvar = "hello word"; function sayhello() public view returns (string memory) { return strvar; }}写完后点击旁边compile simplestorag部署点击下面进原创 2024-12-25 16:51:02 · 249 阅读 · 0 评论 -
排错 -- Remix
由于当前编译器和版本不匹配,只需要点击左边修改编译器再次ctrl+s 即可正常使用。原创 2024-12-10 17:00:47 · 302 阅读 · 0 评论
分享