bitshares / bitshares-core

BitShares Blockchain node and command-line wallet
https://bitshares.github.io/
Other
1.17k stars 647 forks source link

Implement simple rate limited free transaction feature #186

Open vikramrajkumar opened 7 years ago

vikramrajkumar commented 7 years ago

From @abitmore on February 29, 2016 23:14

This ticket is for the implementation of a simplified version of "rate limited free transaction" feature which is introduced in bytemaster's blog post "How to build a Decentralized Application without Fees".

The simplified feature is:

Features:

With the parameters defined in above examples, if an LTM has 1M BTS, she 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 cap of transfer to 30BTS , she can transfer once for free every 10 minutes.

Possible future extensions:

Copied from original issue: cryptonomex/graphene#603

vikramrajkumar commented 7 years ago

From @theoreticalbts on March 1, 2016 16:2

OK, some initial review:

vikramrajkumar commented 7 years ago

From @abitmore on March 1, 2016 17:34

@theoreticalbts thanks for the info.

Would you please review #583 (BSIP10 percentage based transfer fee) first? This implementation is currently based on #583, and #583 can be merged to develop branch directly, no need to cherry-pick.

I think we already discussed the principle you mentioned in another ticket, which is related to #583. I wrote some arguments in #583, can you comment in that ticket?

To make it simpler, I put null-CER feature into #583's scope (and another new operation), which is mentioned in OP of #583. It doesn't matter if you like to create another ticket.

vikramrajkumar commented 7 years ago

From @abitmore on March 1, 2016 23:5

We need a BSIP document for this feature.

vikramrajkumar commented 7 years ago

From @abitmore on March 3, 2016 1:2

@theoreticalbts @bytemaster I guess it's better to postpone this feature after #554 implemented? Since this feature requires several extensions to the global system parameters.

Or it's super high priority so it's better deploy it as is but asap? If yes, I'll do my best asap to re-branch it to be independent to #583 (percentage based transfer fee feature).

Also need to consider using the new extension<> template to extend extensions field, in this case need to merge the fix in #599.

vikramrajkumar commented 7 years ago

From @abitmore on March 3, 2016 12:57

Looks like this can be easily cherry-pick to develop branch. It's quite independent from #583 now. I'll create a new branch for it.

vikramrajkumar commented 7 years ago

From @abitmore on March 3, 2016 13:55

OK, the office command name is "rebase". Completed, and squashed to one commit: https://github.com/abitmore/bitshares-2/commit/f9ad1dfd105ade94b64a350f03dc1fa0b3e62b6f. Please review. @theoreticalbts @bytemaster

vikramrajkumar commented 7 years ago

From @xeroc on March 3, 2016 15:9

OK, the office command name is "rebase". Completed, and squashed to one commit: abitmore@f9ad1df. Please review. @theoreticalbts @bytemaster

This is AWESOME! Thank you sooo much ..

vikramrajkumar commented 7 years ago

From @abitmore on March 8, 2016 0:52

Unit testing code added. Push request submitted.