美文网首页
0x13 检测是否为合约地址

0x13 检测是否为合约地址

作者: 金牛茶馆 | 来源:发表于2018-12-27 16:12 被阅读17次
  1. 使用web3

web3.eth.getCode()方法返回指定地址上代码的16进制字符串,由于普通账户地址处没有代码,因此将仅返回16进制前缀0x。利用这个我们可以进行判断该地址是普通地址还是合约地址。

var code = await this.web3.eth.getCode(address);
if(code === '0x') {
    return false;
}
return true;

2.使用合约判断
在合约内,可以使用EVM汇编代码来获取指定地址处的代码大小。
普通账户地址因为没有代码将返回0:

contract EzDemo {
    function isContract(address addr) returns (bool) {
    uint size;
    assembly { size := extcodesize(addr) }
    return size > 0;
  }
}

相关文章

  • 0x13 检测是否为合约地址

    使用web3 web3.eth.getCode()方法返回指定地址上代码的16进制字符串,由于普通账户地址处没有代...

  • solidity代码功能模块

    地址工具 用于检测某个地址是否为合约的工具 这个合约是一个librray,只有一个函数isContract,且被声...

  • php检测是否为标准ip地址

    做表单认证的时候,经常会出现表单输入项是否为合法的ip地址。现收录如下:

  • ETH开发实践——合约地址是怎么得来的

    在把智能合约成功部署到ETH网络时,会得到合约地址,那么,这个合约地址是由什么决定的呢?合约地址由合约创建者的地址...

  • 2019-01-02进制和位运算作业

    1.使用位运算判断一个数是否是奇数 2.表达式0x13 & 0x17 的值是(19) 0x13=19=010011...

  • #hello,JS:07 正则表达式

    一、意义: 用来判断用户输入是否符合某些特定规则,如检测判断用户所填信息是否为正确的手机号?正确的邮箱地址?以及在...

  • 用合约创建智能合约、管理智能合约的简单demo

    pragmasolidity^0.4.24; ///通过合约Controller创建合约、记录众多合约实例地址 /...

  • day7 作业

    1. 使用位运算判断一个数是否是奇数 2. 表达式0x13 & 0x17 的值是(0x13) 3. 若x = -2...

  • Mount挂载问题

    挂载失败的原因 1.检测是否关闭了防火墙,IP地址是否为同一网段,是否可以ping通。 2.在虚拟机中没有问题,在...

  • 区块链技术

    以太坊erc20交易的转账to地址一定是这个token的合约地址吗?还是可能是其他合约地址? 答:合约中如果有类似...

网友评论

      本文标题:0x13 检测是否为合约地址

      本文链接:https://www.haomeiwen.com/subject/iwtdlqtx.html