Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Implement Last Irreversible Block, et al #4

Closed
3 tasks done
nathanielhourt opened this issue Apr 6, 2017 · 2 comments
Closed
3 tasks done

Implement Last Irreversible Block, et al #4

nathanielhourt opened this issue Apr 6, 2017 · 2 comments

Comments

@nathanielhourt
Copy link
Contributor

nathanielhourt commented Apr 6, 2017

Currently the blockchain doesn't properly implement the construct of the last irreversible block. The last irreversible block (LIB) is the most recent block which has been acknowledged by 2/3 of the witnesses, where a block b is "acknowledged" by a witness w if w either produced b, or w produced some other block for which b is a direct or indirect parent.

  • Calculate the LIB, and track it in dynamic_global_property_object
  • Only write irreversible blocks to disk
  • Rewind the blockchain to the LIB when opening the database
nathanielhourt added a commit that referenced this issue Apr 6, 2017
The LIB was already being calculated and stored in the
dynamic_global_property_object, but now I know it was! :D

Also remove a redundant block from node.cpp (the removed block was
functionally equivalent to the FC_LOG macro following it)
nathanielhourt added a commit that referenced this issue Apr 6, 2017
Preparing for only writing irreversible blocks to disk; first I needed to
update the various block fetching methods on database to account for
this. This commit contains those updates, as well as a shiny new unit
test to make sure those methods are still working correctly.
nathanielhourt added a commit that referenced this issue Apr 6, 2017
As of this commit, we only write irreversible blocks to disk, and when
we reopen the database, we rewind the state until the head block is the
last irreversible block.

The unit tests are doing their jobs: several of them broke due to this
change, because the tests which checked that the head block number
didn't change during a restart of the database were invalidated by this
change: the head block number *should* now change in a restart; it
should revert to the last_irreversible_block_num. The tests are updated
to account for this, and all pass again.
@nathanielhourt
Copy link
Contributor Author

nathanielhourt commented Apr 6, 2017

We now only write irreversible blocks to disk, and we rewind the db state to the last irreversible block when the db is opened. That's all good.

But note to self: I am not certain when/where the fork_database and chainbase (undo) histories are trimmed. Make sure this is getting done correctly.
EDIT: Done: 11f73bc

@nathanielhourt
Copy link
Contributor Author

This issue is now resolved.

heifner pushed a commit that referenced this issue Jul 31, 2018
Update from upstream repo EOSIO/eos@master
heifner pushed a commit that referenced this issue Sep 13, 2018
taokayan pushed a commit to taokayan/eos that referenced this issue Nov 28, 2018
Create shared memory file with explicit permissions.
taokayan pushed a commit to taokayan/eos that referenced this issue May 15, 2019
Changed exchange to showcase libs and changed ar and ranlib
NorseGaud pushed a commit that referenced this issue Jul 30, 2019
# This is the 1st commit message:

various improvements

# This is the commit message #2:

new hash

# This is the commit message #3:

fix for script path

# This is the commit message #4:

fixes

# This is the commit message #5:

fixes

# This is the commit message #6:

fixes

# This is the commit message #7:

fixes

# This is the commit message #8:

fixes

# This is the commit message #9:

fixes

# This is the commit message #10:

fixes

# This is the commit message #11:

fixes

# This is the commit message #12:

fixes

# This is the commit message #13:

fixes

# This is the commit message #14:

fixes

# This is the commit message #15:

fixes

# This is the commit message #16:

fixes

# This is the commit message #17:

fixes

# This is the commit message #18:

fixes

# This is the commit message #19:

fixes

# This is the commit message #20:

fixes

# This is the commit message #21:

fixes

# This is the commit message #22:

fixes

# This is the commit message #23:

fixes

# This is the commit message #24:

fixes

# This is the commit message #25:

fixes

# This is the commit message #26:

testing

# This is the commit message #27:

testing

# This is the commit message #28:

testing

# This is the commit message #29:

testing

# This is the commit message #30:

testing

# This is the commit message #31:

testing

# This is the commit message #32:

testing

# This is the commit message #33:

testing

# This is the commit message #34:

testing

# This is the commit message #35:

testing

# This is the commit message #36:

testing

# This is the commit message #37:

testing

# This is the commit message #38:

testing

# This is the commit message #39:

testing

# This is the commit message #40:

testing

# This is the commit message #41:

testing

# This is the commit message #42:

testing

# This is the commit message #43:

testing

# This is the commit message #44:

fixes

# This is the commit message #45:

fixes

# This is the commit message #46:

fixes

# This is the commit message #47:

fixes

# This is the commit message #48:

fixes

# This is the commit message #49:

fixes

# This is the commit message #50:

fixes

# This is the commit message #51:

fixes

# This is the commit message #52:

fixes

# This is the commit message #53:

fixes

# This is the commit message #54:

fixes

# This is the commit message #55:

fixes

# This is the commit message #56:

fixes

# This is the commit message #57:

fixes

# This is the commit message #58:

fixes

# This is the commit message #59:

fixes

# This is the commit message #60:

fixes

# This is the commit message #61:

fixes

# This is the commit message #62:

fixes

# This is the commit message #63:

fixes

# This is the commit message #64:

fixes

# This is the commit message #65:

fixes

# This is the commit message #66:

fixes

# This is the commit message #67:

fixes

# This is the commit message #68:

fixes

# This is the commit message #69:

fixes

# This is the commit message #70:

fixes

# This is the commit message #71:

fixes

# This is the commit message #72:

fixes

# This is the commit message #73:

