USDONE Launching Stabilization Mining on 1 July 2020

in ActnEarn5 years ago (edited)


USDONE was introduced in April 2019. The launch Post describing the details and objective is USDONE : Combines Stability and Earning in One Token.

We have been continuously distributing dividends and posting audit reports on monthly basis. Due to Steem and Hive epic episode - we had stopped our dividends distribution and preferred to wait as advised in -We are waiting.

Although some issues still remain but most services are now up and running smoothly. Our Decision is still to remain on Steem blockchain.

We will distribute all pending dividends at the end of this month. Your funds are safe.

Stabilization Mining

But this post is about entirely new concept in crypto space with respect to stable coins and that is Stabilization Mining. We had posted about our concept USDONE Stabilization Rewards Proposal on 2 May 2019. We did not receive many comments on the concept as well as we did not see any such concept emerge in stable coins yet. We believe this is a unique concept and has significant edge over most stable coins. Therefore, We have decided to go ahead with our proposal and are opening the Stability Mining for USDONE starting 1 July 2020.

The formula to compute the stabilization mining rewards (SMR) is : SMR= MSRP x ndfp x quantity / 100

where :
MSRP is maximum stability reward percent
ndfp normal distribution function probability
quantity is traded volume

Please refer to original post for more details. In the beginning we will distribute mining rewards on monthly basis and as activity picks up we will do weekly or daily.

Stability Miner Code

As mentioned in our concept post - miners can use bot to do mining. We have developed the Python code that miners can use. We also invite community members to develop more user friendly UI based miners. We will support such ideas. Below is our code:

import time
import random
from beem import Steem
from beem.market import Market
from steemengine.wallet import Wallet
from beem.nodelist import NodeList
def bidaskpricethresholdfunctionSteem():
    stm = Steem()
    mkt = Market("STEEM:SBD", steem_instance=stm)
    steempriceinUSD = mkt.steem_usd_implied()
    print("_____________________________________________________________________")
    print("Steem Price in USD  ",steempriceinUSD)
    print("_____________________________________________________________________")
    minaskpricebyUSDONE = 1.0 * (1 / steempriceinUSD)  ##1.05
    minbidpricebyUSDONE = 1.0 * (1 / steempriceinUSD)  ##/0.95
    minaskpricebyUSDONE = round(minaskpricebyUSDONE, 2)
    minbidpricebyUSDONE = round(minbidpricebyUSDONE, 2)
    return minaskpricebyUSDONE, minbidpricebyUSDONE
def bidaskpricethresholdfunction(symbol):
    minaskpricebyUSDONE, minbidpricebyUSDONE= bidaskpricethresholdfunctionSteem()
    sign = 1
    if random.randint(0, 1) == 0:
        sign = -1
    minbidpricebyUSDONE = minbidpricebyUSDONE - sign * random.randint(0, 3) / 100
    minaskpricebyUSDONE = minaskpricebyUSDONE + sign * random.randint(0, 3) / 100

    minaskpricebyUSDONE = round(minaskpricebyUSDONE, 5)
    minbidpricebyUSDONE = round(minbidpricebyUSDONE, 5)

    print("_____________________________________________________________________")
    print("Asset  :", symbol)
    return minaskpricebyUSDONE,minbidpricebyUSDONE
