Author Topic: Rate Limited Free Transactions Feature Implemented  (Read 16385 times)

0 Members and 1 Guest are viewing this topic.

Online abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
+5% Wow that was way faster then I expected.

I don't get how you're describing it though.  why it should work this way?  It sounds like fees are still being charged / still being paid, but accounts earn BTS to pay fees at a defined rate with a cap?

Is it just how its being described? or is that really how it works?  Was it just the easiest, quickest way to get it done with existing code?

It sounds like saying fee = 10(old) - 5(new) - 3(limit) - 2 = 0 , instead of just saying fee = 0 with rate limit

If that's really how it works, it seems like a band-aid, but I really wouldn't know, and certainly mean no offense. 
It shouldn't be described this way for a new user at least. :)  Just say fee is zero with rate limit.

anyway,   
Awesome effort abit!

So an average user just need to know:
So if you're an LTM, and you have 1M BTS in your account, ... you can transfer once for free every 10 minutes.

The "accumulated fees" can only be used to pay fees. Or say it's budgets. When you're running out of budgets, you can pay fee in the original way. Make sense?

And fees paid with coin-days wont go to referral program (or cash back for LTM), they are eliminated.
BitShares committee member: abit
BitShares witness: in.abit

Offline gamey

  • Hero Member
  • *****
  • Posts: 2253
    • View Profile

I haven't looked at the code but I'm glad to see this sort of input. Great way to set an example for others to follow, Abit.
I speak for myself and only myself.

Xeldal

  • Guest
 +5% Wow that was way faster then I expected.

I don't get how you're describing it though.  why it should work this way?  It sounds like fees are still being charged / still being paid, but accounts earn BTS to pay fees at a defined rate with a cap?

Is it just how its being described? or is that really how it works?  Was it just the easiest, quickest way to get it done with existing code?

It sounds like saying fee = 10(old) - 5(new) - 3(limit) - 2 = 0 , instead of just saying fee = 0 with rate limit

If that's really how it works, it seems like a band-aid, but I really wouldn't know, and certainly mean no offense. 
It shouldn't be described this way for a new user at least. :)  Just say fee is zero with rate limit.

anyway,   
Awesome effort abit! 


Online abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
@abit: maybe this is too much, but could you prepare a brief video in which you could present new functionality? All of us will have a better understanding of this feature.

Pleasee....  :D :)
Still testing.. I'm playing with CLI and transaction builder.
No GUI available right now, wish someone else have time to work on it.
How will that video look like? I have no idea at all.

//Update: replay testing passed.
BitShares committee member: abit
BitShares witness: in.abit

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
awesome job!

for your next project ... could you please fork from graphene/develop? that would make it way easier to integrate this into MUSE or the testnet!!!

+5% anyway

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de

Offline BunkerChainLabs-DataSecurityNode

How would a feature like this impact an FBA looking to build on Bitshares?

They would have their own rates that they control, much like the committee.. but would this code then apply? Would it be required to be incorporated into these new fee structures?
+-+-+-+-+-+-+-+-+-+-+
www.Peerplays.com | Decentralized Gaming Built with Graphene - Now with BookiePro and Sweeps!
+-+-+-+-+-+-+-+-+-+-+

Online abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
Rate Limited Free Transactions Feature Implemented.

Features:
* Committee can define the rate of coin-days to be converted to fees,
   for example, normal users can have: 1K BTS * 1day -> 1BTS of fee,  AM 1KBTS * 1day = 2 BTS of fee, LTM 1KBTS*1day=5BTS of fee

* Committee can define a cap of coin-days used for fees for each operation.
   for example, users can use coin-days to pay 10BTS of transfer fee, or 1 BTS of market order creating fee, or etc

* Committee can define a cap for every account type(LTM/AM/normal user), so a user would be unable to spam 100 or more free transactions at same time.
   for example, LTMs will have a cap of 100BTS, AM 50BTS, normal user 30BTS.

So if you're an LTM, and you have 1M BTS in your account, you can accumulate 5000 BTS of fees per day, or about 3.5BTS per minute. In case when transfer fee is 30BTS and the committee set the free-fee cap of transfer to 30BTS , you can transfer once for free every 10 minutes.

Code is here:
https://github.com/abitmore/bitshares-2/tree/bts2-bts-limited-free-trx

Reference: [BLOG POST] How to build a Decentralized Application without Fees http://bytemaster.github.io/article/2016/02/10/How-to-build-a-decentralized-application-without-fees/

Have fun!!

By the way, @JonnyBitcoin @fav would you like to vote for my worker proposal "1.14.29   [BSIP10] Percentage-based transfer fee solution based on CER"?
BitShares committee member: abit
BitShares witness: in.abit