Мне неясно, какие элементы внутреннего кода Dapp на самом деле децентрализованы.
В следующей ссылке указано, что серверная часть Dapp полностью хранится в блокчейне. Однако, если бы я должен был создать веб-приложение Dapp, какая часть того, что обычно называют в смысле веб-разработки «бэкэндом», на самом деле находится в блокчейне?
Например, если бы я разрабатывал веб-приложение с использованием Python, была бы вся функция моего кода Python заменена смарт-контрактом, если бы я разрабатывал Dapp, или только ключевые элементы бизнес-логики?
Это следующее изображение помогло мне понять, как децентрализованные приложения сочетаются друг с другом. Я, как правило, Java-разработчик, поэтому я больше знаком с написанием промежуточного программного обеспечения для некоторого J2EE-сервера и размещением такого приложения. Я держу это объяснение на очень высоком уровне.
В настоящее время я выбираю подход:
IPFS NODE ----> REQUESTS
с содержанием#
IPFS NODE <---- RECEIVES
соответствующий контент из сетиУ меня есть стандартное веб-приложение, которое позволяет пользователям загружать свои профили. Объем кода Java заключается в чтении данных через конечные точки и сохранении в базе данных. Сервер приложений также будет передавать статический контент пользователю, нажимающему определенный URL-адрес. Децентрализованная версия этого простого приложения будет выглядеть следующим образом:
Большая часть логики в приложении перенесена во внешний код. Обратите внимание, что это вымышленное приложение, которое использовалось только в качестве примера.
Вот отличный пример подключения IPFS к контракту Solidity и выполнения запросов через консоль JS в вашем браузере.
Спасибо, я надеюсь, что это поможет!
Если мы рассмотрим DAPP = интерфейс + серверная часть
, то передняя часть (не в блокчейне) будет стандартным веб-интерфейсом, например, javascript (web3js) + HTML, используемая технология должна избавиться от RPC API, который взаимодействует с клиентом ethereum.
Бэкэнд = смарт -контракт (хранящийся в блокчейне), например, контракты на солидность, в которых вы определяете свою бизнес-логику (транзакции и т. д.) и помните, что смарт-контракт имеет свое хранилище (расположенное в блокчейне), где вы можете хранить данные своего приложения.
За исключением смарт-контрактов, все находится за пределами блокчейна.
Кайл Беркетт
Эндер