Управление несколькими фильтрами в geth?

В интерактивной консоли JavaScript geth я добавил некоторые фрагменты JS (фильтры) с помощью команды loadScript(), и мне нужно удалить/остановить выполнение этих фильтров. Есть ли способ сделать это без перезапуска экземпляра geth?

У меня загружены следующие фильтры. Ни один из них не содержит функции просмотра:

  1. Фильтр для майнинга только при наличии ожидающих транзакций.
  2. Фильтр, чтобы проверить , была ли транзакция направлена ​​на конкретную учетную запись, и распечатать некоторые детали.

Есть ли способ определить и запустить/остановить эти фильтры?

Я бы хотел, чтобы вы уточнили, как / о чем ваш фильтр, это помогло бы, однако я дал и ответил @varm
Добавлено больше деталей @TheNeoNoirDeveloper

Ответы (1)

Да, вы можете использовать функцию stopWatching() для каждого из фильтров, если хотите, чтобы они перестали работать.

var filter = <your filter code>;
//now you want to stop them being functional
 filter.stopWatching();

Будет делать то, что вы хотите.

Выполнение eth.filter()команды в консоли JavaScript дает список всех фильтров вместе с уникальными идентификаторами фильтров. Функцию stopWatching()можно вызвать с каждым из этих идентификаторов filterID, чтобы отключить этот фильтр.

Спасибо. Но у моих фильтров нет функции часов. Даже если бы была функция просмотра, как бы я определил каждый фильтр и остановил его, если фильтров несколько?
Даже если у вас нет связанных часов, функция stopWatching() сделает недействительным ваш фильтр @varm. И у каждого фильтра есть свойство filterId, очень похожее на адрес. Для разработчика он мог бы создать карту фильтров, пройтись по каждому из них и вызвать для каждого функцию stopWatching(), чтобы сделать их недействительными.
Обновил ответ @varm и увидел мой предыдущий комментарий к идентификатору фильтра.
Есть ли какая-либо команда/опция для установки/получения идентификатора фильтра?