cryptozombies 为什么在比较中使用 keccak
cryptozombies why use keccak in comparing
我已经在学习密码僵尸教程的第 2 课第 13 章了。在 feedAndMultiply 函数中,为什么他们使用 keccak 来比较 Kitty 而不是确切的字符。
if (keccak256(_species) == keccak256("kitty"))
为什么不
if (_species == "kitty") ?
==
运算符仅支持布尔值、整数、定点数(启动对定点数的支持后)、地址和静态字节数组。 Solidity 不 支持 ==
动态数组(string
支持)。为了解决这个问题,他们只是简单地获取两个字符串的哈希值,然后比较结果。
Types page in the Solidity docs 概述了每种类型支持的所有操作。
我已经在学习密码僵尸教程的第 2 课第 13 章了。在 feedAndMultiply 函数中,为什么他们使用 keccak 来比较 Kitty 而不是确切的字符。
if (keccak256(_species) == keccak256("kitty"))
为什么不
if (_species == "kitty") ?
==
运算符仅支持布尔值、整数、定点数(启动对定点数的支持后)、地址和静态字节数组。 Solidity 不 支持 ==
动态数组(string
支持)。为了解决这个问题,他们只是简单地获取两个字符串的哈希值,然后比较结果。
Types page in the Solidity docs 概述了每种类型支持的所有操作。