okx

Web3调用的亮点:半开源合约实现

时间:2023-11-09|浏览:155

半开源合约的Web3调用:某些智能合约没有在etherscan验证源代码,也就无法轻易获取其ABI。但“诡异”的是,调用某些合约函数,却可以在网页上完整显示调用的函数名、参数名、具体参数值。针对这样的“半开源”合约,可以有一些简单的方法,实现Web3调用。

之前写过一个关于“未开源智能合约的调用”的方法,主要是在网站前端扒拉JS代码,定位到ABI代码,然后实现调用。这个方法当然可以用来实现“半开源”合约调用,但这个方法实在有些反人类,疯狂扒拉JS代码也很费眼神,我们暂时先跳过。

没有开源的合约,为何可以在etherscan显示详细的调用参数信息(小狐狸钱包也能显示)?其实秘密都在这个4 bytes signature上。如果其他已开源合约有相同的“签名”,那么面对一个未开源合约,但签名相同的函数,etherscan和小狐狸会直接判定为同一函数并尝试解析。

解决方案:针对这类能被正常显示的函数,其实有一个相对简单的方法:通过函数信息反向生成ABI代码。15行代码,代码出自人类好帮手:chatGPT 4。经过测试与对照,和原始ABI一字不差(当然,output可能有区别,但不影响使用)。

签名库:如果etherscan上未显示,还可以先去这个签名库碰碰运气:https://4byte.directory/signatures/。注意,这个4四节签名是有可能重名的!某些小狐狸钓鱼合约,使用的就是这个“漏洞”。同一个签名,可能对应多个函数,正常使用还得自行判断。

热点:web开发 web前端 比特币开源 开源比特币 NFT开源

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

« 上一条| 下一条 »
区块链交流群
数藏交流群

合作伙伴

非小号交易所排名-专业的交易行情资讯门户网站,提供区块链比特币行情查询、比特币价格、比特币钱包、比特币智能合约、比特币量化交易策略分析,狗狗币以太坊以太币玩客币雷达币波场环保币柚子币莱特币瑞波币公信宝等虚拟加密电子数字货币价格查询汇率换算,币看比特儿火币网币安网欧易虎符抹茶XMEX合约交易所APP,比特币挖矿金色财经巴比特范非小号资讯平台。
非小号行情 yonghaoka.cn 飞鸟用好卡 ©2020-2024版权所有 桂ICP备18005582号-1