如何在SUI CLIENT PTB CLI中输入多个类型参数?
解决方案
针对PTB CLI调用带两个类型参数的Move函数,你之前的写法问题在于错误使用了尖括号、引号或分隔格式,以下是两种可行的正确写法:
写法1:直接传递类型参数作为位置参数
无需用尖括号包裹,直接在函数名后依次传入两个类型参数,再跟普通参数:
--move-call $PACKAGE::escrow::swap $TYPEARG $TYPEARG @$ESCROW @$KEY @$LOCKED
如果$TYPEARG包含特殊字符(如::),给每个类型参数加引号避免shell解析错误:
--move-call $PACKAGE::escrow::swap "$TYPEARG" "$TYPEARG" @$ESCROW @$KEY @$LOCKED
写法2:用--type-args显式指定类型参数
部分版本的PTB CLI支持通过--type-args选项单独声明类型参数,写法如下:
--move-call $PACKAGE::escrow::swap --type-args "$TYPEARG" "$TYPEARG" @$ESCROW @$KEY @$LOCKED
无效写法的原因说明
- 带尖括号的写法会被Shell识别为重定向符号,无法正确传递给CLI;
- 用引号包裹单个类型参数的写法,会被CLI误判为普通函数参数而非类型参数;
- 逗号分隔的引号包裹写法,CLI无法正确拆分两个独立的类型参数。
内容的提问来源于stack exchange,提问作者TheodorosNikoleris
相关产品推荐
相关产品推荐

