数字货币钱包,盗USDT就是利用去中心化的钱包和DAPP智能合约协议授权,然后有权限控制你钱包的USDT数量。
原理很简单,就像你在QQ音乐开了一个月的会员,开通会员的时候勾选了到期自动续费功能,等你的QQ音乐到期的时候腾讯就从你的银行卡,微信,Q币等地方自动扣款,相当于是你在付款的时候默认允许对方来转走你的钱,但是你在付款的时候却并不知道你默认同意了这个协议,所以在灰产市场也成为盗U,但在我看来这种属于钓鱼!
下面以Shasta测试网上的USDT通证为例,介绍如何同TRC-20合约进行交互。
由于合约中的一些方法是constant,这类方法在调用的时候,是可以通过triggerconstantcontract来进行的,这样就不用广播这笔交易,可以直接获得结果。
当然前提是你请求的节点是支持constant调用的(节点的配置项supportConstant需要设置为true)。
调用TRC20合约的approve函数授权代币使用权给其他地址
demo:向某个 wallet/triggersmartcontract curl -X POST https://127.0.0.1:8090/wallet/triggersmartcontract -d '{ "contract_address":"419E62BE7F4F103C36507CB2A753418791B1CDC182", "function_selector":"approve(address,uint256)", "parameter":"0000000000000000000000410FB357921DFB0E32CBC9D1B30F09AAD13017F2CD0000000000000000000000000000000000000000000000000000000000000064", "fee_limit":100000000, "call_value":0, "owner_address":"41977C20977F412C2A1AA4EF3D49FEE5EC4C31CDFB" }'
transferFrom
调用TRC20合约的transferFrom函数从他们账户中转账代币,需要配合approve方法使用。
文档可以在链上查询。但仍有一些人不明其理,上当受骗。无缘无故授权。