Commit graph

73 commits

Author SHA1 Message Date
theoreticalbts
39d0946b50 Remove evaluation_observer #550 2016-02-09 04:44:11 -05:00
theoreticalbts
7cae3501f8 Fix operation history numbering #483 2015-12-16 11:43:45 -05:00
theoreticalbts
d0609e8e74 Update copyright notice for BitShares 2015-10-12 13:48:40 -04:00
theoreticalbts
60f0812de2 Update copyright notice 2015-10-12 13:32:47 -04:00
theoreticalbts
43a2660143 db_management.cpp: Allow us to skip rewind on close() 2015-10-08 15:26:13 -04:00
theoreticalbts
93a108487d Implement last_irreversible_block_num 2015-10-02 17:19:23 -04:00
Daniel Larimer
26288549e6 Fix blackswan on force settle, Fix #346 and #347
- fix detection and handling of black swan events
- fix total core in orders calculation from genesis
2015-09-30 18:30:44 -04:00
theoreticalbts
9d3bcbb569 Provide objects to trace budget computations 2015-09-28 15:46:37 -04:00
theoreticalbts
0d7baa2b52 database: Remove obsolete retry_on_failure parameter 2015-09-28 12:15:17 -04:00
theoreticalbts
35acfff060 database: Implement before_last_checkpoint() function 2015-09-28 12:15:17 -04:00
theoreticalbts
f7980f5252 scheduler: Refactor 26007bb655 to use witness_schedule_object
The functionality is equivalent, but it now uses a separate witness_schedule_object,
and the code now lives in db_witness_schedule.cpp.
2015-09-18 14:26:54 -04:00
Daniel Larimer
26007bb655 update shuffling algorithm 2015-09-18 13:42:12 -04:00
theoreticalbts
e0414d390e Fix pending_block and fork handling
The pending_block member of database was a premature optimization and had an
unfortunate tendency to get out of sync, especially when switching forks.
This commit removes it, and substantially improves the handling of transactions
when switching forks.  Specifically, flooding or forking no longer causes nodes to
discard valid transactions.
2015-09-17 12:11:40 -04:00
Eric Frias
928b6934e0 Merge branch 'master' into p2p_sync_fixes
Conflicts:
	libraries/chain/include/graphene/chain/database.hpp
2015-09-10 17:34:20 -04:00
Eric Frias
b6bba74301 Restore much of the syncing code from BitShares 0.x, and add optimizations that prevent us from attempting to sync with peers those blockchain diverged from ours many blocks ago, which also reduces the size of sync messages. Add logging. 2015-09-10 08:56:29 -04:00
theoreticalbts
ff2db08475 database: Undo and re-apply pending_transactions before/after pushing a block. Fixes #299 2015-09-09 11:11:58 -04:00
Daniel Larimer
a748883fed adding API callback for observing pending transactions 2015-09-07 18:05:43 -04:00
Daniel Larimer
9080800c5b Updated APIs, fixed crash
- update fc to fix crash in websocket message handling
- added api to verify transactions without broadcasting them
- added api to broadcast a block produced outside the P2P network or
witness
2015-09-07 17:46:47 -04:00
theoreticalbts
dd9dbca38c Reserve witness ID 0 2015-08-31 17:26:03 -04:00
theoreticalbts
013033001f Don't infinitely recurse when block generation fails #261 2015-08-26 18:16:34 -04:00
theoreticalbts
6c052294e1 Remove block randomness and rewrite witness scheduling 2015-08-26 15:36:27 -04:00
theoreticalbts
dcc4f8076b database.hpp: Simplify get_scheduled_witness() return value 2015-08-26 15:36:26 -04:00
Daniel Larimer
0532661937 extra performance while reindexing 2015-08-24 18:50:09 -04:00
theoreticalbts
3a7e65c888 chain_property_object: Implement chain_property_object as container for unchangeable properties set at genesis #238 2015-08-17 13:38:35 -04:00
Daniel Larimer
c0c36ca639 votable objects now keep track of their most recent vote count 2015-08-14 17:56:21 -04:00
theoreticalbts
2e9876b557 Implement chain-locked transactions 2015-08-06 12:56:37 -04:00
theoreticalbts
f80219fd52 Implement maintenance_flag in dynamic_global_properties 2015-07-28 11:58:22 -04:00
theoreticalbts
430bbe42ab database.hpp: Make open() non-templated, move implementation out of header 2015-07-23 16:41:17 -04:00
theoreticalbts
3e5d3495e1 Remove some dead code 2015-07-22 13:18:09 -04:00
Daniel Larimer
dffc83cca9 Refactor full account subscriptions
When subscribing to an account via the get_full_account API it will
start streaming any object relevant to the account that is added,
removed, or modified.
2015-07-21 15:19:52 -04:00
theoreticalbts
8aa048661f Remove unused undo_block and undo_transaction skip flags 2015-07-15 17:09:53 -04:00
Daniel Larimer
9671a92c43 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-15 14:18:32 -04:00
Daniel Larimer
7f54d3d077 Issue #160 - Dynamic Undo History / Minority Fork
The blockchain now has a minimal participation requirement that can only
be overridden with checkpoints.  Any time participation falls below a
minimal level no new blocks may be added.

