
安全第一 | 2. 如何识别貔貅 Token
貔貅(pí xiū)——为中国传说的一种瑞兽。以金银珠宝为食,而且嘴大食四方,吃得自己浑身珠光宝气!更奇特的是,它没有屁屁,财宝只进不出。 在吉祥物的排行榜里你可能非常想拥有的就是它,而在加密货币领域,貔貅盘的意思只能买进不能卖出,有的是只有项目方的地址才能卖出,有的是只能卖一次或者只能小额才能卖出等等。 利用投资者 “不想错过新币,想尽快抢先买进获利卖出” 的心理,此时的投资者因为幻想着梭哈暴富,所以防范会降低,一不小心就会点击群里的链接或者复制不经过验证的合约地址进行交易,交易过后才知道被骗。 我们也梳理了验证貔貅 Token 的几个技巧: 一、看合约是否已通过验证开源 合约开源的一个好处就是增加合约的公信力,接受群众的监督。新 Token 的发行,稍微有点实力的项目方都会选择开源。打开 https://etherscan.io/,输入 Token 合约地址,如果 Contract 旁边有绿色的 ✅,说明项目方已验证的合约来源,可以直接查看合约的 Source Code,相反则没有。当然,即使开源了合约代码,也可能存在猫腻,例如通过代理合约调用隐藏合约的方式。 二、Token...

走进科学 | 4. 使用 Etherscan 快速调用合约
通过项目方提供的网页在进行铸造 NFT、参与热门币种打新等操作时,由于网站访问人数较多,或被黑客恶意 DDOS 攻击,经常会导致 502 请求过载错误打不开网页,多次刷新进入网站后,却提示 ”Sold Out“ 显示售罄,错失参与时机后拍断大腿。之前比较热门的 NFT 项目,比如小幽灵 @WeirdoGhostGang 和 Cool Cats @coolcatsnft 的 Pets 发售时,项目方都通过服务器扩容、限制IP等一系列防护措施保障用户体验,而通过 Etherscan 来调用合约则是提供了另一种更为高效的方式,不再受限于项目方提供的网页加载速度。 Etherscan @etherscan 是支持以太坊公链的区块浏览器,提供友好的界面,让用户能够以更容易理解的方式来访问区块链上的数据。通过前面小节的介绍,相信大家已经可以独立获取到项目的合约地址;以 adidas Originals @adidas 的合约地址为例:https://etherscan.io/address/0x28472a58a490c5e09a238847f66a68a47cc76f0f。通过链接查看合约...

走进科学 | 3. 如何通过水龙头领取测试币
在 “走进科学” 系列文章中,我们会在以太坊测试网中搭建靶场供大家练习,所以在这之前,大家还需要学会领取测试网的测试币。领取测试币的网站被称为水龙头(faucet),测试币被称为水,所以领取测试币的过程也被叫做领水。 我们以 Rinkeby 的测试币领取为例讲解过程,其他测试网的测试币领取方式类似,大家可以把几个测试网的水都领一些,后面的试炼场我们会用到不同的测试网。 第一步、在 metamask “设置” → “高级” 中找到“显示测试网”的开关并启用。第二步、启用测试网络后在网络中可以看到 Ropsten 、 Kovan 、 Rinkeby 和 Goerli 四个测试网络,四个测试网络各有特点, Ropsten 采用 POW 机制,可以自己搭建节点挖测试币,但是稳定性较差,偶尔还会遇到区块回滚的情况,很多实验性测试,比如 “区块阻塞攻击” 实验会放到这个测试网来测试; Kovan 、 Rinkeby 和 Goerli 是采用 POA 机制,这几个测试网络不能通过挖矿的方式获取测试币,只能通过水龙头(文章后面会公布水龙头领取方式)领取,我们以 Rinkeby 为例讲解领取过程,...
#BUIDL #Crypto



