Нет встроенного ограничения на выполнение внешнего вызова из кода цепочки, но я бы не рекомендовал описанный вами рабочий процесс.
Цепной код работает на нескольких пирах, и в процессе работы вы, скорее всего (и обязательно должны) иметь политику одобрения, которая требует, чтобы несколько пиров одобрили предложение по транзакции.Это означает, что несколько пиров получат запрос от клиента и, в свою очередь, отправят запросы в ваше хранилище IPFS.Если успешная загрузка в IPFS является требованием для успешного выполнения предложения об одобрении, вам придется либо выполнить несколько загрузок в IPFS, либо выполнить неудачные транзакции, поскольку один и тот же файл / дескриптор пытается быть записан в ваше хранилище.
Здесь лучше использовать рабочий процесс «клиент -> цепочка -> клиент -> служба заказа -> клиент -> хранилище IPFS».Управление знаниями о том, кто загружает / скачивает файл, должно обрабатываться в другом месте.Как правило, цепные коды должны быть простыми, эффективными и детерминированными.