GithubHelp home page GithubHelp logo

scholar3's Introduction

Smart Contract Addresses

Library contract (on Goerli testnet): 0xB1f6ee6e58bE9ADd89A10b5426570Dbb8215a711 this contract uses Chainlink pricefeeds to convert usd to eth. The author enters their book's price in usd and it get stored in the smart contract as an ETH value for buyers.

Research contract (on Mantle testnet): 0xddab99b21E11D1A2DF42303Edd0BFaad648D0f52 Mantle is an L2 network on top of Ethereum. Couldn't deploy our other contract to it because Chainlink pricefeeds don't exist on mantle testnet (yet)

The problem Scholar3 solves

In today's world, researchers toil hard, collect their findings and write them down to form an organized body of work. They showcase their work to other people in the form of research papers. However, for their paper to actually be read by a substantial amount of people, they need to provide their papers to a publishing company / organization and they publish it for them. This company charges a fee that goes straight out of the researcher's pocket. Add to that, if anyone has to cite the researcher's work in a for-profit work, they have to take permission from the publishing company and pay them some royalty fees. This is exactly what Scholar3 aims to change.

Scholar3 gives researchers a platform to upload their research papers to IPFS, without involving any middlemen. Since they are uploaded to IPFS using Pinata as a pinning provider, data permanence is guaranteed. Anyone can upload their papers and it will be recorded on the blockchain. The content ids (CIDs) that they deploy are linked to their wallet address, thus always maintaining proof of originality. We are using the Mantle (testnet) network for the smart contract involved here.

We also have a library section where anyone can upload their books to IPFS. Similar to the research paper section, this section also links the CIDs of deployed book to the address that deployed them. It will also serve as a marketplace where the author puts in the price they want to charge in USD and the buyers see the price in ETH (thanks, Chainlink). The smart contracts involved here are deployed on the Goerli test network, since we can't use Chainlink price feeds on Mantle (yet).

Challenges we ran into

There are a lot of challenges that we ran into, but fixing them was just as relieving as it was painful encountering them. We all learned a lot during the course of this hackathon.

We were having trouble using the useContractWrite() hook from wagmi because in React, calling hooks inside hooks is not allowed. This really took a lot of time to resolve since we were wondering what we could do instead. A friend of mine suggested that I should use the useContract() hook ti create and instance of the smart contract.and call that smart contract's methods on that hook. It worked and it also helped us to use async functions and do more stuff with the returned values

Using ThirdWeb's ipfs uploader also presented some errors - it did not support the Mantle network. We used a workaround but managed to fix the issue and get their uploader working. Uploading two files one after the other from the same drop-zone took some tinkering but in the end, we did it.

Since there are three devs in our team, we had some trouble keeping up with each other's commits on GitHub and had to resolve some merge conflicts. However, it was not too big of a deal and with teamwork, proper communication and coordination, we "pulled" through.

scholar3's People

Contributors

awesamarth avatar dikapitacion avatar gaganchaudhary6378 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.