Giter Club home page Giter Club logo

nerd-x's Introduction


NerdX - Decentralized Ethereum based exchange

You can have a look at this demo video to get a sense of how the project works. Click on the image to view the demo video.

Check out video on YouTube

(Right now, it's working on Ropsten Testnet)

You can also check out the Live Demo. The project supports only Metamask, for now.

NOTE: If the page fails to load, just wait a few seconds and reload it. It happens because the app is hosted on heroku and heroku's free version resets the app if nobody is using it for a certain period of time.

About

Note: This project was created as a portfolio projects for InSynk Studios and it we do not intend to monetize on it by launching on the mainnet.

NerdX is a decentralized exchange which allows you to buy and sell the NEX token (NerdX token) in exchange for ether. NEX is an ERC20 token.

The exchange has the following features:

  • Deposit Ether into the exchange
  • Withdraw Ether from the exchange
  • Deposit NEX into the exchange
  • Withdraw NEX from the exchange
  • Make buy and sell orders
  • Fill buy and sell orders, from the Order book
  • Graph view of the token price
  • View all the trades that you have done
  • View all the orders you have made
  • Cancel a previously made, unfulfilled, order
  • View all the trades that has been made yet

In order to use the exchange, you just need to login with your Metamask wallet, on the Ropsten network.

Contribution

To contribute to this project, first you need to set it up, locally. Follow the tutorial below:

Frontend

You need to install all the dependencies for this project's frontend. (I have used npm in this project, if you intend to use other package managers, make sure to delete the package-lock.json.)

Run npm install

Wait for the installation to get over, and try running the server with npm run start.

Open http://localhost:3000 to view it in your browser.

The page will reload when you make changes.

Backend

This project is a truffle project and has truffle-config.js as it's config file.

So, in order to run the development server, you need to have Ganache installed which will act as a local blockchain. Having Ganache running, you need to compile and migrate the smart contracts onto Ganache using the following commands,

This command deploys the smart contract on the blockchain,

truffle migrate --reset

Once that is done, you can run the Smart contract tests to it working,

truffle test

If you want, you can add seed data to the exchange through the seed-exchange.js file. Just run the following command,

truffle exec scripts/seed-exchange.js

This will help you generate data so that the exchange doesn't look empty in the browser.

nerd-x's People

Contributors

amansharma007 avatar

nerd-x's Issues

Balance after Deposit/Withdraw is not changing in realtime

A solution to this is to add loadBalances(...) function in renderForm() function of Balance component.
There are two problems with that,

  • loadBalances() is an async function and cannot be used with await in renderForm() cuz renderForm() is used in the markup.
  • There are too many events being called if I use it without await. I don't know if not using await causes that or not, but a better solution is yet to be found.

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.