Unveiling the Secrets of 🤬 BLURT 🔥 Burns!

in blurt-101010 •  10 months ago 

Burning.png


Greetings, fellow Blurtians!

Today, we'll delve into answering a question that many have been pondering: "How much BLURT is being burned through the @null wallet?".

With Blurt expanding its features daily, including fun elements like communities, the upcoming affiliate account creation, developer tools, a Blurt Testnet, more frontends, and more, developing on the Blurt blockchain has become increasingly enjoyable.

Today is no exception. I've just activated the latest version of the Account History API on the BeBlurt node at https://rpc.beblurt.com. Now, here's where it gets interesting – this latest version allows querying the blockchain for fees paid on each operation, which are burned by sending them to the @null wallet, always kept at 0 BLURT.


How much BLURT is being burned

I took this opportunity to quickly write a script using Bun and my open-source library @beblurt/dblurt.

This script analyzes what the @null wallet received between November 1st and November 25th. I just ran the script on one of my dedicated servers. It didn't take long to code and only 48 mn to obtain results for 706,723 blocks, averaging 4.1ms per block (as it ran locally on a node server), considering each block contains multiple (virtual and non-virtual) operations.

image

What Was Analyzed

For the analysis, I used the get_ops_in_block method of the account_history_api and filtered for the following operations:

Benefactor Reward Operation

Used in the @ctime burning campaign, where authors add the @null account to their post beneficiaries (i.e., relinquishing a portion of their author rewards by burning them) in exchange for receiving a vote from his upvote bot.

Fee Pay Operation

This might be of interest to many as it was previously challenging to access (being a virtual operation instantiated by the blockchain itself). It involves fees paid on every Blurt blockchain operation (upvotes, post & comment publishing, transfers, etc.) directly sent to the @null wallet.

To make it clearer, here's an example with an upvote from @olusolaemmanuel on a post by @kryptodenno. First, we have the upvote operation:

image

followed by the virtual operation of the paid fees:

image

By the way, a big shoutout to @saboin – I take no credit; the merit goes to the one who made this possible through their time and effort. So, if there's anyone to thank, it's him. You can do so by supporting his Witness with a vote if you haven't already, which takes only 3 seconds (the time for a Blurt blockchain operation): Vote for @saboin or Vote for @saboin on BeBlurt.

Proposal Pay Operation

In case you're unaware, a portion of the BLURT Decentralized Fund is sent to the @null wallet through the @ctime burning proposal, visible here: Blurt Proposals. I found it fitting to include it in the script.

What is the Blurt Decentralized Fund (BDF)
The Blurt Decentralized Fund (BDF) is a community-driven decentralized finance platform that operates on the Blurt blockchain. The BDF was created to provide financial support to Blurt ecosystem projects that contribute to the growth and development of the platform. The BDF operates through a decentralized autonomous organization (DAO) that allows stakeholders to collectively make decisions on funding proposals. Anyone can submit a proposal for funding, and the community votes to determine which proposals will receive funding. Proposals can range from technical development to marketing and community-building initiatives and are subject to community review and approval before funding is allocated.

Fund Balance: 1,159,953.844 BLURT
Daily budget: 11,599.538 BLURT
Daily Payments: 11,599.538 BLURT
Proposals funded: 1 + 1 partial

Transfer Operation

Finally, I also included BLURT transfers made directly via a transfer operation to the @null wallet.

image

Results

Enough with the suspense; here are the results of this analysis between November 1st and November 25th, taking only 48 minutes and something anyone with minimal dev knowledge can achieve (for the curious, I'll share the code at the end of the post):

  • 95,399.629 BLURT burned for 1,553 beneficiary rewards transferred to @null for the @ctime campaign. Given that this operation only affects author rewards, not curator rewards, it's quite impressive.

  • 40,250.819 BLURT burned for 202,170 fees paid and transferred to @null. As a reminder, the fee amount, composed of a fixed part and a variable part based on the kilobyte weight of the operation, is defined by the Witnesses.

  • 224,650.800 BLURT burned for 600 payments by the BLURT Decentralized Fund (1 payment every hour) transferred to @null.

  • 169.000 BLURT for 2 transfers directly to @null. Thanks, @offgridlife :)

