Solidity的ABI编码函数详解:encode、encodePacked、encodeWithSignature、encodeWithSelector

  • Post author:
  • Post category:solidity

编码函数: abi.encode abi.encodePacked abi.encodeWithSignature abi.encodeWithSelector 解码函数: abi.decode,用于解码被abi.encode的数据 一、测试合约 为了测试这几个函数的功能,我们写了这样的测试合约: // SPDX-License-Identifier: UNLICENSED pragma soli…

继续阅读 Solidity的ABI编码函数详解:encode、encodePacked、encodeWithSignature、encodeWithSelector

Solidity智能合约中随机数的生成

  • Post author:
  • Post category:solidity

在智能合约开发中常常会用到随机数,例如抽奖、中签等通过随机数来选择winner的场景,之前在项目中也遇到了这个需求,本篇文章就聊聊solidity创建区块链上的随机数会有哪些问题以及目前常用的方法有哪些。相关概念想要了解Solidity智能合约中随机数的生成方法,首先需要了解几个相关的基本概念:伪随机数:用确定性的算法计算出均匀分布的随机数序列,之所以称作“伪”,是因为生成器伪随机数的确定算法(伪…

继续阅读 Solidity智能合约中随机数的生成

Solidity 常用方法总结

  • Post author:
  • Post category:solidity

block中的方法 blockhash(uint blockNumber)返回(bytes32):给定块的哈希-仅适用于256个最新块,不包括当前块 block.blockhash(uint blockNumber) returns (bytes32):给定块的散列 - 仅适用于256个最近的块 block.coinbase (address):当前块矿工的地址 block.difficulty …

继续阅读 Solidity 常用方法总结

solidity合约入门

  • Post author:
  • Post category:solidity

基本类型 int 用intx和uintx来申明,其中x是一个8-256之间的8的倍数,表示有多少个bit。如int8 ,uint32。比较:<=,<,==,!=,>=,>位运算:&,|,^,~,<<,>>数值运算:加减乘除,%取余,指数。0的0次方等于1type(x).min和type(x).max给出该类型的上下界 溢出会被截断 addre…

继续阅读 solidity合约入门