Solidity合约无法传入unit256数据

The max value is 2^256-1. The assertion you're hitting is in Remix. The full error message is:

Error encoding arguments: Error: Assertion failed

The issue is that Remix uses JSON to parse the argument list, and JavaScript only supports numbers up to 2^53-1. The reason you're seeing the issue where you do in terms of number of 9s is because

999999999999999 < 2**53-1 < 9999999999999999

To fix the issue, just put double quotes around the number you're passing in. It's safe to just always wrap your numbers in quotes to avoid such precision issues.

Remix是用JSON去解析参数的,而JavaScript 只支持2^53-1,如果需要传入 2^256-1的数据,需要将传入的256位的数据加上引号。

例子如:"621676420261287518233360893251416501844283949070155352299873789239831849"

你可能感兴趣的:(Solidity合约无法传入unit256数据)