So, between November 1st and November 25th, a total of 360,470.248 BLURT burned.

image

Conclusion

To be honest, I'd like to leave the interpretation of these results to you. Comment below and let me know your thoughts and whether you expected this amount ;)

For Developers and the Curious

As promised, here's the script I wrote (not really optimized and written quickly) this afternoon and ran, for those interested:

import { 
  AppliedCommentBenefactorRewardOperation,
  AppliedFeePayOperation,
  AppliedProposalPayOperation,
  AppliedTransferOperation,
  Asset, Client, DynamicGlobalProperties } from "@beblurt/dblurt"

interface ACCOUNT {
  name: string

  benefactorNumber: number
  benefactorValue:  Asset

  feePayNumber: number
  feePayValue:  Asset

  proposalNumber: number
  proposalValue:  Asset

  transferNumber: number
  transferValue:  Asset
}

const getData = async (blockNumber: number, account: ACCOUNT, DGP: DynamicGlobalProperties ): Promise<ACCOUNT> => {
  try {
    const client = new Client(rpc, { timeout: 1500 })
    const block = await client.accountHistory.getOpsInBlock(blockNumber, false, true)
    
    for await (const o of block.ops) {
      /**
       * Benefactor Reward Operation
       */
      if(o.op.type === 'comment_benefactor_reward_operation') {
        const operation = o as AppliedCommentBenefactorRewardOperation

        if(operation.op.value.benefactor === account.name) {
          account.benefactorNumber++
          /** BLURT */
          const amount    = Number(operation.op.value.blurt_payout.amount) / Math.pow(10, operation.op.value.blurt_payout.precision)
          const BLURT     = Asset.from(amount, 'BLURT')
          account.benefactorValue = account.benefactorValue.add(BLURT)

          /** VESTS */
          const VESTS       = Number(operation.op.value.vesting_payout.amount) / Math.pow(10, operation.op.value.vesting_payout.precision)
          const VESTS_BLURT = Asset.from(client.tools.convertVESTS(VESTS, DGP), 'BLURT')
          account.benefactorValue   = account.benefactorValue.add(VESTS_BLURT)
        }
      } 
  
      /**
       * Fee Pay Operation
       */
      if(o.op.type === 'fee_pay_operation') {
        const operation = o as AppliedFeePayOperation

        account.feePayNumber++
        const amount = Number(operation.op.value.amount.amount) / Math.pow(10, operation.op.value.amount.precision)
        const BLURT  = Asset.from(amount, 'BLURT')
        account.feePayValue  = account.feePayValue.add(BLURT)
      }

      /**
       * Proposal Pay Operation
       */
      if(o.op.type === 'proposal_pay_operation') {
        const operation = o as AppliedProposalPayOperation

        if(operation.op.value.receiver === account.name) {
          account.proposalNumber++
          const amount  = Number(operation.op.value.payment.amount) / Math.pow(10, operation.op.value.payment.precision)
          const BLURT   = Asset.from(amount, 'BLURT')
          account.proposalValue = account.proposalValue.add(BLURT)
        }
      }
  
      /**
       * Transfer Operation
       */
      if(o.op.type === 'transfer_operation') {
        const operation = o as AppliedTransferOperation

        if(operation.op.value.to === account.name) {
          console.log(operation.op.type)
          console.log(operation.op.value)

          account.transferNumber++
          const amount  = Number(operation.op.value.amount.amount) / Math.pow(10, operation.op.value.amount.precision)
          const BLURT   = Asset.from(amount, 'BLURT')
          account.transferValue = account.transferValue.add(BLURT)

          console.log('Transfer Operation =>', BLURT.toString(), account.benefactorValue.toString())
        }
      }
    }

    return account
  } catch (error) {
    console.log(error)
    await delayed(20)
    const firstRpc = rpc.shift() as string
    rpc.push(firstRpc)
    return await getData(blockNumber, account, DGP)
  }
}

const delayed = (ms: number): Promise<void> => {
  return new Promise(resolve => setTimeout(resolve, ms));
}

