отправить файл из фабрики Hyperledger в IPFS - PullRequest
0 голосов
/ 14 декабря 2018

Можно ли отправить файл из смарт-контракта фабрики hyperledger (тип файла .go).К частному хранилищу IPFS как-нибудь?

Я не хочу этого: клиент -> умный контракт (hyperledger).а затем клиент -> хранилище IPFS

Но я хочу вот что: клиент -> умный контракт (hyperledger) -> хранилище IPFS

Это удобно, когда вы хотите точно знать, кто загрузил файлили скачал один.

Я просто хочу знать, возможно ли это, спасибо.

1 Ответ

0 голосов
/ 14 декабря 2018

Нет встроенного ограничения на выполнение внешнего вызова из кода цепочки, но я бы не рекомендовал описанный вами рабочий процесс.

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

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

...