def OrderFunction(inputdata):
    nodelist = NodeList()
    nodelist.update_nodes()
    nodes = nodelist.get_steem_nodes()
    qty=inputdata[0]
    symbol = inputdata[1]
    user=inputdata[2]
    key = inputdata[3]
    minaskpricebyUSDONE, minbidpricebyUSDONE = bidaskpricethresholdfunctionSteem()

    from steemengine.market import Market
    stm = Steem(keys=[key],nodes=[nodes])
    m = Market(steem_instance=stm)

    open_buy_orders = m.get_buy_book(symbol, user)
    open_sell_orders = m.get_sell_book(symbol, user)

    cancelbuy=0
    cancelsell=0
    for buyorder in open_buy_orders:
        if abs(float(buyorder["price"]) - minbidpricebyUSDONE)/minbidpricebyUSDONE > 0.005:
            trxid = buyorder["txId"]
            print("Buy Order price", buyorder["price"])
            print("Cancel Buy Order ", trxid)
            try:
                m.cancel(user, "buy", trxid)
                time.sleep(3)
                cancelbuy=1
            except:
                x=1
    for sellorder in open_sell_orders:
        if abs(float(sellorder["price"]) - minaskpricebyUSDONE)/minaskpricebyUSDONE > 0.005:
            trxid = sellorder["txId"]
            print("Sell Order price", sellorder["price"])
            print("Cancel Sell Order ", trxid)
            try:
                m.cancel(user, "sell", trxid)
                time.sleep(3)
                cancelsell=1
            except:
                x=1

    buybook=m.get_buy_book(symbol)
    start=0
    for buyo in buybook:
        if start==0:
            buyhp=float(buyo['price'])
            start=1
        else:
            buyp = float(buyo['price'])
            if buyhp<buyp:
                buyhp=buyp

    sellbook=m.get_sell_book(symbol)
    start = 0
    for sello in sellbook:
        if start == 0:
            sellhp=float(sello['price'])
            start = 1
        else:
            sellp = float(sello['price'])
            if sellhp > sellp:
                sellhp = sellp


    minaskpricebyUSDONE, minbidpricebyUSDONE = bidaskpricethresholdfunction(symbol)

    print("Modified BidPrice   :   ", minbidpricebyUSDONE)
    print("Modified AskPrice   :   ", minaskpricebyUSDONE)

    wallet = Wallet(user)
    usdoneBalance=0
    steempBalance=0
    for acc in wallet:
        if acc["symbol"] == "USDONE":
            usdoneBalance = float(acc["balance"])
        if acc["symbol"] == "STEEMP":
            steempBalance = float(acc["balance"])
    print("user,usdoneBalance, steempBalance")
    print(user,usdoneBalance, steempBalance)
    if (cancelbuy==0 and steempBalance>qty*minbidpricebyUSDONE):
        try:
            buyorderCreatefunction(user, symbol, qty, minbidpricebyUSDONE, key,nodes)
            time.sleep(6)
        except:
            x=1
    if (cancelsell==0 and usdoneBalance>1):
        try:
            sellorderCreatefunction(user, symbol,qty, minaskpricebyUSDONE, key,nodes)
            time.sleep(6)
        except:
            x=1
def buyorderCreatefunction(user,symbol,qty,price,key,nodes):
    print("Buying ", qty, " for   :", user, " @price ", price)
    from steemengine.market import Market
    stm = Steem(keys=[key],nodes=[nodes])
    m = Market(steem_instance=stm)
    try:
        m.buy(user, qty, symbol, price)
    except:
        x=1
def sellorderCreatefunction(user,symbol,qty,price,key,nodes):
    print("Selling ", qty," for   :", user, " @price ", price)
    from steemengine.market import Market
    stm = Steem(keys=[key],nodes=[nodes])
    m = Market(steem_instance=stm)
    try:
        m.sell(user, qty, symbol, price)
    except:
        x=1

qty=5   # qty for buy and sell
inputdata=[qty,"USDONE","user",'activekey'] 
OrderFunction(inputdata) 

With this we hope to serve the need of a stable coin supported by users through Stabilization Rewards Mechanism.

Links

Steem Engine for USDONE
Steem Wallet for USDONE
Ethereum Wallet for USDONE
Tron Wallet for USDONE
USDONE : Combines Stability and Earning in One Token

Sort:  

Congratulations @usdone! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :

You published more than 20 posts. Your next target is to reach 30 posts.

You can view your badges on your board And compare to others on the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @hivebuzz:

The Hive community is in mourning. Farewell @lizziesworld!
Support the HiveBuzz project. Vote for our proposal!