0xAlchemist / flow-orbital-auction

Capstone Project for the Flow Blockchain Open World Builders program. We built a new type of auction where bidders compete for positions to win prizes and tokens

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Orbital Auction Smart Contract

Orbital is a game where you bid for rocks (NFT). Rocks are distributed into Orbs which Players can make bids on and compete for ownership of.

Presentation

Presentation Video on YouTube

Google Slide Deck

Technical Demonstration

Our project tackles distribution of game items. We distribute rocks (an example in game NFT) based on a simple game mechanism. Players bid with a fungible token and receive rewards in the form of the fungible token and Rock NFTs.

We've put Cadence and the Flow blockchain to the test by performing all calculations on-chain. The Orbital Auction smart contract uses the FungibleToken and NonFungibleToken standards from the Flow team, so the DemoToken and Rocks can be replaced by any custom tokens that conform to the standard.

Technical Demonstration Video on YouTube

Deployment

  1. Ensure Go is installed on your machine recommended version 1.14^
  2. Install the Flow CLI and VS Code Extension
  3. Run git clone https://github.com/0xAlchemist/orbital-auction in a terminal window
  4. Change to the project directory cd orbital-auction
  5. Run mv flow.sample.json flow.json to rename flow.sample.json to flow.json
  6. Run flow emulator start -v in terminal window 1
  7. Run make in terminal window 2
  • Blockchain output will appear in window 1 (emulator window)
  • Demo script instructions will appear in window 2 (make window)

Technical Limitations and Future Additions

  • Does not wait for active bidders before starting the first Epoch
  • Does not handle a case where there are two competing "highest bids"
  • There is no commission percentage for auction host or token sellers
  • There is no method to safely return Rocks (NFTs) to the auction host's collection

We didn’t get a chance to implement any front end or many of the features we wished to make this into a playable game. With more time and resources we would have accomplished a lot more in terms of technical implementation. In the future we would flesh out the idea in more detail and perhaps make a generalised protocol based upon this idea.

About

Capstone Project for the Flow Blockchain Open World Builders program. We built a new type of auction where bidders compete for positions to win prizes and tokens


Languages

Language:Go 93.5%Language:Makefile 6.5%