Skip to main content

Directory Structure


|-- 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/: Contains Solidity contract files.

migrations/: Contains JavaScript files that handle smart contract deployments.

truffle.js: Contains Truffle configurations.

static/: Contains static files, such as images and fonts.

src/index.js: App's index file. ReactDOM.render logic is in here.

src/App.js: App's root component file.

src/styles: Overall style definition regarding stylesheet.

src/redux: Creates API functions that interact with the contract and keep track of consequent data.

src/klaytn: Contains files that support interaction with the Klaytn.

  • src/klaytn/caver.js: Instantiates caver-js within the configured settings.

    cf) caver-js is a RPC call library which makes connections to the Klaytn node, interacts with the nodes and smart contracts deployed on Klaytn.

  • src/klaytn/Klaystagram.js: Creates an instance of the contract using the caver-js API. You can interact with the contract through the instance.

src/pages: Contains two page files that compose Klaystagram app.

  • src/pages/AuthPage.js: Contains sign up and login form. You can generate private key in the sign up form and use it to login on the app.

  • src/pages/FeedPage.js: Reads photo data from the contract and show them to users. Also users can upload their pictures in FeedPage.

src/components: Contains component files that compose page.

  • src/components/Feed.js: Reads data from contract and displays photos.

  • src/components/UploadPhoto.js: Uploads photo by sending transaction to contract.

  • src/components/TransferOwnership.js: Transfers photo's ownership by sending transaction.

Make this page better