const start = async (): Promise<void> => {
  let start = Date.now()
  let step  = Date.now()

  const client = new Client(rpc, { timeout: 1500 })

  /** Dynamique Global Properties */
  const DGP = await client.condenser.getDynamicGlobalProperties()

  const blockStart = 34233555 // 1st block of 1st November
  const blockEnd   = 34940278 // Last block of 25th November

  let account: ACCOUNT = {
    name: 'null',

    benefactorNumber: 0,
    benefactorValue:  Asset.from(0, 'BLURT'),

    feePayNumber: 0,
    feePayValue:  Asset.from(0, 'BLURT'),
  
    proposalNumber: 0,
    proposalValue:  Asset.from(0, 'BLURT'),
  
    transferNumber: 0,
    transferValue:  Asset.from(0, 'BLURT'),
  }
  
  /** Operations Loop */
  let blockNumber = blockStart 
  let looping = 0

  while (blockNumber < blockEnd) {
    account = await getData(blockNumber, account, DGP)

    if(looping === 10000) {
      const delay = Date.now() - step
      const delayTime = delay > 1000 ?
        (delay > 60000 ?
          (delay > 3600000 ?
            (delay/3600000).toFixed(0) + ' hour(s)' :
            (delay/60000).toFixed(0) + ' mn') :
            (delay/1000).toFixed(3) + ' sec') :
            delay.toFixed(3) + ' ms'

      console.log('~~~~~~~~~~~~~~~~~~~~~~~~~|>')
      console.log(`\x1b[1;33m${10000}\x1b[0m blocks in \x1b[1;32m${delayTime}\x1b[0m | Total: \x1b[1;33m${blockNumber-blockStart}\x1b[0m`)
      console.log({
        name: account.name,

        benefactorNumber: account.benefactorNumber,
        benefactorValue:  account.benefactorValue.toString(),
        
        feePayNumber: account.feePayNumber,
        feePayValue:  account.feePayValue.toString(),
      
        proposalNumber: account.proposalNumber,
        proposalValue:  account.proposalValue.toString(),
      
        transferNumber: account.transferNumber,
        transferValue:  account.transferValue.toString(),
      })
      console.log()
      looping = 0
      step = Date.now()
    }

    blockNumber++
    looping++
  }

  const delay = Date.now() - start
  const delayTime = delay > 1000 ?
  (delay > 60000 ?
    (delay > 3600000 ?
      (delay/3600000).toFixed(0) + ' hour(s)' :
      (delay/60000).toFixed(0) + ' mn') :
      (delay/1000).toFixed(3) + ' sec') :
      delay.toFixed(3) + ' ms'

  console.log('~~~~~~~~~~~~~~~~~~~~~~~~~|>')
  console.log(`\x1b[1;33m${blockEnd-blockStart}\x1b[0m blocks in \x1b[1;32m${delayTime}\x1b[0m`)
  console.log({
    name: account.name,

    benefactorNumber: account.benefactorNumber,
    benefactorValue:  account.benefactorValue.toString(),
    
    feePayNumber: account.feePayNumber,
    feePayValue:  account.feePayValue.toString(),
  
    proposalNumber: account.proposalNumber,
    proposalValue:  account.proposalValue.toString(),
  
    transferNumber: account.transferNumber,
    transferValue:  account.transferValue.toString(),
  })
  console.log()
}
start()

Have fun on Blurt & BeBlurt

@nalexadre Witness (Blocks producer) on Blurt

image
Join or Create a Blurt Community

image
BeBlurt (Blurt frontend) 👉 https://beblurt.com
on IOS/Android 👉 https://beblurt.com/s/aMGBrg

How to support my work on Blurt


  • Backing my Witness:

It only takes a click since you're entitled to 30 witness votes with your Blurt account. Even if I'm already in the top 20 and it won't generate more BLURT for me, it will secure my position, and it's always appreciated.

via BeBlurt: https://beblurt.com/@nalexadre/witness
via Wallet: https://blurtwallet.com/~witnesses?highlight=nalexadre

  • Endorsing my Proposal:

This would allow me to surpass the burning proposal and regain the additional 1,000 BLURT from my proposal.

via BeBlurt: https://beblurt.com/proposals
via Wallet: https://blurtwallet.com/proposals

  • Making a Difference with a Donation:

This blockchain is our community, and your donation, via a transfer to my @nalexadre account with "donation" in the memo, helps fuel ongoing initiatives.

Your active participation fuels these initiatives and ensures the continued growth of our Blurt community. Let's make a difference together!


Original background photo of this post by Stephen Radford on Unsplash

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 BLURT!
Sort Order:  
  ·  10 months ago  ·  

No entiendo nada 😂

  ·  10 months ago  ·  

Nice. So it means around 3-4 MILLION BLURT will be burned every year this way. Or in other words, average to 4 Millionarie whales. Lol.

Thanks for sharing this info.

  ·  10 months ago  ·  

On Blurt, if you agree to burn part of them, you get far more rewards. Now, what matters most is not quality of content, but willingness to burn some of the currency.
The campaign seems to be burning about 100k BLURT per month. What portion of the total supply is that?
How does it compare to the amount of BLURT being created per month via interest, which is controlled by the witnesses?

  ·  10 months ago  ·  

It's a solvable problem if the organizer performs manual curation instead of a voting bot. What's not solvable is that the burn only concerns the author's reward and not the curation reward, which I don't think is fair.

Based on the data returned by the Dynamic Global Properties call, 4 BLURT (calculated on the difference in total supply between 2 blocks) are created for each block (1 block every 3 seconds), i.e. 3,456,000 BLURT/month (20 blocks per minute x 60 x 24 x 30) distributed as follows:

  • 65% goes to the reward pool, which is divided between authors and curators.
  • 15% of new tokens are allocated to BLURT Power holders.
  • 10% of new tokens are allocated to the Blurt proposal system.
  • The remaining 10% is used to pay witnesses.
  ·  10 months ago  ·  
What's not fixable is that the burning only refers to the author's reward and not the healing reward, which I don't think is fair.
This is exactly my doubt, if it was only taken away from the content creator's curation, then this could perhaps lead to the little ones growing more slowly. But this does not affect the growth of those who vote. So how does this help Blurt? I would love to be able to see it clearly. I just made a post, after reading this post, but I had not read this comment, now I understand a little more.
  ·  10 months ago  ·  

Cui Bono?..who benefits ?

1/ Those who's accounts have a wealth transfer upwards via curation.
These tokens are 'awarded' for zero effort, just piggy backing off producers to increase their own wealth without any effort - the parasitical mindset.
This mindset is the norm when involved in the manipulation of financial instruments, not the exception.

(According to bitcoin.com, DPoS needs inputs (posts and comments) or the chain will, quite literally - stop working).

2/ It also prevents smaller accounts monetizing blurt tokens (because they've voluntarily burnt a big proportion of their own earnings for the the benefit of the big accounts...

If this initiative succeeds long term ( I highly doubt there IS a long term in regards to any DPoS platform), then the beneficiaries will be the large account holders who've persuaded the smaller account holders to destroy their own money for a higher upvote - by a bot. (i.e not content relevant, its all about laying data down for...who?)

If this is NOT about blurt succeeding long term (my opinion, is this and is not critical of ctime, et.al ) .... it's simply a financial algorithm/tool to profit from, while keeping up the pretense of it being a social media platform ( it isn't).

The less blurt can be used to exchange, the more chance of prices not dropping, the more opportunity for trading at extra profit....Which, if seen as a financial tool only - is a very clever move by 'them'...

I'm currently writing a series of posts concerning all aspects of this - the financial, the psychological, the philosophical. (and some other fun stuff)...
(Approx 3000 words already written - dunno how may more to come ..lol).


Posted from https://blurtlatam.intinte.org

  ·  10 months ago  ·  

Take care, all this could bore your pants off and leave you naked and defenseless
Anthony-2.jpg

  ·  10 months ago  ·  

...where u get the piccy of my car, when I was in london ?


Posted from https://blurtlatam.intinte.org

  ·  10 months ago  ·  

Author doesn't have to buy BLURT to earn something, a curator like me must buy BLURT with his own money and only then can count on earnings from curation. Burning purchased BLURT from my point of view does not make any sense, it is better to burn dollars right away and not waste any time for buying and burning BLURT.


Posted from https://blurtlatam.intinte.org

