dapp脚本编写

常用最简dapp脚本demo:

FishxScript = {
    name: "脚本名",
    desc: "脚本简介",
    category: "脚本分组",
    type: "dapp",
    url: "脚本执行初始地址",
    mockBlock: "0x000000000000000000000000000000000000000000000000000000000000000",
    mockTx: "0x000000000000000000000000000000000000000000000000000000000000000",
    inputs: { 金额: { type: "number", range: true } },
    logic: async (context) => {
        must(changeAccount);
        console.log('hello word');
    },
};

常用方法:

click

点击。

例如,点击左下角:

例如,点击对应selector的元素:

focus

选中。

例如,输入框前先选中代替清空

typeIn

输入。

例如,输入输入框中用户输入的金额;

waitFor

延时。

例如,延时1000毫秒:

完整demo示例:

syncswap的swap功能(mock为scroll测试网):

scroll官方跨链桥(mock为scroll测试网):

如何寻找selector:

1、开发者工具直接复制:

在网页对应位置,右键“检查”,弹出开发者工具,并且定位到对应元素位置。右键,复制,复制对应selector。是最简单的获取selector的方法。

2、学习css选择器知识:

例如https://www.w3school.com.cn/css/css_selectors.asparrow-up-right

dapp脚本快速开发技巧:

有一些操作比较复杂,比如下拉选择等,还有一些无用的前置动作,比如需要把页面调整到某个合适开始的位置。

以上动作,我们都不建议去编写代码解决。应该调整到合适的位置后,开始编写代码(比如代币交换,常常需要选择合适的代币后开始)

因为我们的页面调整到合适位置后,后续重复动作,切换钱包地址,网页并不刷新,因此页面除此外均无变化。

mock解释与查找:

mock的引入,是为了达到快速确认目的。

mock必须填写正确。

同一个功能,不同链的mock信息不一样。

mock包含mockBlock与mockTx

一个是区块hash,一个是具体交易hash。

例如scroll跨链脚本中,我们找到同一合约过去成功的tx,任意一个即可。

比如:https://goerli.etherscan.io/tx/0xdb58a3010e17b83f042b9de3cc1434f935eaa44dbf45f6783d4c6702789c8bb8arrow-up-right

此处0xdb58a3010e17b83f042b9de3cc1434f935eaa44dbf45f6783d4c6702789c8bb8即为mockhash

然后看到此交易属于9356174区块,点击此区块号,进入https://goerli.etherscan.io/block/9356174arrow-up-right

点击‘查看更多’,获取到此区块的hash为:0x7480fe62c855d86d91016764a2aa07374b17bc3213e9285ed13420875dc7da0c

即为mockBlock

Last updated