`

library

 
阅读更多
库和合约的区别在于库不能有Fallback函数以及paynable关键字,也不能定义storage变量.但是库可以修改和它们相链接的合约的storage变量,类似为一个函数传入一个C的指针

库不能有日志(Event),但可以分发事件,通过using xxx for xxx,作用于其它合约变量,当触发库event时需要监控其它合约才行

用于扩展

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.6.0 <0.9.0;
import "hardhat/console.sol";

struct Data {
    uint256 data;
}

library Library2 {
    function fun(Data storage d,uint256 data) external {
        console.log("data:");
        d.data = data;
    }
}

contract L {
    using Library2 for Data; //让Data可以调用Library中的函数
    Data d;
    constructor(){
        d.fun(123);
        console.log("a",d.data);
    }
}

分享到:
评论

相关推荐

    DBLibrary.rar

    DBLibrary.rar是一个包含DBLibrary.DLL源代码的压缩文件,主要展示了如何使用C++封装Microsoft SQL Server 2005的DB-Library C API。DB-Library是微软为SQL Server提供的一种早期的客户端库,主要用于数据库连接和...

    hamcrest-library-1.3-API文档-中文版.zip

    赠送jar包:hamcrest-library-1.3.jar; 赠送原API文档:hamcrest-library-1.3-javadoc.jar; 赠送源代码:hamcrest-library-1.3-sources.jar; 赠送Maven依赖信息文件:hamcrest-library-1.3.pom; 包含翻译后的API...

    Foxit Quick PDF Library 16.13 sn

    Quick PDF Library for Mac Dylib – Xcode Dynamic Library for Mac development using Objective-C, Swift, C, C++ and Python. 32-bit and 64-bit. Delphi – DCUs for development using Delphi XE2, XE3, XE4,...

    MELSOFT Library.zip

    《MELSOFT Library——GX Works2中的FB部件集详解》 MELSOFT Library.zip是一个专门为MELSEC-Q/L系列PLC系统设计的软件资源包,它内含的"fb_library"是GX Works2编程环境中的一组功能块(FB)部件集。GX Works2是由...

    [微软企业库] Microsoft Enterprise Library 6

    Microsoft Enterprise Library is a collection of reusable application blocks designed to assist software developers with common enterprise development challenges. This release includes: Data Access ...

    msdn library 绿色版( vc++专用版)

    这个“msdn library 绿色版(vc++专用版)”是专为VC++(Visual C++)开发者设计的一个精简版本,旨在方便用户快速查阅VC++相关的开发资料,而无需安装完整的MSDN Library。 首先,"绿色版"意味着这是一个便携式的...

    Altium Library Loader.zip

    该工具的核心功能是通过元器件型号进行搜索,它能够快速地从网络上找到对应的原理图库(Sch Library)和PCB封装库(PCB Library)。用户只需要输入想要的元器件型号,程序就会自动匹配并下载相关的库文件,省去了...

    MSDN Library简体中文版

    MSDN (Microsoft Developer Network) Library 是微软为开发者提供的一个综合性的技术文档库,它包含了微软各种操作系统、开发工具、编程语言以及技术规范的详细信息。这个"MSDN Library简体中文版"是专为中国开发者...

    The C++ Standard Library 2nd Edition(高清)pdf

    The C++ standard library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components - ...

    彻底搞清楚library cache lock的成因和解决方法

    ### 彻底理解 Oracle 中 Library Cache Lock 的成因与解决办法 #### 一、引言 在日常数据库管理工作中,经常会遇到一些让人头疼的问题,比如会话挂起(hang)。其中一个常见的情况是当用户尝试执行某些操作时,比如...

    JsonLibrary-4.26.zip

    JSONLibrary则是一个专为解析和操作JSON格式数据的库,尤其在游戏开发领域,如Unreal Engine 4(UE4)项目中,JSONLibrary扮演着重要的角色。 标题中的"JsonLibrary-4.26.zip"表明这是一个针对UE4.26版本的JSON...

    Library_Expert_2018--2019.zip

    《Library_Expert_2018--2019.zip》是一个包含Library_Expert软件两个重要版本——2018和2019的PCB封装库资源的压缩文件。这个资料包对于电子设计工程师来说极其宝贵,因为它提供了丰富的PCB(印制电路板)器件封装...

    Quick PDF Library(PDF编程控件)

    Quick PDF Library 是一款供 PDF 开发人员使用的 SDK,功能强大、无需版税,其中包括超过500个函数,可用于 Delphi、C、C#、C++、ASP、VB6、VB.NET、VBScript、PHP、PowerBASIC 等,使用 ActiveX、DLL、LIB 或 ...

    MSDN Library - October 2001 &&MFC类库详解.chm

    ### MSDN Library与MFC类库详解知识点梳理 #### 一、充分利用MSDN Library - **MSDN Library介绍**:MSDN(Microsoft Developer Network)Library是微软为开发者提供的一套全面的技术文档集合,包含了微软的各种...

    oracle Library cache latch 竞争的解决

    ### Oracle Library Cache Latch 竞争的解决 在Oracle数据库中,`Library Cache Latch`竞争是一个常见的性能瓶颈问题,通常会导致系统响应时间增加、性能下降等问题。本篇文章将详细探讨如何诊断并解决该问题。 ##...

    robotframework-selenium2library-3.0.0.tar.gz

    标题中的"robotframework-selenium2library-3.0.0.tar.gz"是一个开源自动化测试框架Robot Framework的一个扩展库——Selenium2Library的3.0.0版本的压缩包。Robot Framework是一个通用的、基于关键字驱动的自动化...

    Microsoft.Practices.EnterpriseLibrary.Data示例

    《Microsoft.Practices.EnterpriseLibrary.Data:数据库操作的实用工具库》 Microsoft.Practices.EnterpriseLibrary.Data 是微软企业库(Enterprise Library)的一部分,它提供了一套强大的、可扩展的数据库访问...

    XL_Driver_Library_Factsheet_EN_01.pdf

    XL-Driver-Library 介绍及特点 XL-Driver-Library 是一个通用的编程接口,允许用户创建自己的应用程序,并访问 Vector 的强大网络接口。该库支持多种总线系统,包括 CAN(FD)、LIN、FlexRay、Automotive Ethernet...

    OSError: no library called "cairo" was found GTK++ windows 安装包

    OSError: no library called "cairo" was found no library called "libcairo-2" was found cannot load library 'libcairo.so.2': libcairo.so.2: cannot open shared object file: No such file or directory ...

    C28x IQmath Library_V1.5c

    《C28x IQmath Library_V1.5c:精密计算与数字信号处理的基石》 C28x IQmath Library_V1.5c是一款专为C28x系列微控制器设计的数学库,旨在提供高效、精确的浮点运算支持,尤其在数字信号处理(DSP)领域具有广泛的...

Global site tag (gtag.js) - Google Analytics