본문으로 건너뛰기

디렉터리 구조


|-- contracts
|-- migrations
|-- truffle.js
|-- static
|-- src
|-- klaytn
|-- caver.js
|-- KlaystagramContract.js
|-- redux
|-- pages
|-- AuthPage.js
|-- FeedPage.js
|-- components
|-- UploadPhoto.js
|-- Feed.js
|-- TransferOwnership.js
|-- ...
|-- styles
|-- utils
|-- index.js
|-- App.js

contracts/: Solidity 컨트랙트 파일을 포함합니다.

migrations/: 스마트 컨트랙트 배포를 처리하는 JavaScript 파일을 포함합니다.

truffle.js: Truffle 구성을 포함합니다.

static/: 이미지 및 글꼴과 같은 정적 파일을 포함합니다.

src/index.js: 앱의 인덱스 파일. ReactDOM.render 로직이 여기에 있습니다.

src/App.js: 앱의 루트 컴포넌트 파일.

src/styles: 스타일시트와 관련된 전반적인 스타일 정의입니다.

src/redux: 컨트랙트와 상호작용하고 결과 데이터를 추적하는 API 함수를 생성합니다.

src/klaytn: 클레이튼과의 상호작용을 지원하는 파일들이 들어 있습니다.

  • src/klaytn/caver.js: 설정된 설정 내에서 caver-js를 인스턴스화합니다.

    (참조) caver-js는 클레이튼 노드에 연결하고, 클레이튼에 배포된 노드 및 스마트 컨트랙트와 상호작용하는 RPC 호출 라이브러리입니다.

  • src/klaytn/Klaystagram.js: caver-js API를 사용하여 컨트랙트 인스턴스를 생성합니다. 인스턴스를 통해 컨트랙트와 상호작용할 수 있습니다.

src/pages: Klaystagram 앱을 구성하는 두 개의 페이지 파일을 포함합니다.

  • src/pages/AuthPage.js: 가입 및 로그인 양식을 포함합니다. 가입 양식에서 개인키를 생성하여 앱에서 로그인할 때 사용할 수 있습니다.

  • src/pages/FeedPage.js: 컨트랙트에서 사진 데이터를 읽어와 사용자에게 보여줍니다. 또한 사용자는 FeedPage에서 자신의 사진을 업로드할 수 있습니다.

src/components: 페이지를 구성하는 컴포넌트 파일을 포함합니다.

  • src/components/Feed.js: 컨트랙트에서 데이터를 읽고 사진을 표시합니다.

  • src/components/UploadPhoto.js: 컨트랙트에 트랜잭션을 전송하여 사진을 업로드합니다.

  • src/components/TransferOwnership.js: 트랜잭션을 전송하여 사진의 소유권을 이전합니다.

Make this page better