这一章说一下数学以及加密功能。
addmod(uint x, uint y, uint k) returns (uint)
:- 计算
(x + y) % k
,加法支持任意的精度且不会在2**256
处溢出,从0.5.0
版本开始断言k != 0
。
- 计算
mulmod(uint x, uint y, uint k) returns (uint)
:- 计算
(x * y) % k
, 乘法支持任意的精度且不会在2**256
处溢出, 从0.5.0
版本开始断言k != 0
。
- 计算
keccak256(...) returns (bytes32)
:- 使用以太坊的(
Keccak-256
)计算HASH
值。紧密打包参数。
- 使用以太坊的(
sha256(...) returns (bytes32)
:- 使用
SHA-256
计算hash
值,紧密打包参数。
- 使用
sha3(...) returns (bytes32)
:keccak256
的别名
ripemd160(...) returns (bytes20)
:- 使用
RIPEMD-160
计算HASH
值。紧密打包参数。
- 使用
ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) returns (address)
:- 通过椭圆曲线签名来恢复与公钥关联的地址,或者在错误时返回零。可用于签名数据的校验,如果返回结果是签名者的公匙地址,那么说明数据是正确的。