
【科学家养成日记#12】挽救被黑钱包里面的剩余资产
今天看到Matters上一篇帖子说自己的钱包被黑,账号上的币被转走,钱包里剩下一些NFT,问大家是否有办法转走?
一般钱包被黑,大几率是黑客掌握了钱包的私钥,所以如果你把ETH转进去作为转走剩余资产的GAS,很大可能转进去就被黑客程序自动转走
要想把剩余资产转走,就需要用到Flashbot,在同一个区块里面完成转币进去,同时转资产去另外一个钱包的操作。
怎么用Flashbot挽救钱包里面的NFT呢?
这里要用到脚哥script money的flashbot工具(https://github.com/script-money/ens-claim-flashbot-example )
源代码里面授权ERC721那部分有个小bug,所以就用我fork的代码进行NFT转移
设置
1 | git clone https://github.com/ericet/ens-claim-flashbot-example.git |
打开.env文件,添加所需信息
NFT授权
添加好后,保存并打开/src/index.ts,修改ERC721的合约地址(需要转移的NFT的合约地址)
修改后,运行yarn start
程序就会给将给要执行转移的钱包NFT授权
转移NFT
注释掉NFT授权那段(75-76), 取消注释NFT转移那段(80-82), 并且修改一下NFT_ADDRESS那里的NFT合约地址(需要转移的NFT的合约地址)和TOKENIDS(NFT的ID)
修改好后,运行yarn run
等待交易成功,你的
最终链上的记录:
可以看到3个操作是在同一个区块里面完成的,这样如果钱包被黑客监控,他们也不可能在同一个区块里把你的币劫走
上面只介绍了转移NFT,程序还支持转移代币,领取空投并转移,等等
想了解的可以看看index.ts里面的注释
源代码来自脚哥的github: https://github.com/script-money/ens-claim-flashbot-example
研究一下是否能改成页面操作,降低一下门槛
- Thanks for your appreciation. / 感谢您的赞赏
List of appreciation
Because of your support, I realize the value of writing articles. / 由于您的支持,我才能够实现写作的价值。
This piece of writing is an original article, utilizing theCC BY-NC-SA 4.0Agreement. For complete reproduction, please acknowledge the source as Courtesy ofERICET
Comment ()