如何从外部资源将库连接到智能合约?

2024-04-12

pragma solidity ^0.4.15;

import './ERC20.sol';
import './SafeMath.sol';

如何连接安全数学.sol来自外部(非本地的) 资源?


虽然詹姆斯的答案是有效的,但我不建议从在线存储库链接合同的依赖项,这是非常不安全的,因为您的代码依赖于一些可以动态更新的在线源,并且您可能会得到不稳定的版本。

我强烈建议您关注Zeppelin的推荐方式 https://github.com/OpenZeppelin/zeppelin-solidity#getting-started使用 OpenZeppelin 合约,允许您仅使用稳定版本并轻松更新依赖项以获得最新功能和错误修复:

npm init -y
npm install -E zeppelin-solidity

然后在你的合同中:

import 'zeppelin-solidity/contracts/math/SafeMath.sol';

contract MyContract {
  using SafeMath for uint;
  ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从外部资源将库连接到智能合约? 的相关文章

  • 如何将 uint256 变量转换为 int256 变量?

    我试图打印uint timeStamp通过输入return timeStamp 就在下面return price 从这段代码 pragma solidity 0 6 7 import chainlink contracts src v0 6
  • web3 websocket连接阻止节点进程退出

    我有一个创建 web3 websocket 连接的 Node js 进程 如下所示 web3 new Web3 ws localhost 7545 当进程完成时 我向它发送一个 SIGTERM 它不会退出 而是永远挂起 没有控制台输出 我在
  • 什么是区块链和以太坊?它用在哪里?

    我刚刚有机会在基于区块链的以太坊平台上工作 但我不清楚它在哪些场景中使用 在现实生活中使用它 有人可以帮助我了解基于区块链的平台及其现实生活中的用途吗 欢迎来到区块链世界 不要灰心丧气 区块链领域相对较新 很难找到好的教程 我一个月前也开始
  • Solidity、Solc 错误:无法构造包含(嵌套)映射的结构

    我正在使用由 npm 安装的 Solc 版本 0 7 0 当我尝试创建包含映射的结构时 收到错误 无法构造包含 嵌套 映射的结构 请检查代码 SPDX License Identifier MIT pragma solidity 0 7 0
  • web3.js如何搜索所有曾经创建的合约并查看地址

    我是 web3 js 和 Solidity 的新手 我的问题与我们在区块链上搜索的方式有关 如果我们知道合约地址 就很容易搜索特定合约 然而 我们如何使用最初用于创建合约的地址来查找和识别特定类型的合约 例如 我有一个合同 Contract
  • BigQuery/以太坊数据集 - 如何编写代码

    对于以太坊数据集 如果我知道特定合约的上个月交易 任何人都可以告诉我应该如何在 BigQuery 中编写 例如 如果我想知道合约地址 0x41dbecc1cdc5517c6f76f6a6e836adbee2754de3 上个月进行了多少笔交
  • Remix 上没有自动完成/代码完成功能?

    我在 Youtube 上观看 Remix 上的教程 他在输入代码时具有自动完成功能 但我没有 有谁知道如何启用它 这将帮助我更轻松地编写代码 但我在任何地方都找不到解决方案 对我来说 只需点击左下角的 设置 按钮并启用 在编辑器中启用代码完
  • 如何在 Python 和 web3.py 中获取 Solidity 恢复/需要错误原因

    我正在努力抓住要求 交易恢复时出错 但我得到了交易的哈希值 我正在使用web3 py def addParticipants request web3 Web3 HTTPProvider settings Blockchain IP add
  • Hedera 上几乎相同的交易中“gasUsed”值存在巨大差异 - 为什么?

    我注意到所使用的气体量之间存在差异 通过交易几乎是相同的 我正在调用智能合约 连续两次使用相同的参数 两者之间的唯一区别 是我正在设置gasLimit到精确值 由返回eth estimateGas在第一个中 我正在设置gasLimit to
  • Solidity - 输入 JSON 描述的 Solidity 代码

    我想编译我的以太坊 HelloWorld sol 智能合约 在所有教程中 您都是这样做的 var solc require solc var compiledContract solc compile fs readFileSync Hel
  • 恢复发送至自部署合约的BNB

    我正在尝试创建 BOT 因此在 BSC 中从 eatamask 创建并部署了一个合约 我向该合约发送了一些 BNB 来检查 但没有成功 我怎样才能拿回BNB 感谢帮助 因为我对此很陌生 除非您在合约中具有允许您提取资金的自定义功能 否则它们
  • 私有区块链与 Hashgraph、Ripple、BigChainDb

    我一直在研究不同区块链的一些用例 最后我得出的结论是 建立一个私有区块链相当于拥有一个分布式数据库 在其之上添加了区块链概念 如不可篡改 数字签名等 例如 Bigchaindb 好吧 如果我们确实需要智能合约功能 那么分布式数据库可能无法工
  • 如何删除solidity中的数组项

    我正在尝试删除 Solidity 数组中的某个项目 我正在探索一些文章 https ethereum stackexchange com questions 1527 how to delete an element at a certai
  • 错误:数字最多只能安全存储 53 位

    我正在尝试在 quorum 中执行原始事务 但收到错误 错误 数字最多只能安全存储 53 位 代码是 web3 eth sendSignedTransaction rawTx then function transactionReciept
  • Solidity ParserError:预期为“;”但得到了“{”

    使用版本0 6 0 pragma solidity 0 6 0 contract Test function sendValue address payable recipient uint256 amount external bool
  • 如何获取以太坊账户余额?

    如何以编程方式发现以太坊区块链上给定账户中有多少 ETH 在网上 不是程序化的 而是为了完整性 如果您只想获取帐户或合约的余额 您可以访问http etherchain org http etherchain org or http eth
  • 在 C# 中解析 Cryptocompare API Json 数据

    我正在加载数据 这是返回 Response Success Type 100 Aggregated false Data time 1504979760 high 14 26 low 14 26 open 14 26 volumefrom
  • npm solc:断言错误 [ERR_ASSERTION]:指定的回调无效

    我正在尝试使用 npm solc 编译 Solidity 智能合约 我尝试遵循不同的例子 链接到示例 https medium com coinmonks how to compile a solidity smart contract u
  • Solidity 中的地址(0)是什么

    谁能向我解释一下什么address 0 是在 Solidity 中吗 我在文档中找到了以下内容 但对我来说并没有真正意义 如果目标账户是零账户 地址为0的账户 则交易创建一个新合约 如前所述 该合约的地址不是零地址 而是从发送方及其发送的交
  • 这个套利机器人真的能正常运行吗?

    我一直在研究创建某种形式的加密货币套利交易机器人 最近看到了以下视频 该视频展示了一个套利机器人 该机器人通过部署到币安智能链的智能合约上的单个函数调用来运行 我已经查看了合约的代码 但不确定它是否能真正发挥作用 或者它是否是一个骗局合约

随机推荐

  • Java - 替换 JFrame 中的组件

    我正在努力使用 java GUI 提前感谢您的帮助 我有一个 JFrame 其中有几个组件 按钮 J 按钮 触发动作侦听器 comp这是我试图替换的一个组件JScrollPane其中有一个组件 组件的类型无关紧要 可以是文本字段 表格或任何
  • android - TextView 中自动滚动的问题

    我有一个Activity它用作音乐播放器 当它开始时 一个MediaPlayer对象被初始化并启动 在布局中 我有TextViews显示艺术家和标题 这些值 从服务器检索 可能很长 所以我添加了 android ellipsize marq
  • ruby 中的网络掩码到 CIDR

    我一直在使用 ip address gem 它似乎无法从以下形式的网络掩码进行转换 255 255 255 0 进入 CIDR 表格 24 有谁知道如何快速将前者转换为后者 这是快速而肮脏的方法 require ipaddr puts IP
  • 使用 ramdajs 重命名对象的属性

    我需要使用以下命令将可能包含连字符的单词重写为驼峰命名法的对象的所有属性ramdajs 示例 属性名称animation timing function应该成为animationTimingFunction每个键依此类推 您能否举个例子 这
  • 为什么缩放填充会给出比 UIImageVIew 尺寸更大的图像? (使用快速)

    我正在尝试显示地名列表 包括它的照片PFQueryTableViewController 它包含在 ParseUI SDK 中解析网 http parse com 我已经成功地展示了图像 不幸的是 当我将 UIImageView 模式更改为
  • 需要帮助在 javascript 中的表之间切换

    我试图使用两个按钮来使用 javascript 在两个表之间切换 但是每当我测试时 两个表都会出现 而不是只出现一个 var table1 document getElementById table1 var table2 document
  • 最小可行的网站图标代码

    我很困惑什么是让网站图标在大多数手机和浏览器上工作的最简单方法 1 一些网站 https mathiasbynens be notes touch icons建议使用以下内容就足够了 这适用于 iOS 8 并且应该适用于 Android B
  • UI线程块

    我创建了一个简单的 WPF 应用程序 并向默认窗口添加了一个按钮 当我单击按钮时 会调用一个模拟的长工作方法 使用 Thread Sleep 15000 进行模拟 我试图使按钮异步执行 但是尽管遵循在线示例 按钮和整个窗口都会在我锁定时立即
  • “循环”引用是否会被视为 WeakMap 的“可达性”?

    function f const w new WeakMap const o w set o v o return w const weakMap f 对于给定的代码 唯一的weakMap项目是否被视为可达 那么 它会被垃圾收集吗 PS 这
  • 如何禁用 Google Fit 并撤销应用程序本身的权限

    我已经设置了连接到 Google Fit 的应用程序 读取和写入一些有关用户身体的数据 当用户在应用程序设置中禁用 Google Fit 时 我尝试通过调用以下命令来撤销我的应用程序权限 public void disableGoogleF
  • 当数据在缓存中时 Apollo Client client.readQuery 返回 null

    这一定是用户错误 但我有一个简单的应用程序currentUser查询在 JWT 中查找 id 查找它并返回相应的用户 我可以查看 devtools 并看到它在缓存中 ref User 19 export const CURRENT USER
  • 要在 Google App Engine 上托管静态 (HTML) 网站,app.yaml 文件中应包含哪些内容?

    我可以用它来上传 HTML 页面吗 app yaml内容 application visualvidya version 1 runtime python api version 1 handlers url gif png jpg ico
  • 我应该在 HTML 中使用 % 或 'px'

    无论是 HTML XHTML 还是 HTML5 您都会发现到处都是令人讨厌的百分比 然而 我看到很多网站都不敢靠近它们 然而大学总是鼓励我使用它们 那么我应该使用哪个 哪一个会带来更好的网站设计 为什么 我知道要避免使用高度 尽管如果我想使
  • 使用锚点提交表单安全吗?

    我在某处读到 使用锚标记提交表单不太安全 所以这就是我的问题 使用锚标记而不是安全吗
  • Curl 同时下载和上传同一文件

    不确定是否可能 但我一直在尝试使用curl 从 HTTP 位置下载文件并将其输出到 FTP 服务器上 如果这实际上可能的话 我真的很希望得到一些帮助 curl http example com down curl T ftp mysite
  • 捕获 Flask API 中引发的自定义异常。引发的所有异常最终都会出现 500 错误 [重复]

    这个问题在这里已经有答案了 我希望能够在 API 中引发验证和其他异常 并在包装 视图中捕获它们 该视图将以 JSON 形式返回错误消息 我想我可以使用这样的东西 例外 class APIException Exception def in
  • AWS 批处理始终为每个作业启动新的 ec2 实例

    我已经设置了一个批处理环境 托管计算环境 作业队列 职位定义 实际工作 docker 容器 执行大量视频编码 因此占用了大部分 CPU 该过程本身需要几分钟 初始化所有编码器大约需要 5 分钟 理想情况下 我希望每个实例执行一项作业 这样编
  • 可以使用 OnDeserializedAttribute 代替 IDeserializationCallback 接口吗?

    正如 MSDN 所说here http msdn microsoft com en us library system runtime serialization ondeserializedattribute aspx 它可以 但我花了
  • 与 JPA OneToMany 映射的只读关联

    我有一个与另一个实体关联的事务实体 因此在案例中不应更新关联实体 例如 案例 gt 用户 案例由用户拥有 反之 用户可以拥有许多关联的案例 使用 OneToMany 和 JoinColumn JPA 注释来映射关联 我还尝试将 User 实
  • 如何从外部资源将库连接到智能合约?

    pragma solidity 0 4 15 import ERC20 sol import SafeMath sol 如何连接安全数学 sol来自外部 非本地的 资源 虽然詹姆斯的答案是有效的 但我不建议从在线存储库链接合同的依赖项 这是