首页 > 解决方案 > 当不应该阻止链javascript时,添加块返回true以等于未篡改的实例

问题描述

我正在运行一个笑话测试,它需要确保块的数据在篡改后是否与相同的数据匹配(匹配时应该预期为假。)它一直期待为真,我不知道为什么。我将程序设置在一个 repo 上供人们调试。在 repo 上,查找 blockchain.test.js 并滚动到“使损坏的链无效”的描述。当您 npm run test 项目时,它会出现一个开玩笑的错误,它是覆盖函数的单个“toBe(false)”部分。

Github 回购...

https://github.com/Mickellz/ChainAccess/commits/master

标签: javascriptgithubjestjsblockchain

解决方案


您打算使用模板文字,但您必须使用反引号 (`) 而不是单引号 ('):

块.js

static hash(timestamp,previousHash,data)
{
    return encryption('${timestamp}${lastHash}${data}').toString();
}

此外,lastHash应该是previousHash,否则它将始终解析为undefined并且不会影响哈希值。

块.js

static hash(timestamp,previousHash,data)
{
    return encryption(`${timestamp}${previousHash}${data}`).toString();
}

推荐阅读