Cardano主网铸造Token时--tx-out参数出现unexpected '2'报错求助
问题1:Shell变量定义语法错误
你当前的变量赋值写法不符合Linux Shell规范,赋值时变量名左侧不能加$前缀,你写的$tokenamount="xxx"会导致变量未正确初始化,后续调用时取值为空,拼接交易参数时格式错乱触发报错。
正确的变量赋值写法如下:
# 赋值时变量名前不要加$ tokenamount="10000000" address=$(cat payment.addr) tokenname1="CpoolTest" # 请确认以下你未贴出的变量也已经正确赋值 fee="你的手续费数值" txhash="你的输入UTXO哈希" txix="你的输入UTXO索引" output="你的输出ADA数量(单位lovelace)" policyid="你的铸币策略ID" # 执行以下命令打印所有变量,确认没有空值、没有包含特殊字符或空格 echo $fee $txhash $txix $output $policyid
问题2:交易输出参数格式校验
修复变量赋值问题后,先执行以下命令打印完整的拼接命令,确认--tx-out后的参数符合地址+ADA数量+"资产数量 策略ID.资产名"的要求:
echo cardano-cli transaction build-raw --shelley-era --fee $fee --tx-in $txhash#$txix --tx-out $address+$output+"$tokenamount $policyid.$tokenname1" --mint="$tokenamount $policyid.$tokenname1" --minting-script-file policy/policy.script --out-file matx.raw
你遇到的unexpected '2'报错,大概率是之前变量为空,导致首字符为2的policyid直接暴露在不符合语法的位置触发的。
另外注意output参数不能设置为0,Cardano要求每个UTXO最少持有1 ADA(即1000000 lovelace),低于该值的输出会被节点直接拒绝。
内容的提问来源于stack exchange,提问作者justincryptoable
相关产品推荐
相关产品推荐

