2017-02-28 13 views
8

Jestem w trakcie tworzenia Ethereum DApp. Baza danych DApp składa się z użytkowników, którzy mają powiązane dane, takie jak adres e-mail, nazwa i zdjęcie profilowe. Chciałbym przechowywać zawartość użytkownika wewnątrz IPFS jako obiekt JSON i odwoływać się do tego w łańcuchu za pomocą skrótu IPFS. Jak mogę powiązać te dane z konkretnym użytkownikiem? W tym sensie, że kolejne interakcje z DApp łączą użytkownika z danymi przechowywanymi w IPFS. Czy odbywa się to za pomocą skrótu konta użytkownika z jakimś hasłem?Obsługa profili użytkowników w Ethereum DApps

Na przykład użytkownik użytkownik A jest zainteresowany korzystaniem z DApp i dlatego podaje swój adres e-mail, nazwę i zdjęcie profilowe. Następnie każda kolejna interakcja z DApp, taka jak komentarz lub post, łączyłaby tego użytkownika z odpowiednimi danymi użytkownika w IPFS.

Wszelkie sugestie lub poprawki w sposobie modelowania użytkowników byłyby mile widziane. Dzięki!

(PS Pochodzę z tradycyjnej web/aplikacji mobilnych świecie, więc jestem po prostu przyzwyczajenie do modelowania rzeczy z wykorzystaniem inteligentnych kontrakty. Tak więc z góry przepraszam, jeśli jest to proste lub źle skonstruowane pytanie.)

Odpowiedz

9

Jedną z zalet korzystania z platformy, takiej jak Ethereum, jest możliwość zbudowania ZERO kliknij logowanie. Jeśli ustalimy, że użytkownik web3.eth.accounts[0] jest dowodem, że użytkownik kontroluje klucz prywatny adresu tego konta, to zawsze będziesz wiedział, że użytkownik jest ważny.

Jeśli chcesz użyć błędów IPF, jak bazy danych, moja sugerowanego podejścia byłoby to:

Należy zauważyć, że z większości systemów zdecentralizowanych dużo akcji dzieje się po stronie klienta.

Zarejestruj Użytkownik

  • Użytkownicy mają konta Ethereum.
  • Po zarejestrowaniu dane użytkownika są gromadzone w obiekcie JSON
  • Plik jest tworzony, napisz obiekt JSON do pliku.
  • plik Przełęcz błędów IPF
  • plików śnieżący (który jest w zasadzie jego lokalizacja błędów IPF)
  • Store hash błędów IPF w umowie Ethereum, wiążącą konto Ethereum użytkownika z pliku hash błędów IPF.

walidacji użytkownika

  • Użytkownik odwiedza witrynę
  • web3js dostaje aktywne konto Ethereum
  • Read od umowy użytkownika, aby znaleźć Associated błędów IPF Hash
  • Get plik z błędami nieprawidłowej strony
  • Przeczytaj obiekt JSON
  • Wyodrębnianie danych z JSON
  • wyświetlania danych do użytkownika
+1

Dzięki za wielką odpowiedzi!Wyjaśniłeś znaczną część mojego zamieszania. Zamodeluję to używając IPFS z twoim podejściem. Myślę, że nie mogłem w pełni zrozumieć, że użytkownik jest związany z kontem ethereum, do którego można uzyskać dostęp za pomocą specjalnej przeglądarki DApp. Zasadniczo, aby użytkownik mógł wchodzić w interakcje z dowolną aplikacją DApp, musiałby mieć zainstalowaną lokalnie chmurę, która wymagałaby, aby aplikacja DApp była aplikacją kliencką. Lub, jeśli będzie to witryna internetowa, będą potrzebować zainstalowanej MetaMaski, aby web3 mógł zostać użyty do odzyskania konta. –

+0

najlepsza odpowiedź nie wiedziałem, że to działa dzięki! –

Powiązane problemy