EOSIO Dataset

Catalog

EOSIO On-chain Data

Introduction

We run a EOSIO full node and replay all transactions (up to 89,829,999 blocks) to get the on-chain data (block, transaction receipts, action traces) and process them into the following datasets:

Block:89,829,999 blocks information.

EOSTransferAction(EOSTA):EOS is the native cryptocurrency of EOSIO. There are 1,356,748,049 internal EOS transfers and 653,529,552 external EOS transfers that occur among 1,156,658 accounts.

ContractInvacationAction(CIA): Unlike Ethereum, all actions (transactions) in EOSIO are completed through calling contracts, including common EOS transfers. There are several system contract accounts in EOSIO, such as eosio, eosio.token, eosio.msig, and so on. In order to investigate the contract development ecology of EOSIO, we extracted the invocation data of all contracts except the system contracts. There are 775,082 authorization accounts initiated a total number of 2,189,162,705 contract invocations.

ContractCodeAction(CCA): EOSIO can be considered as a platform for smart contracts. There are 55,735 SetCode actions for creating or updating 5,594 contracts. It is worth noting that users can easily update contract code in EOSIO, which is not allowed in Ethereum.

ContractAbiAction(CAA): It is worth noting that users can also easily update contract abi, which is not allowed in Ethereum.

TokenInfoAction(TInfoA):In EOSIO, a contract that contains three standard functions of create, issue, and transfer can be regarded as a standard token contract. 1,826 contracts are considered as standard token contracts, and a total of 4,811 tokens have been created and issued. It implies that in EOSIO, a contract can issue multiple tokens, which is different from that of Ethereum.

TokenTransferAction(TTA): A total of 1,128,111,142 token transfers occurred in 1,295,389 holding accounts.

TokenIssueAction(TIssueA): Token issuers can send tokens directly to any account without permission, being commonly known as Token Airdrop.

NewAccountAction(NAA): In most public blockchain systems, creating a new address (account) is easy and free. However, in EOSIO, creating a new account requires a creator to buy RAM for storing account information. In addition, the creator will generally stake some CPU and NET resources for the new account to initiate transactions. There are 1,636,043 different accounts (or NewAccounts), which were created by only 45,350 account creators.

CPUNETAction(CPUNETA): In EOSIO, users need to stake CPU and NET for transaction calculation and network transmission. There are 5,474,353 CPU-Related actions, including 3,805,742 stakecpu actions and 1,668,611 unstakecpu actions. Meanwhile, there are 3,100,820 NET-Related actions, including 2,324,444 stakenet actions and 776,376 unstakenet actions.

RAMAction(RAMA): Users need to buy RAM to store information in EOSIO. There are a total number of 2,983,276 RAM-related actions, including 2,546,849 buyram actions and 436,427 sellram actions.

REXAction(REXA): In order to solve the problem that users do not have enough EOS to stake CPU, EOSIO officially launched the CPU and NET leasing mechanism, i.e., the REX mechanism, on May 1, 2019 (around the block 56,000,000). Users can store some EOS tokens in REX pool through buyrex action to lease to others, and retrieve EOS and get the corresponding rent at any time through sellrex action. Meanwhile, users can rent CPU or NET from the REX pool by rentcpu or rentnet actions.

You can get more details and analysis from the paper called “XBlock-EOS: Extracting and Exploring Blockchain Data From EOSIO“.

Data details

