【问题标题】:Timestamp of when address received a token in solidity地址收到可靠令牌时的时间戳
【发布时间】:2021-06-12 07:08:06
【问题描述】:

试图找到一种方法或文档来获取地址何时在智能合约中收到令牌的timestamp。

我已经阅读了许多基于reflection 的合约,它们根据时间在接收和发送代币时应用不同级别的费用,但天真地,以下内容不只是从交换开始到那个点函数被调用?

uint256 private _start_timestamp = block.timestamp;

function _getMultiplier() private view returns (uint256) {
    uint256 time_since_start = block.timestamp - _start_timestamp;
    uint256 hour = 60 * 60;
    if (time_since_start < 1 * hour) {
        return (3);
    } else if (time_since_start < 2 * hour) {
        return (2);
    } else {
        return (1);
    }
}

我对@9​​87654324@ 仅适用于合同创建的理解是否正确?

如果是这样,我需要知道当前地址是否正在发送令牌,他们何时收到令牌。这怎么可能?

我想到的另一件事是,我最初认为我可以使用 Pancakeswap 路由器来识别时间戳。然而,虽然最初的流动性将被添加到 Pancakeswap,但同样的逻辑也需要应用于交易所。

【问题讨论】:

    标签: timestamp ethereum solidity smartcontracts binance-smart-chain


    【解决方案1】:

    我对 block.timestamp 仅适用于合同创建的理解是否正确?

    不,block.timestamp 适用于每个事务。它不适用于读取。

    如果是这样,我需要知道当前地址是否正在发送令牌,他们何时收到令牌。这怎么可能?

    这是调用 transferFrom 时的 block.timestamp。

    下面的内容不只是从交换开始到被调用函数的那一点吗?

    您的问题没有足够的源代码和上下文信息来回答这个问题,例如函数的调用是如何完成的以及由谁完成的。

    【讨论】:

      【解决方案2】:

      Solidity 中的block.timestamp 与javascript 的Date.now() 相同,只是solidity 不返回毫秒数

      例如

      如果block.timestamp返回1647410428,那么同时

      Date.now() 将返回 1647410428,000

      Solidity 不像 JavaScript 那样提供 new Date(),因此要获得日期时间周等,您需要使用像 https://github.com/bokkypoobah/BokkyPooBahsDateTimeLibrary 这样的 Solidity 库或 github 上提供的其他库或搜索 @Google

      用于存储和返回时间的示例 Solidity 代码:-

      // SPDX-License-Identifier: GPL-3.0
      pragma solidity >=0.7.0 <0.9.0;
      contract Test{
          uint timeBro=block.timestamp;
          uint functionCallTime;
          function FunTime() public returns(uint){
            functionCallTime=block.timestamp;
            return block.timestamp;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-01
        • 1970-01-01
        • 2017-04-07
        • 1970-01-01
        • 2012-06-23
        • 2017-12-09
        • 2018-07-06
        • 2019-08-26
        相关资源
        最近更新 更多