Currently it requires 66% participation and tolerates short periods of
time below 66% participation with a maximum of 500 consecutive blocks
missed.  For every two blocks produced 1 can be missed with a slack of
999 bias.
2015-07-15 14:13:24 -04:00
theoreticalbts
a751d90e00 Move witness pay to VBO, update test #142 2015-07-15 12:36:26 -04:00
theoreticalbts
c019f18bd4 Implement recent_slots_filled and use it to measure witness participation 2015-07-13 17:02:00 -04:00
Vikram Rajkumar
2f429e07f1 Rename bad references to delegate -> committee member; #147 2015-07-13 16:08:17 -04:00
Vikram Rajkumar
6043586d15 Rename bad references to delegate -> witness; #147 2015-07-13 16:08:17 -04:00
Daniel Larimer
a05d88b044 Fix #151 - Witnesses do not produce consecutively
- added an option (on by default) to prevent a witness from signing two
 blocks in a row because this most likely indicates they have been cut
 off from the network.

 - added an option where a witness will not produce a block if the
 witness participation rate is below a configurable threshold (default
                                                               to 33%)
2015-07-13 09:47:03 -04:00
Daniel Larimer
49937daeb8 Rename delegate_signature->witness_signature #147
- changed secret hash of block headers from 224 to 160 to save 16 bytes
per header which will add up to 1 MB per day in savings.
2015-07-09 18:11:52 -04:00
Daniel Larimer
c49fbd87e7 adding checkpoints #121 to database 2015-07-09 14:09:21 -04:00
Daniel Larimer
9699be84e6 Progress on #144 2015-07-09 11:40:37 -04:00
Daniel Larimer
786c65d4b4 Merge branch 'master' into fee_refactor 2015-07-09 08:43:45 -04:00
Daniel Larimer
fdcf821c41 Progress on #144 - refactoring fee schedule 2015-07-08 18:45:53 -04:00
Nathan Hourt
d64c9154a7 Progress #17: Lazy load genesis state
This speeds up startup for witness_node when starting on a database
which is already initialized.
2015-07-08 17:39:34 -04:00
Daniel Larimer
baf5531238 Refactored chain library
- remove circular dependency with fee_schedule
- unitiy build db_* as database.cpp
- move protocol definitions in separate directory
- combined some objects/evaluators
- combined limit/call evaluator/objects into market_evaluator.*
2015-07-08 16:39:23 -04:00
Nathan Hourt
3d60449c6e Progress #8: Test shorts and force settles 2015-07-07 17:39:45 -04:00
Daniel Larimer
07f621cd65 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-01 18:17:55 -04:00
Daniel Larimer
8efa2e6738 Progress auditing TODOs #108, upgrade boost 1.58 2015-07-01 18:17:49 -04:00
Nathan Hourt
66c9606652 Progress #17: Add assets, initial witness count to genesis state 2015-07-01 17:18:53 -04:00
Nathan Hourt
210c109acf Progress #17: Create vesting balances in genesis 2015-06-30 17:47:40 -04:00