이더리움 DApps에서 사용자 파일을 처리하는 것에 대한 질문입니다.

조회수 1071회

저는 지금 이더리움 DApp을 만들고 있습니다. DApp은 이메일, 이름이나 프로필 사진과 같은 관련된 데이터를 가지고 있는 유저들로 이루어져 있습니다. 저는 JSON 객체처럼 IPFS 내에서 사용자의 정보를 저장하고 IPFS 해시를 사용하여 체인에서 이 정보들을 참조하고 싶습니다. 이 데이터를 특정 사용자와 연결하려면 어떻게 해야 할까요? DApp과의 이후 상호 작용은 사용자를 IPFS에 저장된 데이터와 연결하는데 이것은 일종의 암호와 함께 사용자 계정 해시를 이용하여 돌아가는 건가요?

예를 들어, 사용자 A 는 DApp을 사용하는 데에 관심이 있어서 이메일, 이름 및 프로필 사진을 제공한다고 해봅시다. 그래서 의견이나 게시물과 같은 DApp과의 이후 상호 작용은 이 사용자를 IPFS 내에서 각각의 사용자 데이터에 연결할 것입니다.

사용자를 모델링하는 방법에 관해서 조언을 해주신다면 정말 감사할 것입니다. 고맙습니다!

(추가적으로 저는 기존의 웹 / 모바일 앱을 사용하기 때문에 스마트 컨트랙을 사용하여 모델링하는 것에 익숙해져 있습니다. 그래서 만약 이게 너무 쉬운 질문이거나 잘못된 질문이라면 미리 사과할게요.)

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • Ethereum같은 플랫폼을 사용할 때의 장점들 중에 하나는 "ZERO click 로그인"을 구축할 수 있다는 것입니다. 만약에 우리가 사용자의 'web3.eth.accounts[0]' 이 사용자가 해당 계정 주소의 private 키를 제어한다는 증거가 된다고 설정한다면 당신은 사용자가 유효하다는 것을 항상 알 수 있을 겁니다.

    "데이터베이스처럼 IPFS를 사용하고 싶으면 저는 이런 접근 방식을 제안해보겠습니다."

    대부분의 분산 시스템에서는 많은 작업이 클라이언트 측에서 일어난다는 것을 기억하세요

    User Signup

    • 사용자는 Ethereum 계정을 가지고 있습니다.
    • On sign up user 데이터는 JSON 객체로 모아집니다.
    • 파일이 작성되고 JSON 객체를 파일에 작성하세요.
    • 파일을 IPFS로 전달하세요.
    • 파일 해시 가져오세요 (기본적으로 IPFS 위치)
    • 사용자의 Ethereum 계정을 IPFS 파일 해시와 연결하는 Ethereum 컨트랙에 IPFS 해시를 저장하세요.

    User Validation(유효성 검사)

    • 사용자가 웹 사이트를 방문합니다.
    • web3js가 활성화된 Ethereum 계정을 가져옵니다.
    • 연결된 IPFS 해시를 찾기 위해 사용자 컨트랙을 읽습니다.
    • IPFS에서 파일 가져 오세요
    • JSON 객체를 읽으세요
    • JSON에서 데이터 추출하세요
    • 사용자에게 데이터를 보여주세요
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)