fixes

# This is the commit message #74:

fixes

# This is the commit message #75:

fixes

# This is the commit message #76:

fixes

# This is the commit message #77:

fixes

# This is the commit message #78:

fixes

# This is the commit message #79:

more testing

# This is the commit message #80:

testing

# This is the commit message #81:

fixes

# This is the commit message #82:

fixes

# This is the commit message #83:

fixes

# This is the commit message #84:

fixes

# This is the commit message #85:

fixes

# This is the commit message #86:

fixes

# This is the commit message #87:

fixes

# This is the commit message #88:

fixes

# This is the commit message #89:

fixes

# This is the commit message #90:

fixes

# This is the commit message #91:

fixes

# This is the commit message #92:

fixes

# This is the commit message #93:

propagate-environment for buildkite-agent

# This is the commit message #94:

propagate-environment for buildkite-agent

# This is the commit message #95:

propagate-environment for buildkite-agent

# This is the commit message #96:

propagate-environment for buildkite-agent

# This is the commit message #97:

fixes

# This is the commit message #98:

fixes

# This is the commit message #99:

fixes

# This is the commit message #100:

fixes

# This is the commit message #101:

fixes

# This is the commit message #102:

fixes

# This is the commit message #103:

fixes

# This is the commit message #104:

fixes

# This is the commit message #105:

fixes

# This is the commit message #106:

fixes

# This is the commit message #107:

fixes

# This is the commit message #108:

fixes

# This is the commit message #109:

fixes

# This is the commit message #110:

fixes

# This is the commit message #111:

fixes

# This is the commit message #112:

fixes

# This is the commit message #113:

fixes

# This is the commit message #114:

fixes

# This is the commit message #115:

fixes

# This is the commit message #116:

fixes

# This is the commit message #117:

fixes

# This is the commit message #118:

fixes

# This is the commit message #119:

fixes

# This is the commit message #120:

fixes

# This is the commit message #121:

fixes

# This is the commit message #122:

fixes

# This is the commit message #123:

fixes

# This is the commit message #124:

fixes

# This is the commit message #125:

fixes

# This is the commit message #126:

fixes

# This is the commit message #127:

fixes

# This is the commit message #128:

fixes

# This is the commit message #129:

fixes

# This is the commit message #130:

fixes

# This is the commit message #131:

fixes

# This is the commit message #132:

fixes

# This is the commit message #133:

fixes

# This is the commit message #134:

fixes

# This is the commit message #135:

fixes

# This is the commit message #136:

fixes

# This is the commit message #137:

fixes

# This is the commit message #138:

fixes

# This is the commit message #139:

fixes

# This is the commit message #140:

fixes

# This is the commit message #141:

fixes

# This is the commit message #142:

fixes

# This is the commit message #143:

fixes

# This is the commit message #144:

fixes

# This is the commit message #145:

fixes

# This is the commit message #146:

fixes

# This is the commit message #147:

fixes

# This is the commit message #148:

fixes

# This is the commit message #149:

fixes

# This is the commit message #150:

fixes

# This is the commit message #151:

fixes

# This is the commit message #152:

fixes

# This is the commit message #153:

testing

# This is the commit message #154:

fixes

# This is the commit message #155:

fixes

# This is the commit message #156:

fixes

# This is the commit message #157:

fixes

# This is the commit message #158:

fixes

# This is the commit message #159:

fixes

# This is the commit message #160:

fixes

# This is the commit message #161:

fixes

# This is the commit message #162:

fixes

# This is the commit message #163:

fixes

# This is the commit message #164:

fixes

# This is the commit message #165:

fixes

# This is the commit message #166:

fixes

# This is the commit message #167:

fixes

# This is the commit message #168:

fixes

# This is the commit message #169:

fixes

# This is the commit message #170:

fixes

# This is the commit message #171:

fixes

# This is the commit message #172:

fixes

# This is the commit message #173:

fixes

# This is the commit message #174:

fixes

# This is the commit message #175:

fixes

# This is the commit message #176:

fixes

# This is the commit message #177:

fixes

# This is the commit message #178:

fixes

# This is the commit message #179:

fixes

# This is the commit message #180:

fixes

# This is the commit message #181:

fixes

# This is the commit message #182:

fixes

# This is the commit message #183:

fixes

# This is the commit message #184:

fixes

# This is the commit message #185:

fixes

# This is the commit message #186:

fixes
cc32d9 pushed a commit to eos-amsterdam-rnd/wax2.0 that referenced this issue Apr 14, 2020
brianjohnson5972 added a commit that referenced this issue May 3, 2021
heifner pushed a commit that referenced this issue Feb 28, 2022
shahabi8 pushed a commit that referenced this issue Mar 11, 2022
# This is the 1st commit message:

Update amazon_linux-2-pinned.dockerfile

# This is the commit message #2:

Update centos-7.7-pinned.dockerfile

# This is the commit message #3:

Update ubuntu-18.04-pinned.dockerfile

# This is the commit message #4:

Update ubuntu-20.04-pinned.dockerfile

# This is the commit message #5:

Update amazon_linux-2-unpinned.dockerfile

# This is the commit message #6:

Update centos-7.7-unpinned.dockerfile

# This is the commit message #7:

Update ubuntu-18.04-unpinned.dockerfile

# This is the commit message #8:

Update ubuntu-20.04-unpinned.dockerfile

# This is the commit message #9:

Update protocol.hpp

# This is the commit message #10:

Update net_plugin.cpp

# This is the commit message #11:

Update CMakeLists.txt
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant