The Cost of Account Creation on EOS Has Been Reduced by 25%

Kevin Rose
EOS New York
Published in
5 min readSep 6, 2018
The cost of EOS/KiB of RAM over the past two months. Source: https://buyeosram.io/

Background

In Daniel Larimer’s post, “A Three-Step Plan For Lowering EOS Account Creation Costs” he outlined the following.

Step 2 — Lower Account Memory Usage

The default EOS blockchain hard-codes a RAM usage of 3 KB per account where 1.5 KB is currently reserved for future expansion. This was an overly conservative estimate. Upon closer auditing of actual RAM usage per account, we have concluded that only 512 bytes are required for each new account. Block.one will provide an update to the system contract that will create 1.5 KB of RAM per account and retroactively offset the overly conservative usage estimate.

This is supported by the GitHub issue here.

EOSIO v1.2.1

On Sep-06–2018 at 13:36:41 UTC, EOS New York approved EOSIO contract update v1.2.1 along with 14 other Block Producers.

Part of this update reduced the cost of account creation on EOS by 25% by making a hard-coded change to how each account calculated the total amount of RAM it had available and added 1400 bytes to all new accounts. This reduces the recommended minimum amount of KiB one should purchase for a new account from 4 to 3. Furthermore, all existing accounts need only to stake, unstake, or buy RAM to free up 1400 bytes of RAM.

The Path to Adoption

EOS account creation cost is an extremely important aspect of the health of the platform. Many users of EOS decentralized applications (dApps) are early adopters, people who are eager and willing to spend the time to understand the EOS blockchain. But in the future, users will not be as eager. The users of the future will want to use the new dApp they found as quickly as possible. In fact, they may not know they’re about to interact with a blockchain at all.

For that to happen, dApp developers will need to pay for the network resources required to onboard users (or pass this cost on to users). Reducing this cost by 25% dramatically reduces the barriers to development when considering account creation at scale.

Created Accounts

If you are someone who created their account before the EOSIO v.1.2.1 update you are still eligible for the free 1400B of RAM. If you perform any of the following actions you will receive the 1.367188 KiB (1400 bytes): BUYRAM, DELEGATEBW, UNDELEGATEBW. In popular wallets, this is staking your tokens for any of the network resources.

BUYRAM

BEFORE

COMMAND

cleos system buyram bob123451234 bob123451234 1 — kbytes

AFTER

1 KiB was bought however as you can see 2.353516 KiB.

DELEGATEBW

BEFORE

COMMAND

cleos system delegatebw bob123451234 bob123451234 “1.0000 EOS” “1.0000 EOS”

AFTER

UNDELEGATEBW

BEFORE

COMMAND

cleos system undelegatebw bob123451234 bob123451234 “1.0000 EOS” “0.0000 EOS”`

AFTER

The New Cost of Account Creation

The minimum amount of RAM you should purchase for a new account is now 3KiB or $1.84 (with the free 1400B) as of Sep-06 2018. This new account will be able to hold EOS tokens and up to 8 unique dApp tokens that utilize the eos.io token contract.

Testing

Please note that these numbers are for testing purposes only. The EOS cost per KiB shown is from an internal test net and does not reflect actual costs. The ram_usage shown does reflect actual ram usage on the EOS mainnet.

Create account with system contract 1.1.0

This shows the total amount of RAM purchased for a new account that purchases 4KiB of RAM.

cleos system newaccount eosio newacct12353 EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV — stake-net “100.0000 EOS” — stake-cpu “1000.0000 EOS” — transfer — buy-ram-kbytes 4

4KiB cost 0.0595 EOS

0.595 / 4 KiB= 0.014875 EOS/KiB

Account takes on responsibility of the EOS token once they do a transfer of their token

Actions taken:

  • eosio tranfers ‘10000.0000 EOS’ to newacct12353
  • newacct12353 transfers ‘1.0000 EOS’ back to eosio

RAM cost for storing tokens = 3574–3446 = 128 bytes

In 1.1.0 the min RAM requirements is 3574 bytes (since we cannot easily get that granular with the purchased RAM we will round up to 4KiB.

Create account with system contract 1.2.1

This shows the total amount of RAM purchased for a new account that purchases 3KiB of RAM.

cleos system newaccount eosio newacct12333 EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV — stake-net “100.0000 EOS” — stake-cpu “1000.0000 EOS” — transfer — buy-ram-kbytes 3

EOS New York is a Top 21 Block Producer on the EOS Mainnet Blockchain

Website
Twitter
Medium
STEEM
Meetup
Telegram
Weibo
Bihu

--

--

Kevin Rose
EOS New York

Former EOS Block Producer. Now Windranger / BitDAO