theoreticalbts
70d3f36fba
database: Handle gaps in block database when reindexing
2015-09-09 14:48:06 -04:00
Daniel Larimer
1203140712
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-09 13:59:48 -04:00
Daniel Larimer
59850cee98
Fix #305 - replay blockchain works again
2015-09-09 13:59:43 -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
theoreticalbts
b84154d6e7
wallet.cpp: Call update_account() to sync all account states to the blockchain when loading a wallet
2015-09-08 16:08:15 -04:00
theoreticalbts
8ebc1cfc43
node.cpp: Don't dump empty iterators
2015-09-08 16:08:11 -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
Daniel Larimer
b2c23cd37b
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-07 10:19:54 -04:00
Daniel Larimer
a32075897f
adding verify_account_authority api
2015-09-07 10:19:51 -04:00
Eric Frias
a943de8b76
When rolling back on save, remove the rolled back blocks from our
...
databases so when we restart and begin syncing, we re-download and
push those rolled back blocks (fixes bug introduced in
a5071f2568 ).
Fix logging of incorrect block numbers in p2p log.
2015-09-04 15:22:12 -04:00
Eric Frias
3cf1eb5d5c
Avoid dereferencing invalid optionals
2015-09-03 18:54:10 -04:00
Eric Frias
1e87ddff00
Fix build error
2015-09-03 18:42:57 -04:00
Daniel Larimer
866c453f1a
adding extra checks on startup
2015-09-03 18:12:55 -04:00
Daniel Larimer
a84e56c2aa
fix market subscriptions
2015-09-03 17:43:26 -04:00
Daniel Larimer
a5071f2568
rollback on save
2015-09-03 17:42:52 -04:00
Daniel Larimer
86bb4cdbca
restoring p2p code
2015-09-03 08:31:03 -04:00
Daniel Larimer
198cfd1231
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-02 18:43:21 -04:00
Daniel Larimer
1ebd0f5af6
Updating wallet to report participation rate.
2015-09-02 18:42:42 -04:00
Eric Frias
5662a8423c
Increase duration of message cache from two blocks (which in practice meant anything > 1 block) to 30 blocks, and move the constant to config.hpp
2015-09-02 17:26:26 -04:00
theoreticalbts
025130b096
application.cpp: Fix --api-access option name
2015-09-02 14:57:02 -04:00
theoreticalbts
d2092e0d3a
cli_wallet: Expose network_node API
2015-09-02 14:56:48 -04:00
Daniel Larimer
e450861166
Merge branch 'master' of github.com:cryptonomex/graphene
2015-09-02 12:18:03 -04:00
Daniel Larimer
b67e308464
updating submodule
2015-09-02 12:17:59 -04:00
Eric Frias
d35e2d6d4e
reorder the p2p network's terminate_inactive_connections_loop() to prevent us
...
from being interrupted before we delete an unresponsive peer #288
2015-09-02 12:15:02 -04:00
Eric Frias
dd04bab521
Fix compile errors, win32 and otherwise
2015-09-02 09:48:17 -04:00
theoreticalbts
00a2d2dac7
Revert "Fix log issue in witness.cpp block_production_loop"
...
This reverts commit c9fbc8a411 .
Updated version of fc is published, so this fix is no longer necessary.
2015-09-01 16:33:18 -04:00
theoreticalbts
b0fd510d51
cli_wallet: Print signing_key in base58
2015-09-01 16:33:11 -04:00
theoreticalbts
2dedebdca8
witness.cpp: Don't filter witnesses prematurely
...
If invalid witness ID's or keys are specified in the config file,
we simply don't produce until they become valid.
2015-09-01 16:21:37 -04:00
theoreticalbts
efac97e060
cli_wallet: Implement withdrawal for vesting balance objects #286
2015-09-01 16:21:35 -04:00
theoreticalbts
2f88cc86ba
cli_wallet: Implement update_witness command #282
2015-09-01 16:21:33 -04:00
Daniel Larimer
fb8d17bb4b
max block re-ordering increase
2015-09-01 08:57:42 -04:00
abitmore
c9fbc8a411
Fix log issue in witness.cpp block_production_loop
2015-09-01 13:05:02 +02:00
theoreticalbts
687aa7253e
witness.cpp: Add a little logging on startup
2015-08-31 17:26:03 -04:00
theoreticalbts
8ad1a12149
db_witness_schedule.cpp: Give best_wit a default value of GRAPHENE_NULL_WITNESS #274
2015-08-31 17:26:03 -04:00
theoreticalbts
c14494fb68
time: Make timer use fc::time_point instead of fc::time_point_sec so witness plugin can control quantization
2015-08-31 17:26:03 -04:00
theoreticalbts
dd9dbca38c
Reserve witness ID 0
2015-08-31 17:26:03 -04:00
theoreticalbts
b236d46027
witness.cpp: Simplify block production loop
2015-08-31 17:26:03 -04:00
theoreticalbts
9b4e270bc4
witness_node: Implement --genesis-timestamp command line parameter
2015-08-31 17:26:03 -04:00
theoreticalbts
f63cbe4868
application.cpp: Fix compiler warning
2015-08-31 17:26:03 -04:00
theoreticalbts
2a891ac89b
Revert "adding fix for edge case"
...
This reverts commit 3f1b9bbb27 .
2015-08-31 12:50:45 -04:00
Daniel Larimer
3f1b9bbb27
adding fix for edge case
2015-08-31 12:18:45 -04:00
Eric Frias
07b5af3f07
Update fc submodule
2015-08-28 16:17:34 -04:00
Daniel Larimer
c1b5eb95e1
update subscriptions to work with keys
2015-08-28 13:58:49 -04:00
theoreticalbts
a23e2ec3fe
cli_wallet: Include block_id and signed_by in get_block API result #253
2015-08-28 00:19:45 -04:00
theoreticalbts
40fce42421
db_witness_schedule.cpp: Fix min_witness_separation computation (again)
2015-08-27 16:42:07 -04:00
theoreticalbts
363a7fbeb1
embed_genesis: Update program name in status messages
2015-08-27 15:23:18 -04:00
Daniel Larimer
2a494d9de0
Merge branch 'witness_schedule_refactor'
...
Also fix object_id addition
2015-08-27 11:33:42 -04:00
Daniel Larimer
3bc66e31a2
potential fix and extra debugging for get_scheduled_witness
2015-08-27 10:46:09 -04:00
Daniel Larimer
b8e16e2e94
fix object id math
2015-08-27 10:45:44 -04:00
Daniel Larimer
df3318efc6
adding extra checks for unusual failure of get_scheduled_witness
2015-08-27 09:08:38 -04:00
theoreticalbts
4a350a5c0c
Initialize recently_missed_count to 0 if slots were missed at genesis
2015-08-26 19:06:54 -04:00
Daniel Larimer
761fcb3d20
fix bloom filter to set optimal parameters
2015-08-26 18:45:06 -04:00
Daniel Larimer
12cd23df57
Merge branch 'witness_schedule_refactor' of github.com:cryptonomex/graphene into witness_schedule_refactor
2015-08-26 18:36:36 -04:00
theoreticalbts
013033001f
Don't infinitely recurse when block generation fails #261
2015-08-26 18:16:34 -04:00
Daniel Larimer
e5106c15a3
update subscribe callback
2015-08-26 18:01:48 -04:00
theoreticalbts
e5ada2756a
Remove experimental p2p code #273
2015-08-26 17:51:55 -04:00
theoreticalbts
59a3ca32b7
Remove secret hashes from witnesses
2015-08-26 17:43:00 -04:00
theoreticalbts
695978cfa1
Implement committee_member_update operation #258
2015-08-26 17:42:50 -04:00
theoreticalbts
7db477b9d7
Implement witness_update_operation #258
2015-08-26 17:33:19 -04:00
theoreticalbts
19d10e462c
Implement GRAPHENE_PROXY_TO_SELF_ACCOUNT #267
2015-08-26 17:09:49 -04:00
theoreticalbts
143c1395c2
Be more explicit about GRAPHENE_COMMITTEE_ACCOUNT
2015-08-26 16:10:34 -04:00
theoreticalbts
e1e73cfe55
genesis: Set aside some low ID's for future special accounts and assets #230
2015-08-26 16:10: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
theoreticalbts
0bcfc69da2
Further improve Merkle root algorithm, implement unit test #266
...
This commit redefines the hash h of a node in the Merkle tree as:
h(unary_node) = unary_node
h(binary_node) = H(left_child + right_child)
Previous code in c0b9af9a99 defined hash as:
h(unary_node) = H(unary_node + digest_type())
h(binary_node) = H(left_child + right_child)
The improved definition in this commit saves some hash computations.
2015-08-26 15:36:05 -04:00
theoreticalbts
d1484fb41e
cli_wallet: Implement approve_proposal to more easily approve proposals
2015-08-25 18:02:52 -04:00
theoreticalbts
1d2dc6abda
cli_wallet: Implement propose_parameter_change to more easily make proposals
2015-08-25 18:02:52 -04:00
theoreticalbts
c2e5432a30
Remove block randomness and rewrite witness scheduling
2015-08-25 18:01:15 -04:00
theoreticalbts
30296d9c36
database.hpp: Simplify get_scheduled_witness() return value
2015-08-25 17:59:15 -04:00
Eric Frias
c78ec26b34
Update fc submodule
2015-08-25 17:31:04 -04:00
Daniel Larimer
a79eff2761
progress toward witness schedule refactor
2015-08-25 13:45:20 -04:00
Eric Frias
cb3c23a17b
Avoid referencing uninitialized memory
2015-08-24 19:35:56 -04:00
Daniel Larimer
0532661937
extra performance while reindexing
2015-08-24 18:50:09 -04:00
Daniel Larimer
2464b788ad
improve reindexing performance
2015-08-24 17:57:44 -04:00
theoreticalbts
aeebb1be09
cli_wallet: Copy ws_server, ws_user, ws_password to new wallet
2015-08-24 15:15:31 -04:00
Eric Frias
c0b9af9a99
Greatly reduce the amount of time the p2p network code will wait for a peer to
...
return a requested block/transaction. Make this time dependent on the actual block
interval. This should allow the the node to give up and request the block from
another peer before the ~30 second undo interval has passed.
Fix the merkle root calculation to avoid reading
past the end of a vector. Modify the algorithm to do what was likely intended
(this modification is currently disabled because it will yield different results
than the currently-running testnet)
Fix windows build errors.
2015-08-24 09:57:47 -04:00
Daniel Larimer
7614beb338
Merge branch 'master' of github.com:cryptonomex/graphene
2015-08-21 18:45:01 -04:00
Daniel Larimer
8d0409e524
Ground work for new p2p protocol
2015-08-21 18:44:32 -04:00
theoreticalbts
5b3d7d2149
block_database.cpp: Special-case to return false when contains() is passed all-zeros block_id #260
2015-08-21 13:18:52 -04:00
theoreticalbts
a5850bdb91
fork_database.cpp: Update is_known_block and fetch_block to also look in unlinked_index
2015-08-21 13:17:46 -04:00
theoreticalbts
32b18f6c20
block_database.cpp: Argument validation and logging in store() and fetch_block_id()
2015-08-21 13:16:36 -04:00
theoreticalbts
6372b25dea
cli_wallet: Expose get_private_key()
2015-08-20 18:49:15 -04:00
Daniel Larimer
4228360409
adding extra indexing of accounts by address auths
2015-08-20 15:19:15 -04:00
Daniel Larimer
2f0065d593
genesis file specifies 101 min
2015-08-20 13:23:25 -04:00
Daniel Larimer
714261b02a
merging changes
2015-08-20 08:49:18 -04:00
Daniel Larimer
8a9120e517
increasing the default minimum number of witnesses to 101 for testing
2015-08-20 08:47:38 -04:00
Nathan Hourt
eeeab17477
Polish out-of-order-block handling, write test case
2015-08-19 13:07:13 -04:00
Nathan Hourt
3a9d0df75c
[FWN] Create privileged API login for web UI
...
This resolves #249
2015-08-19 11:40:31 -04:00
Daniel Larimer
15c99bd65b
Address #247 - out-of-order blocks in fork db
...
- with this change the fork database now caches blocks that do not link
and attempts to link the unlinked blocks after every new block is
successfully linked.
- with this change the fork database only tracks blocks as far back as
the undo history allows. This significantly reduces memory usage when
there is high witness participation.
2015-08-19 09:47:10 -04:00
Daniel Larimer
7e42d4b3e8
Fix #242 - witness node crash
...
Rather than using futures and waiting in the destructor, the APIs now
use enable_shared_from_this and the lambda captures a shared pointer to
the API to prevent it from going out of scope. As a result the
destructor can not be called while there is a pending async operation
which removes the need to wait in the destructor and thereby removing
the potential for an exception to be thrown causing this crash.
2015-08-18 11:36:50 -04:00
Daniel Larimer
437a112a66
Fix #244 - Improve log messages
...
- it is not an error to have the next slot be in the future, it happens
every maitenance interval when the skip slots is greater than 0.
- re-order the failure conditions to report configuration issues first,
then other issues second.
2015-08-18 11:06:40 -04:00
Daniel Larimer
d5cc6da54a
adding proposed transactons to the result of get_full_account
2015-08-18 10:50:06 -04:00
Vikram Rajkumar
9c2af06cc6
Fix Linux build
2015-08-17 17:09:19 -04:00
Nathan Hourt
5aa884c574
#237 : Create new delayed_node app
...
Delayed node is much like witness_node, except it doesn't have support
for block productuion (thus cannot be a witness) and it is not intended
to use the P2P network. The delayed node requires a trusted node it can
connect to via RPC and download blocks from. The delayed node will only
download blocks from the trusted node if those blocks have received a
configurable number of confirmations.
This commit effectively resolves #237
2015-08-17 16:38:55 -04:00
Nathan Hourt
baf6bfc17b
Progress #237 : Begin work on delayed_node_plugin
2015-08-17 16:38:55 -04:00
Nathan Hourt
2244e467ed
Fix whitespace
2015-08-17 16:38:55 -04:00
theoreticalbts
2212cfe95b
config.hpp: Remove unused constants GRAPHENE_DEFAULT_NUM_WITNESSES, GRAPHENE_DEFAULT_NUM_COMMITTEE
2015-08-17 15:21:55 -04:00
theoreticalbts
4ecdea1ce2
Move min_witness_count and min_committee_member_count from config.hpp to chain_properties #235
2015-08-17 15:21:55 -04:00
theoreticalbts
a888c81ac4
worker_evaluator.hpp: Explicitly cast types in signed subtraction
2015-08-17 15:21:55 -04:00