====== SmartContracts for Retail ====== Система должна обеспечивать работу автоматизированного склада, обслуживающего разные интернет-магазины, с использованием алгоритма смарт-контрактов. Информационная система склада имеет публичное API, позволяющее работать с ним удаленно. В любой транзакции со складом используется цифровая подпись, которая проверяется на совпадение с подписью заключившего договор на обслуживание. Магазин через API склада может проверить наличие остатков по конкретному артикулу, получить полный список позиций на складе, оформить заказ на принятие товаров (с передачей по API ожидаемого списка отгрузки) от курьерской службы и формирование отгрузки со склада по списку отгрузки с передачей в курьерскую службу. Принятие товаров на склад – трехсторонний смарт-контракт между курьерской службой, складом и интернет-магазином (магазин делает заказ у поставщика, а дальше заключает контракт на доставку товара от поставщика до склада у курьерской службы). Отгрузка товаров со склада – трехсторонний смарт-контракт между курьерской службой, складом и интернет-магазином и является частью смарт-контракта покупки пользователем в интернет-магазине. //Усложнение//: реализовать 4-сторонний смарт-контракт: пользователь, делая покупку, помимо товаров оплачивает и доставку. В контракте 4 контрагента: покупатель, магазин, служба доставки, склад. Должна быть предусмотрена возможность получения покупателем информации от склада по состоянию его заказа, возврат некачественного товара, обработка возможных ошибок некорректного(с точки зрения покупателя) формирования заказа и прочее. Все денежные расчеты между контрагентами производятся в криптовалюте.