Skip to content

The purpose of this project is to create a decentralized auction in Solidity, using JavaScript, HTML, CSS and Bootstrap for the Front End.

Notifications You must be signed in to change notification settings

benjaminweymouth/NFT-Artwork-Auction-App

Repository files navigation

AuctionPier

AuctionPIER: An Ethereum Dapp Auction

Project team members: Benjamin Weymouth, Mohamed Berrachdi, Sadia Akbar


Live Link and Set-Up Instructions

Note: install the metamask extension for your preferred browser to access the site. (follow these steps)

  1. Install the metamask extension
  2. Within Metamask, create a wallet account
  3. Switch to the Ropsten Test Network
  4. Add 1 ETH (or more!) from a faucet such as https://faucet.metamask.io/
  5. visit the AuctionPier site and enjoy some friendly competitive bidding.

Project Overview

The purpose of this AuctionPIER project is to create a decentralized auction in Solidity, using HTML, JavaScript, CSS and Bootstrap for the Front End. This project has two different solidity files for the back end / decentralized portion of the app.

Our motivation is to build and develop a blockchain based Auction Artwork marketplace using the decentralized Ethereum platform. Art houses like OpenSea and other NFT sites can no longer be ignored both from a financial impact, the revolutionary nature of NFTs and the revenue that rivals traditional auction houses like Christies.

This project utilizes the blockchain and the idea of an non-fungible token to create a fresh new approach to auctioning off artwork. Users who are part of the Ethereum community can utilize their ETH to bid on artwork and be part of an artistic and computing wave that is taking the world by storm.

PowerPoint / Slide Deck

Download SlideDeck Here

Relevance to Fintech

Ethereum and the Decentralized Apps:

Ethereum is a blockchain platform, and as such is a shared, immutable ledger that simplifies recording transactions and tracking assets in a peer to peer network. In traditional apps the backend or database data is hosted on a server or static data structure like a server. An ethereum blockchain does store data, but utilizes a distributed system where each member node is not solely responsible for hosting the entire infrastructure. Blockchain technology is built specifically for recording transactions and would make it easier for companies to track things like auction purchases, Artwork ID numbers and utilizes tokens which assist in facilitating our project goals.

Smart Contracts and Solidity:

Solidity and Smart Contracts are currently emerging but will spread in both popularity and utility. Auctions, gaming and cryptocurrencies are just the beginning. Smart Contracts represent a decentralized backend functionality that calls variables, methods and interacts with hosting platforms like the Pinata IPFS. They leverage technologies like tokenization, consensus mechanism and Ethereum wallets to provide financial transactions, distributed storage and much more.

Auctions and Dapp Auctions:

An auction is a classic financial instrument, but the decentralized web allows for a new representation of an older concept. In the form of a blockchain, an auction can be spread amongst members of a network, in this case we utilize the Ethereum network.

To translate auctions into the spirit of openness and decentralization that Blockchain empowered, Dapp Auctions brign together all of the aspects of auctions and Blockchan capabilities and features; based on the Ethereum network and using open sourced technical solutions, we tried to build an ambitious platform that allows both creators and investors to sell and invest in original NFT and artworks, all with Ether.

Project Tech Stack

Our project tech stack includes CSS, JavaScript, HTML5, Git, VS Code, Ethereum, Solidity, Trello, MetaMask, Canva, Ganache, Remix IDE and Bootstrap.

CSS HTML JavaScript Git Git Git Git Git Git Git Git Git Git

Usage and Installation Instructions

This section outlines GIF vidoes and details a list of instructions and tools to setup the app. The main components such as a Ganache test net, a Remix IDE and a MetaMask wallet are all crucial components to setting up the app on your machine. Links are provided for installation guides for all of these components.

The next section will provide video instructions on the app. Following that a list of tools and step-by-step instructions are provided.

Compiling and Deploying the App: (Video)

This video shows the steps to compile and deploy the solidity contracts

AuctionPier

Start the App in VS Code: (Video)

Once you have VS Code "Live Server" extension installed, you can run the app on your local machine. This video shows the steps required.

AuctionPier

Register New Artwork: (Video)

At this stage you can register some artwork on the website. And it will be hosted on the Pinata IPFS system.

AuctionPier

Non-deployer Access: (Video)

The following video shows the frontend view for a non-deployer/non-admin. A bidder does not have access to end an auction or place a new bid.

AuctionPier

Placing a bid: (Video)

The following video depicts how a potential bidder can make and submit a bid.

AuctionPier

Auction End: (Video)

The auction owner can end the auction for any piece of artwork when the highest bid is placed.

AuctionPier

Software Tools / Items to Install:

Please install all of these items and select the distribution that will work with your personal computing setup.

  1. Remix IDE https://github.com/ethereum/remix-ide
  2. Ganache https://trufflesuite.com/ganache/
  3. Metamask Chrome Extension https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en
  4. Chrome Web Browser https://www.google.ca/chrome/
  5. VS Code IDE https://code.visualstudio.com/
  6. Live Server (VS Code extension) https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer

Steps to Setup the App:

Once the installation steps are complete you can setup your blockchain and start the app on the Live Server. Please follow the steps accordingly.

  1. install Ganache, open and setup a new quick start workspace. set account as formal ganache workspace (not quickstart)
  2. open metamask and connect metamask to ganache network
  3. open the solidity contracts in the Remix IDE.
  4. Set compiler to 0.5.5. compile both contracts.
  5. set metamask web injector in your remix IDE.
  6. Select the Market contract and deploy it.
  7. Select the Auction contract, insert an ethereum address and deploy it using the address.
  8. set environment to injected web3. connect min 3 accounts in metamask.
  9. set beneficiary account and click deploy
  10. set value to 1 ETH, enter bidder 1 address. click bid.
  11. set value to 2 ETH, enter bidder 2 address. click bid.
  12. end auction
  13. withdraw
  14. pending return: add senders (highest bidder)

Conclusions section

Blockchain technology is well-suited to Auctions because it is built specifically for recording transactions like auction purchases, Artwork ID numbers and utilizes tokens which assisted in facilitating our project goals.

Users who are part of the Ethereum community can utilize their ETH to bid on artwork and be part of an artistic and computing wave that is taking the world by storm.

Solidity and Smart Contracts are currently emerging but will spread in both popularity and utility. Our team believes that Auctions, gaming and cryptocurrencies are just the beginning.

About

The purpose of this project is to create a decentralized auction in Solidity, using JavaScript, HTML, CSS and Bootstrap for the Front End.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •