The resource system on EOS

How to optimize your resources management

Charles Arroyo-Bishop avatar
Written by Charles Arroyo-Bishop
Updated over a week ago

"The way public blockchains allocate and manage resources on the chain is extremely important. Some networks operate on the basis of transaction fees, where prices increase as people attempt to transact. These fees are collected by miners. The EOS public blockchain has a different model that involves locking EOS tokens to reserve resources."

In general, the EOS blockchain uses three resources to perform its operations:

  • Processor (CPU) bandwidth - the time it takes to process a transaction

  • Network (NET) bandwidth - the size of a transaction measured in bytes

  • The storing data on the chain (RAM) - is measured in bytes.

When it comes to CPU and NET, the new PowerUp model, introduced in April 2021, proposes to manage them differently.

Previously, a user-controlled a percentage of the total resources on the blockchain by owning a portion of the EOS tokens. This could be compared to owning a "digital real estate asset." By locking your tokens, you reserve a percentage of the total resources available on the blockchain. The amount of CPU and NET each user received was proportional to the number of locked tokens. Imagine owning 1% of the tokens - that would give you the ability to run on 1% of the resources.

However, this model faced challenges:

  • There is a scenario in which resources remain idle while other users can't access them. We know that some users lock their tokens simply for security or to vote.

  • The potential problem of running out of resources during a transaction attempt. In this case, a user would have to:
    1. Purchase more EOS tokens to complete a transaction (obviously, this is not a desirable course of action for a user).
    2. Obtain resources from the Resource Exchange (REX). Obtaining resources from the REX IS ALSO A PAIN POINT since REX may not have enough liquidity to meet the resource allocation needs across the chain.
    3. Use a wallet that takes care of the resources. The problem here is that such wallets depend primarily on REX resources, and this step requires users to do more research on the functionality of available wallets.

The EOS PowerUp model is the next step in the evolution of blockchain.

This model is intended to "provide greater freedom and efficiency to the EOS public blockchain" and has been evaluated and tested since fall 2020. The EOS community has been in discussions about the model, which has helped shape and implement it relatively quickly.

The new model offers an excellent metaphor when Proof of Work blockchain fees generated by transactions and activity on the chain are earned not by block miners but by token holders on the network. "Depending on your level of usage and the total amount of tokens deposited, the fees you collect can offset the fees you pay to fund your account. And all of this happens in the context of ensuring greater availability of system resources."


Comparison of available resource management methods

Currently, PowerUp is the most efficient method for users to obtain resources, while staking (for CPU/NETs) and REX (renting CPU/NETs) are both possible but not cost-effective.

The developers of Anchor Wallet provided us with this example to see the difference between the solutions and how the older ones are no longer profitable:

PowerUP

REX

Staking

0.0003

8.7721

1113.4000

EOS by ms

EOS by ms

EOS by ms

Take a closer look at the 1ms CPU prices on EOS right now for PowerUp, REX, then staking. "They all work, but PowerUp is drastically more cost-effective to use."

If you're ready to manage your resources on EOS, use PowerUp before you transact. However, users could use a wallet like an Anchor that manages resource allocation in the background, so they don't have to manage their resources.


Solutions for RAM, CPU/NET errors since switching to the PowerUp model

If you continue to receive RAM, CPU, or NET error messages when trying to perform a transaction on EOS, you need to change your approach. Stacking for CPU is not an effective method since the transition to the PowerUp model, so you are being asked to pay a fee for each transaction. However, there are solutions to this problem:

Claim your free transactions

Use the free transactions provided by bloks, EOSAuthority, Anchor, or other wallets. EOSAuthority introduced free transactions in April 2021. If you donate to the EOS "cpuauthority" account, you will help keep this service free.

Rent resources for a day.

Just a few resources will help you charge your account:

  • https://eospowerup.io/free, sponsored by boid.com and the EOS community. EOS accounts are eligible for two PowerUps every 24 hours. Feel free to donate by sending a few EOS to the "eospowerupio" account with the "donation" memo if you want to help keep the service free since it is community-funded.

  • EOS PowerUp Telegram Bot is now available for testing and use. Try the Telegram Bot. Claim your PowerUp in just a few clicks!

  • If you need more resources (several dozen transactions per day), designate an account that will automatically receive a PowerUp based on your usage. Use the Auto PowerUp feature to do this.

Install Anchor Wallet or similar software for resource management.

Install Anchor Wallet v 1.2.0 or higher. During installation, import your private key to access your EOS account.

Anchor Wallet offers 5-10 free transactions per day (sponsored by Greymass). Keep some EOS on your account balance, and don't worry about resources. Once you have used them, the wallet will perform automated resource management. RAM, CPU, and NET will be calculated in the background for each transaction.

Following the use of your free transactions, a small fee per transaction will be charged (≈0.01 EOS), and if finally, you have no more EOS on your account, the wallet will display an "overdrawn balance" error. Refill your account with EOS to maintain your ability to transact.


Author: Charles Arroyo-Bishop

Editor: Markus Hinrichs

Translation: -

Sources & References:

Guide provided by the team at https://atticlab.net/ / https://everstake.one/eos

Did this answer your question?