A token auction website made by Flutter thats interacts with Ethereum web3 through flutter_web3 package.

Overview

flutter_web3_auction

A token auction website made by Flutter thats interacts with Ethereum web3 through flutter_web3 package.

This flutter web package is demonstration/example for flutter_web3 package usage ONLY.

Live preview at https://auction.yoisha.dev/


Currently operating chain are (is)

  • Binance Testnet (97)

auction web

auction mobile

Disclaimer

I've built this a while ago and decided to take this to open-source, so don't hope for anything magnificient and/or bug-free. Any contributions are welcomed and appreciated.

DO NOT USE THIS IN PRODUCTION

  • Inefficient large list query method Current method will break/subject for rate limit for large list
    • Current: Get total list length and recursively query each item (1 item per 1 https call) although paginated
    • Fix: Use off-chain indexers like TheGraph or your own querying tools or use Multicall
  • Inefficient constant property monitor
    • Current: Use Timers and constantly invoke https call per interval
    • Fix: Use event subscription or off-chain indexers
  • Insufficient user account checks/monitors
    • Fix: Use event subscription and if-clause checks
  • No error catching for invalid transaction/canceled transaction
  • Etc.

For best case scenario, you should use Multicall/Logs querying/Event subscription whenever available to reduce the number of https call made to the node.

Content

This example website usage is to auction/sell off ERC20 token using others ERC20 token or native token as a payment (selectable). The seller can put certain amount of token for sale and decide the price from start, then the total time that the token will be put on sale. The seller also can put a limit per account on.

For buyer can navigate to the desired pool page by accessing from the front page or by dedicated link. And then the buyer can buy the token by putting how much they want to spend, that less than the limit set by the buyer.

So, this website cover

  • Ethereum interaction
  • Wallet interaction
  • Provider interaction
  • Contract call (Both read and write)
  • Cutomizable multichain contract access
  • Dynamic URL for each token pool
  • Flutter web basics
  • A lot of rubbish and crude code

Usage

First, in the package directory.

flutter pub get

To run the web-server, use

flutter run -d web-server

And navigates to the URL shown after the command was used.

Directory

Edit /config/chain.dart to configure available chain and contract information.