I'm still waiting for someone to build Public/Private messaging that uses up BLURT just like .001 BLURT transfers in the Wallet... This would go a long way to BURN BLURT through usage.
🥓

  ·  10 months ago  ·  

First and foremost, it's important to clarify that the proposed burning would affect the curation reward, not the purchased BLURT, which is untouched, so what you might think of as generated interest — let's keep the discussion precise

Furthermore, considering the concept that time is equivalent to money, creating a post involves a significant time investment. For instance, crafting my monthly analysis post on the Blurt blockchain consumes approximately 5 to 6 hours. This time could have been directed towards professional work that could be billed to clients. It's a tangible investment.

Moreover, a published post accumulates its own value through search engine indexing and the click-through rate it garners and thus contributes to the value of blockchain and the various frontends.

Burning a portion of the earnings from such a publication is, essentially, burning a part of that invested effort. Therefore, equalizing the burning of curation reward with the author's reward seems like a fair distribution of the contribution to this burning effort.

The positive aspect I find in your burning campaign is its potential to boost overall activity on the blockchain so this may have an impact on its attractiveness and interest, stimulating both the quantity and quality of posts and discussions (on Blurt and Socials).

Certainly, there will always be individuals attempting to exploit any system, and this campaign is not exempt. This is precisely why I advocate for manual curation, involving one or more curators, as it provides better control over the content quality.

What determines the price of something is certainly how much there is of it, but there's also what comes before that, i.e. its attractiveness, the interest it arouses, and whether there's a demand for it (which like many examples in the past can be created). If one of these values is close to 0, whatever the number for sale, it will have almost no value.

Well explain and thanks for the figures in the number of blurt burnt over the period of time. Am sure you keep up updating us about the figure and data over time. To the rest team @saboin, @naxexadre you guys are doing great for the platform. More grace to your elbow

  ·  10 months ago  ·  

The data about burning will be added to my monthly analysis of the Blurt blockchain ;)

  ·  10 months ago  ·  

Burning part of our earnings, does it really contribute anything to the platform?

  ·  10 months ago  ·  

It has no direct effect on the platform, but it can help with speculation. The idea is that if there is less supply, the current demand may drive prices higher, but it isn't a guarantee.

Burning, like staking, can work if prices remain the same or grow in due time relative to other products/goods.

Loading...

This is awesome. Thanks so much for these calculations. @nalexadre @beblurt and @saboin.

Much Appreciated … I’m impressed …

If we burn 360,470 BLURT per month we will be able to Burn 4.3 Million Blurt per year.

We are Well on our way to burn 500 Million Blurt.

Keep burning Blurt 🔥 🔥 🔥

IMG_3855.gif

  ·  10 months ago  ·  

Lol and we will get less votes on content, need to post more content then. Or maybe not if value of each token increase.

Yeah… if Blurt goes to $100 we only need to post once per day.

  ·  10 months ago  ·  

In 125 years

Haha … that’s my point … we need to burn more.

Much more.

I keep forgetting to set burn I’ll try and get better at remembering

  ·  10 months ago  ·  

Don't worry, you have plenty of time to burn 🥳

  ·  10 months ago  ·  

Congratulations, your post has been curated by @r2cornell, a curating account for @R2cornell's Discord Community.

Manually curated by @Angelica7

logo3 Discord.png

  ·  10 months ago  ·  

the more people add @null in their posts it will make a change even if it is small,, and yeah we will continue to stoke the bonfire 🔥🔥🔥🔥

  ·  10 months ago  ·  

One thing i know for sure is blurt will grow so big! Thanks for putting so much hard-work for the benefits of blurt blockchains!.The explanation was very much understood

Curated by @ultravioletmag

  ·  10 months ago  ·  

💪💪💪💪💪💪💪💪💪♥️♥️♥️♥️♥️

  ·  10 months ago  ·  

Let's go to the moon

  ·  10 months ago  ·  

when we think about inflationary and deflationary...
burning coins doesnt sound too smart ...and what is most important is the amount burn , after calculation ( 100k a month ) is not worth it .

  ·  10 months ago  ·  

As a reminder ..the 4 founders ( saboin included )
Make 800 000 blurt a month ...that perspective brings a whole new understanding.

9.6 MILLION blurt per year ....as a SALARY FOR 4 PEOPLE.