EOS原理分析

2018-12-21  本文已影响0人  遇见你_17be

代币

创建代币、发行代币、发送代币。本质是把每个账户的余额保存到数据库,转账即是对余额的修改。

轮询出块

21个超级节点轮询出块

schedule_production_loop

produce_block    void producer_plugin_impl::produce_block()

void commit_block( bool add_to_fork_db )

内存买卖

从eosio.ram买内存,并交0.5%手续费给eosio.ramfee

卖内存给eosio.ram,并交0.5%手续费给eosio.ramfee

void system_contract::buyram( account_name payer, account_name receiver, asset quant )

void system_contract::sellram( account_name account, int64_t bytes ) {

延迟收回押金(3天)

static constexpr time refund_delay = 3*24*3600; 

void system_contract::refund( const account_name owner ) {

cpu、net抵押

用户需要抵押eos换取cpu和net才能发起交易

cpu和net抵押的eos可以收回,但是需要等待3天

eos异常停止-重放区块

nodeos  --replay-blockchain true --hard-replay-blockchain  true --data-dir ./data --config-dir ./config --genesis-json ./config/genesis.json

nodeos --delete-all-blocks --data-dir ./data --config-dir ./config --genesis-json ./config/genesis.json

重放完区块,生产者节点重新启动,加上-e参数, 1) -e enable-stale-production,开启后,即使链过时了,也能产生区块

上一篇 下一篇

猜你喜欢

热点阅读