All contract interaction is located in /controllers/*/contract_controller.dart

.
├── config
│   └── chain.dart
├── constants.dart
├── controllers
│   ├── fixed_swap
│   │   ├── contract_controller.dart
│   │   ├── create_controller.dart
│   │   ├── home_controller.dart
│   │   └── pool_controller.dart
│   └── web3controller.dart
├── extensions.dart
├── generated_plugin_registrant.dart
├── main.dart
├── models
│   ├── chain.dart
│   ├── controller_bundle.dart
│   ├── currency.dart
│   ├── pool.dart
│   ├── pool_create_request.dart
│   ├── pool_swap_request.dart
│   └── token.dart
├── pages
│   ├── fixed_swap
│   │   ├── create.dart
│   │   ├── home.dart
│   │   ├── pool.dart
│   │   ├── widgets
│   │   │   ├── claim_pool.dart
│   │   │   ├── create_listing.dart
│   │   │   ├── create_pool_dialog.dart
│   │   │   ├── fixed_pool_mini.dart
│   │   │   ├── join_pool.dart
│   │   │   ├── paginate.dart
│   │   │   ├── pool_dialog_action.dart
│   │   │   ├── pool_header.dart
│   │   │   ├── pool_information.dart
│   │   │   ├── pool_settings.dart
│   │   │   ├── swap_dialog.dart
│   │   │   └── token_contract_form.dart
│   │   └── your_pool.dart
│   └── redirect.dart
├── routes.dart
├── utils.dart
└── widgets
    ├── account_large.dart
    ├── layout.dart
    ├── logo_large.dart
    ├── navigation_bar.dart
    └── paginate_controller.dart
You might also like...

Show movie & crews information through network. made by flutter

Show movie & crews information through network. made by flutter

1. Release Google Play App Store 20.03.14 updated Comming Soon 2. REST API https://developers.themoviedb.org/3 3. Screen shot Youtube 4. Design Petter

Dec 12, 2022

A flutter application that allows users to test their knowledge through quizzes made for specific topics.

Quiz_App A flutter application that allows users to test their knowledge through quizzes made for specific topics. Setup The application consists of a

Dec 29, 2021

Flutter package to diplay progress through a milestone progress widget

Flutter package to diplay progress through a milestone progress widget

milestone_progress Flutter package for IOS and Android to display progress through milestone progress widget. Screenshots ## Usage [Example]https://gi

Aug 4, 2020

A routing package that lets you navigate through guarded page stacks and URLs using the Router and Navigator's Pages API, aka "Navigator 2.0".

A routing package that lets you navigate through guarded page stacks and URLs using the Router and Navigator's Pages API, aka

A Flutter package to help you handle your application routing and synchronize it with browser URL. Beamer uses the power of Router and implements all

Jan 7, 2023

Today we will show you how you can create your developer portfolio website and app using flutter.

Today we will show you how you can create your developer portfolio website and app using flutter.

Responsive and Animated Portfolio Website & App - Flutter UI Live Preview Watch it on YouTube Packages we are using: flutter_svg: link goole_fonts: li

Dec 30, 2022

Personal Website built using Flutter

Personal Website built using Flutter

Oct 9, 2022

✔️ Flutter Portofolio Website

 ✔️ Flutter Portofolio Website

✔️ Flutter Portofolio Website A Flutter app based on the design of the Flutter Portofolio Website, created by Achmad Rizki Nur Fauzie, Features Respon

Nov 6, 2022

My Portfolio Website. It's fully created with Flutter.

portfolio A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Oct 24, 2022
Comments
  • Open source the smart contracts code of the auction demo/example

    Open source the smart contracts code of the auction demo/example

    Thanks for your kindness of open source the code, it is very helpful example on how to use the flutter_web3 package.

    It will be great if you could open source the smart contracts solidity source code of the demo/example.

    Hope to hear from you soon! :)

    opened by limcheekin 1
Owner
yoisha
ayo ayo ayo
yoisha
Web3-demo-flutter - A demo for the flutter web3 library.

web3_demo_flutter A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

Tommaso Azzalin 0 Oct 7, 2022
This repo provides a starter kit thats include Getx package.

Getx_Starter This repo provides a starter kit thats include Getx package. It includes key-value databases, sample pages, and components which they are

Okan 2 Apr 27, 2022
This is an auction application just like eBay. Using firebase as the backend for signup & sign-in functionality. In addition to that, it's a two pages application with user bid in input and count down view.

Nilam This is an auction application just like eBay. Using firebase as the backend for signup & sign-in functionality. In addition to that, it's a two

Md. Siam 5 Nov 9, 2022
Add Product In Auction. Bid Austion Product

auctionapp Auction App like eBay. Use firebase auth users can signin using their gmail account. After login, the user will see the auction item galler

Md Enam Ahmed Chowdhury 3 Feb 7, 2022
Memebaaz is a video/images sharing app, Anyone can share short videos and images through app, the media will go through admin's approval.

MemeBaaz - Memes & Short Videos App Memebaaz is a Video/images Sharing App, Anyone can share short videos and images through app, the media will go th

Rakesh K. 18 Nov 14, 2022
In this video we will learn how to Integrate NodeJS Login and Register API in our Flutter application using JWT Token Authentication.

Flutter Login & Register with Node JS Rest API In this video we will learn how to Integrate NodeJS Login and Register API in our Flutter application u

SnippetCoder 18 Nov 28, 2022
Create Google reCAPTCHA v3 token for Flutter web.

g_recaptcha_v3 Create Google reCAPTCHA v3 token for Flutter web. Google reCAPTCHA v3 plugin for Flutter. A Google reCAPTCHA is a free service that pro

Bharathraj 7 Nov 30, 2022
Custom style-dictionary transforms and formats to generate Flutter resources from a Figma Design Token plugin export..

style-dictionary-figma-flutter An extension to style-dictionary to support more custom types with Flutter as target platform. It supports the custom t

Aloïs Deniel 24 Dec 30, 2022
An intuitive Token Parser that includes grammar definition, tokenization, parsing, syntax error and debugging. Implementation based on Lexical Analysis for Dart.

Token Parser An intuitive Token Parser that includes syntax/grammar definition, tokenization and parsing. Implementation based on Lexical Analysis. Re

JUST A SNIPER ツ 2 Dec 15, 2022
Ensdart - A dart library that wraps the Ethereum Name Service

⚡️ ENS Dart A dart library that wraps the Ethereum Name Service. The Ethereum Na

Chiziaruhoma Ogbonda 22 Nov 29, 2022