之前为大家分享了 scroll 存款代码交互教程,大家发现我的代码样例里有个key值,有点疑惑,这个值的计算我是怎么知道的。
讲真,先开始我也不知道,用小狐狸手动走了一遍流程发,马上我就写了代码模拟来测试下,去查 tx hash 发送状态有问题,Fail with error 'Insufficient msg.value' 报这个错误。我不信邪,又执行了几遍,还是这个错误。这会就要停下了,好好看下成功的交易并做对比。
通过这两个对比成功的tx hash 和代码执行失败的tx hash 那就是在 value 这个字段有区别,可以看到成功的 value 0**.01000004 和 失败的 value 0.015 它们之间存在这个值的0.**00000004的差别。
不要着急,再去看下合约地址,看看其他人的交易是不是也是这样。仔细看下图,发现没有,是不是有个相同点,目前这个key=0.0000008。那么在存款时就可以得到实际发送的
amount += key
马上再测试,发现新的tx 状态ok的,可以成功存款了。
Input Data还需要在分析下吗?还想听。好吧 分析下吧,很简单,第一参数是amount,不加key的哈。第二个是固定参数(其他成功tx都是这个参数,直接上)
课外题: 如果这个key又变了怎么办呢?有知道的吗?我批量交互不能总上浏览器看吧,看了再来改,感觉有点low。