调用另一个合约中的函数 - Solidity

2023-12-12

我需要使用 Truffle 调用另一个合约中的函数。这是我的合同样本:

类别.sol:

contract Category {
  /// ...
  /// @notice Check if category exists
  function isCategoryExists(uint256 index) external view returns (bool) {
    if (categories[index].isExist) {
      return true;
    }
    return false;
  }
}

帖子.sol:

contract Post {
  /// ...
  /// @notice Create a post
  function createPost(PostInputStruct memory _input)
    external
    onlyValidInput(_input)
    returns (bool)
  {
    /// NEED TO CHECK IF CATEGORY EXISTS
    /// isCategoryExists() <<<from Category.sol>>>
  }
}

部署.js

const Category = artifacts.require("Category");
const Post = artifacts.require("Post");

module.exports = function (deployer) {
  deployer.deploy(Category);
  deployer.deploy(Post);
};

我能做些什么?


您可以从其他合同继承。假设您想从邮政合同导入。

contract Category is Post {
  /// ...
  /// @notice Check if category exists
  function isCategoryExists(uint256 index) external view returns (bool) {
    if (categories[index].isExist) {
      return true;
    }
    return false;
  }
  // you can call createPost
  createPost(){}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用另一个合约中的函数 - Solidity 的相关文章

随机推荐

  • 在块矩阵中排列 numpy 数组

    我有 3 个 numpy 数组A B and C 为了简单起见 我们假设它们都是形状的 n n 我想将它们排列为块矩阵 A B B t C where B t应表示转置B 当然 我可以通过一系列串联来做到这一点 top row np con
  • Maven Surefire 找不到 ForkedBooter 类

    最近来到一个新项目 我正在尝试编译我们的源代码 昨天一切都很好 但今天却是另一回事了 每次我跑步的时候mvn clean install在模块上 一旦达到测试 它就会崩溃并出现错误 INFO maven surefire plugin 2
  • 4个字节怎么能存储这么大的值3.4e38

    与 32 位一样 我们只能存储 2 32 位数据 在C语言中 我们如何存储这么大的值3 4e38 我无法理解其背后的机制 在 IEEE 754 32 位二进制浮点格式中 32 位用作 一位符号字段 s 八位指数字段 e 23 位有效数 小数
  • 从2加入多线程访问UI线程控件

    我目前正在为我的公司开发一个小型自动更新项目 经过对多线程的一些研究后 我设法构建了以下代码 线程 01 Private Sub startUpdate If InvokeRequired Then Invoke New FTPDelega
  • 当用户单击上下文菜单中的禁用项目时,会调用哪个事件?

    我有一个按钮 它显示上下文菜单 菜单中有几个项目 其中一些被禁用 setEnabled false 当用户单击禁用的项目时 会调用哪个事件 它不是 onContextItemSelected 也不是 onContextMenuClosed
  • sizeof 运算符给出了 C# 中结构的额外大小[重复]

    这个问题在这里已经有答案了 我正在尝试使用 sizeof 运算符检查所有变量 值类型 的大小 我经历了其中之一msdn 文章哪里写着 对于所有其他类型 包括结构体 sizeof 运算符只能在不安全的代码块中使用 而且结构不应包含任何引用类型
  • 检查 JPanel 是否包含 JButton

    我已经添加了一个按钮JPanel 我想删除该按钮 如果JPanel包含按钮 有什么办法可以检查是否JPanel包含按钮 如果您有参考JButton call 获取父级 如果父母是null 按钮不在面板 或任何容器 中 或者 按照 kleop
  • 如何在 Nodejs 循环中将值收集到数组中?

    我编写了下面的代码 尝试将视频收集到数组中然后返回 代码是错误的 但我无法找出正确的方法来做到这一点 var redis require redis var client redis createClient app get topvide
  • VS Code:jupyter笔记本逐行运行

    最近 VSCode 进行了更新 之后我的 jupyter 笔记本界面发生了变化 这给我带来了很多问题 现在我不知道如何逐行运行单元格代码等 还有其他方法可以做到这一点吗 或者我怎样才能恢复到旧版本的笔记本电脑 打开命令面板 Windows
  • 从conftest.py访问测试文件名

    我正在尝试做什么 我正在使用 pytest 在 python 中编写一个小框架 作为拆卸的一部分 我正在截取屏幕截图 现在 我希望根据正在运行的测试来命名该屏幕截图 而不是 conftest py 例如 我现在的代码是 driver sav
  • 如何根据另一个字段中的值设置 SharePoint 列表字段中的默认值?

    我在 SharePoint 中有一个自定义列表 特别是 MOSS 2007 其中一个字段是标题为 有缺陷吗 的是 否复选框 另一个字段是 关闭者 指定关闭票证的人 如果没有缺陷 那么我希望票证自动关闭 如果有 则应稍后填写 关闭者 字段 我
  • Typescript :: 相关通用约束

    In React 我有一个像这样的通用界面 interface BaseProps
  • 解析 HTML 文本时的正则表达式与 XPath

    我想解析 HTML 文本并找到特殊部分 例如第 3 行中的文本div of 1st row和第二个column of a table 我有 2 个解析选项 正则表达式和 XPath 每一种的优点和缺点是什么 thanks 这在某种程度上取决
  • 获取运行脚本的父目录

    在 PHP 中 最简洁的方法是什么 parent当前运行脚本相对于 www 根目录的目录 假设我有 SERVER SCRIPT NAME relative path to script index php Or just something
  • 绝对位置是否使该元素成为包含块?

    在css2 1规范中 w3 org 有一个例子解释了包含块是如何形成的 p This is text em in the strong second strong paragraph em p 当位置em作为静态 strong的包含块是通过
  • 窗口大小更改时调整标题大小

    我目前正在开发一个网站 我需要在其中放置一些图像以及一些标题和描述 如果浏览器是全屏 则标题显示在一行上 但是 如果浏览器宽度减小 标题会自动显示为两行 这是浏览器全屏时的样子 这是当浏览器宽度减小时的样子 我想让它在浏览器宽度减小时减小标
  • 如何用C++模拟鼠标点击? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我需要模拟单击应用程序窗口的鼠标单击 我正在使用 Windows 如何将鼠标左键单击发送到屏幕x y窗口所在的坐标 Use the 发送输入 功能 INPUT Inputs 3 0 I
  • 带 IdHTTP 的 POST 请求

    您好 我正在尝试使用组件 IdHTTP POST 方法填写表单 我的代码是这样的 var par2 TIdMultiPartFormDataStream rta string begin par2 TIdMultiPartFormDataS
  • GAE:此应用程序不允许 API 服务

    我正在尝试按照以下教程进行操作 http www youtube com watch v v9TG7OzsZqQ 我的 Cloud Endpoint REST API 在本地开发计算机上运行良好 但当我部署到 App Engine 时 我的
  • 调用另一个合约中的函数 - Solidity

    我需要使用 Truffle 调用另一个合约中的函数 这是我的合同样本 类别 sol contract Category notice Check if category exists function isCategoryExists ui