Печать нескольких данных Solidity

Я понял, что печать на Solidity невозможна, рекомендуется использовать, eventа события можно читать с помощью .watch. Чтобы событие появилось, его нужно сначала добыть.

Что, если у меня есть функция в Solidity, целью которой является поиск в массиве и распечатка всех элементов, соответствующих определенным критериям. Эта постоянная функция должна выполняться локально, а не через майнинг, возможно ли это?

Вы говорите о постоянной функции? Это то, что вы подразумеваете под "...выполняется локально, а не через майнинг..."? Если да, то, возможно, вы можете уточнить вопрос, добавив слова "Эта постоянная функция..." Если это то, что вы имеете в виду, и массив данных является общедоступным, вы должны иметь возможность делать то, что хотите, но вам придется подождать, пока вам поможет гуру Javascript, поскольку я не знаю, как это сделать в Javascript.
@ThomasJayRush да, это постоянная функция, а массив данных общедоступен. Извините за путаницу
Этот вопрос можно улучшить, добавив (изолированный) код Solidity, который вы пытаетесь заставить работать. Возможно, вы могли бы вставить комментарий, например // I want to print here, где вы застряли.

Ответы (1)

Может быть, то, что вы ищете, но у меня есть код, который я использую для перебора массива адресов и последующего вывода адресов. Это использует библиотеку web3, и я использую ее из своей консоли узла. Первая хорошая вещь в массивах адресов заключается в том, что если они пусты, они просто печатают 0x, поэтому проверка длины может сказать мне, есть ли что-то там.

var l = 4
var j = 0
while (l>3) {var x = ContractInstance.Array.call(j);
console.log(ContractInstance.Array.call(j)); j++;var l = x.length}
Рад, что это работает, спасибо за голосование и принятие