About this table
EOSIO block information
Columns (12 columns)
id block id
block_num block number
timestamp block generation time
producer block producer
cpu_usage_ms total CPU usage of the block
net_usage_words total NET usage of the block
confirmed number of blocks that the producer confirms when signing a block. The default is 1, and only the previous block is confirmed.
transaction_count total transaction count of the block
deferred_transaction_count total deferred transaction count of the block
tx_deferred_transaction_count the count of deferred transaction triggered by contract(triggered by another transaction)
person_deferred_transaction_count the count of deferred transaction triggered by person
action_count total action acount of block(exclude inline action)
About this table
Internal and External EOS Transfer Action Information
Columns (8 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
from EOS sender (from)
to EOS receiver (to)
quantity EOS transfer amount
is_inline Whether this action is inline. true means that it is an internal EOS transfers, otherwise, it is an external EOS transfers.
memo transfer memo
About this table
Contract Invacation Action Information (exclude inline actions)
Columns (10 columns)
txId transaction id
action_ordinal the sequence number of the action in a transaction
block_num block number
block_time the timestamp of the block contains this transaction (action)
status execution result
authorization authorization accounts
contract the called contract name
contract_func the called contract function name
error_code error code
except error detail
About this table
Contract Code Deploy or Update Action Information
Columns (7 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
authorization authorization accounts
account contract name
code_size contact code size (bytes)
code contact hex code
About this table
Contract Abi Deploy or Update Action Information
Columns (7 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
authorization authorization accounts
account contract name
raw_abi contact hex abi
json_abi contact json abi, it will null if the ran_abi is unsupported version
About this table
Token Information
Columns (8 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action), that is the time when this token is created
authorization authorization accounts
token_contract the contract that created and issued the token
token_name token name (symbol)
issuer token issuer
maximum_supply maximum supply of the token
About this table
Token Transfer Action Information
Columns (10 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
token_contract the token contract name
token_name token name (symbol)
from token sender
to token receiver
quantity the amount of token that transferred
is_inline whether it is an inline action
memo transfer memo
About this table
Token Issue Action Information
Columns (8 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
token_contract the token contract name
token_name token name (symbol)
to token receiver
quantity the amount of token that issued
memo issue memo
About this table
Account Creation Action Information
Columns (5 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
creator the account name of the creator
name the new account name
About this table
CPU-related and NET-related Action Information
Columns (9 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
type the action type, delegatebw (stake) or undelegatebw (unstake)
from the account that pay for CPU and NET if the typs is delegatebw; the account that receive EOS if the typs is undelegatebw;
receiver the account that receive CPU and NET if the typs is delegatebw; the account that return CPU and NET to system if the typs is undelegatebw
net_quantity the amount of EOS for NET
cpu_quantity the amount of EOS for CPU
transfer 1 means from give EOS to receiver when it stake CPU or NET for receiver
About this table
RAM-releated Action Information
Columns (8 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
type the action type, buyrambytes, buyram, sellram
payer/account the account that pay for RAM if the type is buyram or buyrambytes; the account that gain EOS if the type is sellram
receiver the account that receive RAM if the typs is buyram or buyrambytes
bytes the amount of RAM, it will null if the type is buyram
quant the amount of EOS for RAM
About this table
REX-releated Action Information
Columns (9 columns)
txId transaction id
block_num block number
block_time the timestamp of the block contains this transaction (action)
type the action type, withdraw, deposit, buyrex, sellrex, rentcpu, rentnet
owner/from see more detail in the paper
receiver see more detail in the paper
amount/rex/loan_payment see more detail in the paper
loan_fund see more detail in the paper
rex_received/proceeds/rented_tokens see more detail in the paper

Citation

BibTeX

@article{zheng2020xblock,
title={XBlock-EOS: Extracting and Exploring Blockchain Data From EOSIO},
author={Zheng, Weilin and Zheng, Zibin and Dai, Hong-Ning and Chen, Xu and Zheng, Peilin},
journal={arXiv preprint arXiv:2003.11967},
year={2020}
}

IEEE

Zheng, W., Zheng, Z., Dai, H. N., Chen, X., & Zheng, P. (2020). XBlock-EOS: Extracting and Exploring Blockchain Data From EOSIO. arXiv preprint arXiv:2003.11967.

ACM

Zheng, Weilin, Zibin Zheng, Hong-Ning Dai, Xu Chen, and Peilin Zheng. "XBlock-EOS: Extracting and Exploring Blockchain Data From EOSIO." arXiv preprint arXiv:2003.11967 (2020).

Activity Information of DApps

Introduction

Blockchain-based decentralized applications (DApp) is an application that enables end users to interact directly with blockchain. Generally, It consists of two parts: web pages as front end, and smart contracts as back end.

There are a number of DApps on platforms like Ethereum, EOS, Steem and so on. Some of them are always active (s.t., there are always new transactions corresponding to those DApps), while some of them are seemingly dead for a long time.

This dataset contains two files, one for DappRadar and the other for State of the Dapps.

The dataset provides information about dapps’ activity, such as their transaction counts, total transaction values and active users in 24 hours, 7 days and 30 days.

Data details

About this table
Activity information of DApps on DappRadar.
Columns (15 columns)
link Link to the DApp
name DApp name
Txs_24h Transaction count of that DApp in 24 hours
Txs_7d Transaction count of that DApp in 7 days
balance Account balance as of Sep 13, 2019
category Type of the DApp
protocol DApp protocol
rank DApp rank as of Sep 13, 2019
users_24h Active users of the DApp in 24 hours
volume_24h Volume of that DApp in 24 hours
volume_7d Volume of that DApp in 7 days
long_intro Introduction of the DApp
other_link Other important links
submitted Time when DApp was submitted to the market
contract Contracts contained in that DApp
About this table
Activity information of DApps on State of the Dapps.
Columns (28 columns)
link Link to the DApp
name DApp name
category Type of the DApp
dev_activity_30d Dev activity in 30 days
platform DApp platform
rank DApp rank as of Sep 13, 2019
users_24h Active users of the DApp in 24 hours
volume_7d Active users of the DApp in 7 days
short_intro Brief introduction of the DApp
long_intro Introduction of the DApp
status DApp status
author App authors
software_license Software license
submitted_updated Submitted date
mainnet Mainnet
contract Contract addresses contained in that DApp
tag DApp tags
last_updated Last updated date
transaction_count Transaction count of that DApp
transaction_count_volume_greater_0 Nonzero transaction count
transaction_count_ratio The ratio of nonzero transactions
total_transaction_volume_ether Total transaction volume in ethers
contract_count Contract count
dapp_total_loss The DApp’s net income
user_count_unique_remove_contract_creator Unique users count, contract creator not included
user_total_loss User total net income
user_loss_ratio User income ratio
user_loss_average Average user net income

Citation

BibTeX

@misc{xblockEOS,
author = {Kong, Queping and Chen, Xiangping and Zheng, Zibin},
title = {{XBLOCK Blockchain Datasets}: {InPlusLab} EOS DApps Datasets},
howpublished = {\url{http://xblock.pro/eos/}},
month = Nov,
year = 2019
}

IEEE

Q. Kong, X. Chen, Z. Zheng “{XBLOCK Blockchain Datasets}: {InPlusLab} EOS DApps Datasets,” \url{http://xblock.pro/eos/}, Accessed: Nov 2019.

ACM

Queping Kong, Xiangping Chen, Zibin Zheng “{XBLOCK Blockchain Datasets}: {InPlusLab} EOS DApps Datasets,” \url{http://xblock.pro/eos/}, Accessed: Nov 2019.