monleru / HonefiDrops

HoneFi smart contract to create and manage auctions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ‘‹ Honefi proposal on WAX LABS

This repository contains information regarding the development of the HoneFi platform, including a roadmap, which is specified in the proposal, as well as reports on deliverables. The reports are published with a description of the work done, as well as technical details if the deliverables contain development of any functionality.

For convenient activity monitoring, we have made a navigation of all currently started and completed tasks, which is shown below.

πŸ“œ List of Deliverables

  1. Auction Platform.
  2. LaunchPool Platform.
  3. Backend Development.
  4. Final Stage.

Auction Platform

The Auction Platform is a tool for two types of auctions (balance and Dutch) that works with both NFTs and tokens. The development is divided into several stages:

  • Creating UI/UX in a modern style
  • Frontend development for NFT's auctions and tokens sections
  • Development of smart contracts for each type of auction (NFT and tokens)
  • Developing an auction dashboard

UI/UX

List of auctions and filter

Auction page

Auction Dashboard

Frontend development for NFT's auctions and tokens sections

We have developed Frontend for all the necessary functionality related to creating and participating in auctions. You can use https://honefi.app to test the full functionality. The main tasks performed:

Development of smart contracts for each type of auction (NFT and tokens)

HoneFi Main Smart Contract - **honefidropsx

The source code of the smart contract is uploaded to this repository and can be viewed here

Technical details:

buyram - topping up the RAM balance for a particular collection.

Field Name Type Description
username name WAX Wallet
collection name Collection Name
quant asset Number of Tokens

claimbalance - getting a balance.

Field Name Type Description
username name WAX Wallet

claimdrop - buying Assets at NFT's Auction.

Field Name Type Description
claimer name WAX Wallet
drop_id int32 Drop ID
claim_amount int32 Number of Assets to Buy

claimtdrop - buying Assets at Tokens Auction.

Field Name Type Description
claimer name WAX Wallet
drop_id int32 Drop ID
amount asset Number of Assets to Buy

cnftdrop - creation of the NFT's auction.

Field Name Type Description
format string Auction format (Dutch/Balance)
username name WAX Wallet
collection name Collection Name
shemas name Shemas Name
templates uint32 Templates ID
price asset Start Price
supply int32 Supply for Auction
dropstart uint64 UNIX time (start auction)
dropend uint64 UNIX time (duration)
changeprice int32 Percent to change
changepricetime int32 Time to change
img string IPFS hash
drop_name string Drop Name
description string Drop Description

config - minimum price mention.

Field Name Type Description
min_price asset Minimum Price

ctokendrop - creation of the Tokens auction.

Field Name Type Description
format string Auction format (Dutch/Balance)
username name WAX Wallet
collection name Collection Name
tokenticker string Token Ticker
contract_adress name WAX Adress
maxbuy_tx int32 Max Assets per transaction
price asset Start Price
supply asset Supply for Auction
dropstart uint64 UNIX time (start auction)
dropend uint64 UNIX time (duration)
changeprice int32 Percent to change
changepricetime int32 Time to change
img string IPFS hash
drop_name string Drop Name
description string Drop Description

dropremove - Drop by ID deletion.

Field Name Type Description
drop_id int32 Drop ID

**We have prepared a video on creating an auction and branding assets - links.

Developing an auction dashboard

To create auctions, we made a management page, which is available after connecting the wallet to the site - https://honefi.app/create

Creation takes place in several stages:

  • Select the desired collection and add auth to the collection (approve)
  • Go to collection management (the "Manage" button) and get available functions, which include - NFT drop page, Token drop page, top up RAM balance for the collection
  • When you go to one of the drop management pages, you can either create a new dropbox or go to an existing one.
  • To create a new drop, you need to fill in all the fields on the page - the name, description, price changes in % and minutes, add a cover and specify the start time of the auction, as well as its duration
  • In the next step, you can check how your drop will look after creation. If everything is filled in correctly, you can create the drop

LaunchPool Platform

LaunchPool is a tool for fast and comprehensive project token launches on the HoneFi platform. The development is divided into several stages:

  • Creating UI/UX in a modern style
  • Frontend development for LaunchPool
  • Development of smart contracts for LaunchPool
  • Developing an Backend for data storage

UI/UX

LaunchPool main page and filters

LaunchPool drop page