安全第一 | 2. 如何识别貔貅 Token
貔貅(pí xiū)——为中国传说的一种瑞兽。以金银珠宝为食,而且嘴大食四方,吃得自己浑身珠光宝气!更奇特的是,它没有屁屁,财宝只进不出。 在吉祥物的排行榜里你可能非常想拥有的就是它,而在加密货币领域,貔貅盘的意思只能买进不能卖出,有的是只有项目方的地址才能卖出,有的是只能卖一次或者只能小额才能卖出等等。 利用投资者 “不想错过新币,想尽快抢先买进获利卖出” 的心理,此时的投资者因为幻想着梭哈暴富,所以防范会降低,一不小心就会点击群里的链接或者复制不经过验证的合约地址进行交易,交易过后才知道被骗。 我们也梳理了验证貔貅 Token 的几个技巧: 一、看合约是否已通过验证开源 合约开源的一个好处就是增加合约的公信力,接受群众的监督。新 Token 的发行,稍微有点实力的项目方都会选择开源。打开 https://etherscan.io/,输入 Token 合约地址,如果 Contract 旁边有绿色的 ✅,说明项目方已验证的合约来源,可以直接查看合约的 Source Code,相反则没有。当然,即使开源了合约代码,也可能存在猫腻,例如通过代理合约调用隐藏合约的方式。 二、Token...

走进科学 | 4. 使用 Etherscan 快速调用合约
通过项目方提供的网页在进行铸造 NFT、参与热门币种打新等操作时,由于网站访问人数较多,或被黑客恶意 DDOS 攻击,经常会导致 502 请求过载错误打不开网页,多次刷新进入网站后,却提示 ”Sold Out“ 显示售罄,错失参与时机后拍断大腿。之前比较热门的 NFT 项目,比如小幽灵 @WeirdoGhostGang 和 Cool Cats @coolcatsnft 的 Pets 发售时,项目方都通过服务器扩容、限制IP等一系列防护措施保障用户体验,而通过 Etherscan 来调用合约则是提供了另一种更为高效的方式,不再受限于项目方提供的网页加载速度。 Etherscan @etherscan 是支持以太坊公链的区块浏览器,提供友好的界面,让用户能够以更容易理解的方式来访问区块链上的数据。通过前面小节的介绍,相信大家已经可以独立获取到项目的合约地址;以 adidas Originals @adidas 的合约地址为例:https://etherscan.io/address/0x28472a58a490c5e09a238847f66a68a47cc76f0f。通过链接查看合约...

走进科学 | 3. 如何通过水龙头领取测试币
在 “走进科学” 系列文章中,我们会在以太坊测试网中搭建靶场供大家练习,所以在这之前,大家还需要学会领取测试网的测试币。领取测试币的网站被称为水龙头(faucet),测试币被称为水,所以领取测试币的过程也被叫做领水。 我们以 Rinkeby 的测试币领取为例讲解过程,其他测试网的测试币领取方式类似,大家可以把几个测试网的水都领一些,后面的试炼场我们会用到不同的测试网。 第一步、在 metamask “设置” → “高级” 中找到“显示测试网”的开关并启用。第二步、启用测试网络后在网络中可以看到 Ropsten 、 Kovan 、 Rinkeby 和 Goerli 四个测试网络,四个测试网络各有特点, Ropsten 采用 POW 机制,可以自己搭建节点挖测试币,但是稳定性较差,偶尔还会遇到区块回滚的情况,很多实验性测试,比如 “区块阻塞攻击” 实验会放到这个测试网来测试; Kovan 、 Rinkeby 和 Goerli 是采用 POA 机制,这几个测试网络不能通过挖矿的方式获取测试币,只能通过水龙头(文章后面会公布水龙头领取方式)领取,我们以 Rinkeby 为例讲解领取过程,...
#BUIDL #Crypto

Subscribe to web3eye.eth

