Я понимаю, что по мере роста списка это будет стоить бесконечного газа. Я делаю временный массив в памяти размером с наш динамический массив в текущем размере, а затем возвращаю этот массив. Но делает ли это нецелесообразным давать функцию «getlist» в качестве карты Adhar в списке Индии? PS: функция работает на ремикс на данный момент, с ограниченным количеством записей, но не работает на трюфеле / когда я пытаюсь вызвать его из моего приложения через js
Не видя ваш код, его трудно полностью понять.
Однако, с одной стороны, может потребоваться несколько циклов for без определенного максимума (это зависит от размера массива!), Чтобы выполнить итерацию, и это переключиться на цитируемое предупреждение; с другой стороны, примите во внимание, что в remix простая строка, возвращаемая или часто даже передаваемая в качестве аргумента в вызове функции, может включать предупреждение для бесконечного газа, поскольку строки в Solidity рассматриваются как динамический массив, как вы, возможно, знаете.
Правильная процедура при включении этих предупреждений состоит в том, чтобы дважды проверить свой код на потребление газа; если вы думаете, что все в порядке, просто проигнорируйте предупреждение, разверните свой код и проверьте его на потребление газа.
Очень часто вы не найдете там никакой реальной проблемы.