如何判断以太坊地址是不是智能合约

这篇文章主要介绍“如何判断以太坊地址是不是智能合约”,在日常操作中,相信很多人在如何判断以太坊地址是不是智能合约问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何判断以太坊地址是不是智能合约”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都网站设计、成都网站建设的开发,更需要了解用户,从用户角度来建设网站,获得较好的用户体验。创新互联多年互联网经验,见的多,沟通容易、能帮助客户提出的运营建议。作为成都一家网络公司,打造的就是网站建设产品直销的概念。选择创新互联,不只是建站,我们把建站作为产品,不断的更新、完善,让每位来访用户感受到浩方产品的价值服务。

使用web3.js

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

var code = web3.eth.getCode("0xbfb2e296d9cf3e593e79981235aed29ab9984c0f")
if(code === '0x') console.log('普通账户')
else console.log('合约账户')

在solidity中实现

在合约内,可以使用EVM汇编代码来获取指定地址处的代码大小,显然,普通账户地址将返回0

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

到此,关于“如何判断以太坊地址是不是智能合约”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

名称栏目:如何判断以太坊地址是不是智能合约
分享链接:https://www.cdcxhl.com/article48/phdohp.html

成都网站建设公司_创新互联,为您提供企业网站制作网站导航网站改版外贸网站建设网站制作小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司