Subscribe to web3eye.eth
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
未开源合约需要获得合约 ABI 信息才能进行调用,获取 ABI 有三种方式:
合约开源的情况下从 Etherscan 的 Code 选项中直接复制;
从网页中解析出 ABI
反编译合约手动构造
本文主要介绍第 2 种获取 ABI 的方法,和前面小节介绍的获取合约地址的方法一致,合约 ABI 的匹配规则为 [{"inputs",以国潮 NFT @ChinaChic_NFT https://chinachic.club/mint 为例(国潮 NFT 已开源,此处仅用于演示用途);另外不建议对未知项目的闭源合约进行调用,可能存在资产损失的风险。

图中匹配行则是完整的 ABI 代码,获取到 ABI 信息后,需要转换为可以在 Remix 操作的合约代码,Remix 是以太坊生态中的开发者工具,用于开发、调试、部署合约,也支持在浏览器端使用;打开任意网页,按下 F12 快捷键打开控制台。
// 在网页中注入 ethers 工具库
document.write('<script src="https://cdn.ethers.io/lib/ethers-5.2.umd.min.js" type="application/javascript"></script>');
// 声明 ABI,将上方查找到的 ABI 替换至 []。注意:ABI 的格式为 [{"inputs"....}]
var abi = [];
// 将 ABI 转换成可以操作的接口
new ethers.utils.Interface(abi).format(ethers.utils.FormatTypes.minimal).filter(i => i.includes('function'));

可以看到转换后的接口中,publicMint 接口是铸造 NFT 的接口。
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Test {
string public symbol;
function publicMint () payable public {
// do nothing
}
}
这时,我们可以就通过 Remix 调用合约了,将上面的代码粘贴到 Remix 的代码编辑区,Remix 会自动编译合约,左侧会变成绿色的勾表示编译成功;然后选择环境为 Injected Web3,将粘贴该 NFT 合约地址 0x7BC5d353663C4c94fd022d3df0642B56C174B45c,点击 At Address 即可进行操作;可以点击 symbol 获取 NFT 名称进行确认,然后点击 publicMint 唤醒 MetaMask 弹窗执行铸造交易。

以上就是通过 Remix 的方式调用未开源的合约,但是通过人工手动铸造,效率还是很低,后续小节会介绍通过代码来监控交易和定时执行,快人一步发送交易。
关于我们
Web3Eye 是一个专注于技术研究和分享的 Web3 加密技术社区,团队拥有多年区块链研发经验和安全技术能力,以帮助更多人安全地进入 Web3 世界,欢迎关注我们的 Twitter 帐号,了解最新动态。
未开源合约需要获得合约 ABI 信息才能进行调用,获取 ABI 有三种方式:
合约开源的情况下从 Etherscan 的 Code 选项中直接复制;
从网页中解析出 ABI
反编译合约手动构造
本文主要介绍第 2 种获取 ABI 的方法,和前面小节介绍的获取合约地址的方法一致,合约 ABI 的匹配规则为 [{"inputs",以国潮 NFT @ChinaChic_NFT https://chinachic.club/mint 为例(国潮 NFT 已开源,此处仅用于演示用途);另外不建议对未知项目的闭源合约进行调用,可能存在资产损失的风险。

图中匹配行则是完整的 ABI 代码,获取到 ABI 信息后,需要转换为可以在 Remix 操作的合约代码,Remix 是以太坊生态中的开发者工具,用于开发、调试、部署合约,也支持在浏览器端使用;打开任意网页,按下 F12 快捷键打开控制台。
// 在网页中注入 ethers 工具库
document.write('<script src="https://cdn.ethers.io/lib/ethers-5.2.umd.min.js" type="application/javascript"></script>');
// 声明 ABI,将上方查找到的 ABI 替换至 []。注意:ABI 的格式为 [{"inputs"....}]
var abi = [];
// 将 ABI 转换成可以操作的接口
new ethers.utils.Interface(abi).format(ethers.utils.FormatTypes.minimal).filter(i => i.includes('function'));

可以看到转换后的接口中,publicMint 接口是铸造 NFT 的接口。
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Test {
string public symbol;
function publicMint () payable public {
// do nothing
}
}
这时,我们可以就通过 Remix 调用合约了,将上面的代码粘贴到 Remix 的代码编辑区,Remix 会自动编译合约,左侧会变成绿色的勾表示编译成功;然后选择环境为 Injected Web3,将粘贴该 NFT 合约地址 0x7BC5d353663C4c94fd022d3df0642B56C174B45c,点击 At Address 即可进行操作;可以点击 symbol 获取 NFT 名称进行确认,然后点击 publicMint 唤醒 MetaMask 弹窗执行铸造交易。

以上就是通过 Remix 的方式调用未开源的合约,但是通过人工手动铸造,效率还是很低,后续小节会介绍通过代码来监控交易和定时执行,快人一步发送交易。
关于我们
Web3Eye 是一个专注于技术研究和分享的 Web3 加密技术社区,团队拥有多年区块链研发经验和安全技术能力,以帮助更多人安全地进入 Web3 世界,欢迎关注我们的 Twitter 帐号,了解最新动态。
No activity yet