Frontend development for LaunchPool

We've developed a frontend for all the core features of the Launchpool, including the following features:

  • Connecting authentication for WAX cloud wallet and anchor
  • LaunchPool Main page - https://honefi.app/launchpad
  • Different types of LaunchPool cards appearance and filtering
  • Current LaunchPool auctions page - https://honefi.app/launchpool/48
  • Several blocks for each stage of LauchPool - preparation, staking, claiming, completed

The LaunchPool platform allows you to create lunchpools for projects approved by one of the trusted sources on the WAX blockchain. The process for participating in a LaunchPool is as follows:

  • LaunchPools are divided into 3 active stages (preperation, staking, claim)
  • The preperation stage is the project preparation stage, which takes a week or more to announce the LaunchPool launch and conduct all necessary activities.
  • The staking stage allows users to lock any number of WAXP assets to get a guaranteed share/allocation.
  • The claim stage recalculates the correct shares for each user who participated in LaunchPool and allows you to unlock your WAXP assets (minus the share buyback)

Development of smart contracts for LaunchPool

HoneFi Main Smart Contract - honefidropsx

The source code of the smart contract is uploaded to this repository and can be viewed here

Technical details:

createpool - administrative function for creating LaunchPool.

Field Name Type Description
contract_adress name Token Contract
supply asset Supply for Pool
price asset Price for Token
deposit asset Deposit Function
token_decimals int32 Token Decimals
start uint64 UNIX Start Time
end_ uint64 UNIX End Time
token_decimals int32 Token Decimals
token_ticker string Token Ticker

stakelaunch - action to participate in the staking of a specific LaunchPool.

Field Name Type Description
username name WAX Wallet
dropnum int32 ID of LaunchPool
quantity asset Quantity to Stake

claimlaunch - action to claim WAXP and project tokens.

Field Name Type Description
username name WAX Wallet
dropnum int32 ID of LaunchPool

Developing an Backend for data storage

We have developed a handy backend for the HoneFi platform to store a lot of information about current drops. The main advantage:

  • Storing large additional project descriptions.
  • Storing static files that are only used on the drop page.
  • Faster and more stable price retrieval.

Our backend is available at https://api.honefi.app. We use several arguments for LaunchPool - price/ID and /launchpool/ID

Backend Development

We added some new features to the HoneFi platform by developing the Backend part:

  • Backend for Auction's
  • Backend for LaunchPool
  • Websocket and Charts
  • WAX Node for HoneFi

We have developed a complete backend to display current information about live auctions and launchpools, as well as a history module to display information about past auctions and launchpools. We have added support for a test network so that users and creators can use the full functionality of the platform when testing.

HoneFi's main api (backend) server - https://api.honefi.app/api Testnet api - https://test-api.honefi.app/api

Type Query Description
Price /price/#ID This query allows you to get JSON with current prices as well as prices of past drops
All Launches /getLaunches/ This query allows you to get JSON with complete data on all LaunchPools
LaunchPool /getLaunch/#ID This query allows you to get JSON with information on the ID of one of the LaunchPools

We have implemented a real-time price display (chart and other elements that contain the price of) for auctions (tokens and nft) by using WebSockets, which are currently publicly available - wss://api.honefi.app/socket/$. You can check the charts in real time on any active dropbox - https://honefi.app/drops or https://honefi.app/tokens

We have launched a WAX node for our platform, RPC at the moment - https://wax.honefi.app/. We actively use the node to get all the necessary data for the platform.

We moved the platform to the main network and also added support for testnet. Currently WAX mainnet is located at https://honefi.app/, WAX testnet at https://wax-test.honefi.app/.

Final Stage

In the final stage of the proposal, we prepared the project for release by making:

  • Developing the home page of the platform
  • Writing Documentation and User Guides
  • Rental of all servers required for the platform and the functioning of the node
  • Resource replenishment for the Mainnet network

Home page of the platform

The main page is displayed when you go directly to the platform - honefi.app/, and also works for all supported networks.

Documentation and User Guides

All the basic documentation of the project can be found at https://docs.honefi.app

We have prepared several sections for users:

The servers to run the main HoneFi platform, the servers for the backend and api, and the node were paid for 1 year.

About

HoneFi smart contract to create and manage auctions


Languages

Language:C++ 100.0%