# 【科学家养成日记#12】挽救被黑钱包里面的剩余资产 **Published by:** [Ericet](https://paragraph.com/@ericet/) **Published on:** 2022-02-21 **URL:** https://paragraph.com/@ericet/12 ## Content 今天看到Matters上一篇帖子说自己的钱包被黑,账号上的币被转走,钱包里剩下一些NFT,问大家是否有办法转走? 一般钱包被黑,大几率是黑客掌握了钱包的私钥,所以如果你把ETH转进去作为转走剩余资产的GAS,很大可能转进去就被黑客程序自动转走 要想把剩余资产转走,就需要用到Flashbot,在同一个区块里面完成转币进去,同时转资产去另外一个钱包的操作。怎么用Flashbot挽救钱包里面的NFT呢?这里要用到脚哥script money的flashbot工具(https://github.com/script-money/ens-claim-flashbot-example ) 源代码里面授权ERC721那部分有个小bug,所以就用我fork的代码进行NFT转移设置git clone https://github.com/ericet/ens-claim-flashbot-example.git cp .env.example .env yarn install 打开.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 研究一下是否能改成页面操作,降低一下门槛 ## Publication Information - [Ericet](https://paragraph.com/@ericet/): Publication homepage - [All Posts](https://paragraph.com/@ericet/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@ericet): Subscribe to updates - [Twitter](https://twitter.com/ericet369): Follow on Twitter