USDONE Launching Stabilization Mining on 1 July 2020

in hive-145742 •  12 days 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

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!