我是 Tron 网络的新手
最近我尝试在 Nile 测试网上使用屏蔽合约转账 USDT TRC20
我执行了文档中提到的每一步:shielded-TRC20-contract.md
我执行的步骤直到: 8. 调用 api: wallet/getnewshieldedaddress 生成所有相关密钥
之后,我必须将我的代币铸造到屏蔽地址
现在我将这些参数传递给
wallet/createshieldedcontractparameters
端点:
"ovk": "72493d42a87227481b90c7174006d388b263b64a8b94ea55dbb78d59f5e45fa3",
// the ovk I get from `wallet/getexpandedspendingkey`
"from_amount": "50000",
// I don't know what should I pass here
"shielded_receives": {
"note": {
"value": 500,
// I wanna to transfer 500 USDT
"payment_address": "ztron17lk8dsfjjmpr96j3dwlz0jkwe99ejmpulrldz498aeguma477r3u48w4prnthjs04utxk3a3a40",
//Here I pass the payment address that I get from `wallet/getnewshieldedaddress`
"rcm": "68ef5a158f06734984d8e1500da86988caa6798953281adc1984808a67192c02"
// I pass rcm that I get from 'wallet/getrcm`
}
},
"shielded_TRC20_contract_address": "TXLAQ63Xg1NAzckPwKHvzw7CSEmLMEqcdj",
// I pass the smart Contract address of USDT nil test net that I already have in my wallet
"visible" : "True"
}
现在,当我发送请求时,我收到此错误:
{ "Error": "class java.lang.ArithmeticException : BigInteger: modulus not positive" }
我不知道我做错了什么以及我到底应该做什么:/
“BigInteger:模数不为正”是一个 Java 错误,通常在尝试使用非正模数进行 BigInteger 操作时发生。在您的问题的上下文中,此错误似乎可能与“from_amount”参数有关。
“from_amount”参数应代表您想要屏蔽的代币总量(即转入屏蔽合约)。在您的情况下,如果您想屏蔽500 USDT,则应将“from_amount”设置为500。但请注意,该金额应为代币的最小单位。对于小数点后6位的USDT,如果您想屏蔽500 USDT,则应将“from_amount”设置为500000000(500 * 10^6)。
请尝试调整“from_amount”参数,看看是否可以解决您的问题。