| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |\
| |
| |
| | |
49896e5c blockchain: fix long term block weight for regtest mode (moneromooo-monero)
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
|
|
| |
It seems to be buggy on reorgs, and prevents the use of
a blockchain with two nodes.
We'll speed this up again if/when the need arises.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If two create_block_template are called at nearly the same time,
and a block is added at nearly the same time, this could happen:
- the blockchain top block is B0
- thread 1 enters create_block_template, takes blockchain lock
- thread 1 creates a fresh block referencing prev block B0
- thread 1 releases blockchain lock
- thread 0 adds a new block
- thread 0 enters create_block_template
- thread 0 updates block template
- thread 1 takes txpool lock and continues creating block template
- thread 1 overwrites block template with previous data
|
| | |
|
| |
|
|
| |
Also check return of that function, it can now return error
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Implies protocol version management.
|
| |
|
|
|
| |
This was noticed because GCC warned about using an enum value in a
boolean context.
|
| |
|
|
| |
This makes it easier to modify the bulletproof format
|
| |
|
|
| |
For better transaction uniformity, even though this wastes space.
|
| | |
|
| |
|
|
|
|
| |
Since we keep track of the hf version in the db, we pick it up
from there instead of doing the full reorg call, which is quite
expensive
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
The 10 minute one will never trigger for 0 blocks, as it's still
fairly likely to happen even without the actual hash rate changing
much, so we add a 20 minute window, where it will (for 0 blocks)
and a one hour window.
|
| |
|
|
|
| |
This runs a command whenever the block rate deviates too much
from the expectation
|
| |
|
|
|
|
|
|
|
| |
This will trigger if a reorg is seen. This may be used to do things
like stop automated withdrawals on large reorgs.
%s is replaced by the height at the split point
%h is replaced by the height of the new chain
%n is replaced by the number of new blocks after the reorg
|
| |
|
|
|
| |
The warning threshold is set to allow a false positive every
ten days on average.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This curbs runaway growth while still allowing substantial
spikes in block weight
Original specification from ArticMine:
here is the scaling proposal
Define: LongTermBlockWeight
Before fork:
LongTermBlockWeight = BlockWeight
At or after fork:
LongTermBlockWeight = min(BlockWeight, 1.4*LongTermEffectiveMedianBlockWeight)
Note: To avoid possible consensus issues over rounding the LongTermBlockWeight for a given block should be calculated to the nearest byte, and stored as a integer in the block itself. The stored LongTermBlockWeight is then used for future calculations of the LongTermEffectiveMedianBlockWeight and not recalculated each time.
Define: LongTermEffectiveMedianBlockWeight
LongTermEffectiveMedianBlockWeight = max(300000, MedianOverPrevious100000Blocks(LongTermBlockWeight))
Change Definition of EffectiveMedianBlockWeight
From (current definition)
EffectiveMedianBlockWeight = max(300000, MedianOverPrevious100Blocks(BlockWeight))
To (proposed definition)
EffectiveMedianBlockWeight = min(max(300000, MedianOverPrevious100Blocks(BlockWeight)), 50*LongTermEffectiveMedianBlockWeight)
Notes:
1) There are no other changes to the existing penalty formula, median calculation, fees etc.
2) There is the requirement to store the LongTermBlockWeight of a block unencrypted in the block itself. This is to avoid possible consensus issues over rounding and also to prevent the calculations from becoming unwieldy as we move away from the fork.
3) When the EffectiveMedianBlockWeight cap is reached it is still possible to mine blocks up to 2x the EffectiveMedianBlockWeight by paying the corresponding penalty.
|
| |\
| |
| |
| | |
14515ef2 blockchain: move two new verification errors to the verify category (moneromooo-monero)
|
| | |
| |
| |
| | |
Lest we get people get scared again
|
| |\ \
| | |
| | |
| | | |
a23c80df core: don't verify range proofs multiple times (moneromooo-monero)
|
| | |/ |
|
| |/ |
|
| |
|
|
|
|
| |
get_transaction_pool RPC
Inspired by https://github.com/masari-project/masari/issues/93
|
| |
|
|
| |
This reverts commit b26ab0b5803af4ffe23de11a45e43877301a4902.
|
| |
|
|
| |
02d3ef7b blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
|
| |
|
|
| |
fa9e54b6 build: fix gcc false positive 'stringop-overflow' warning (xiphon)
|
| |
|
|
| |
fa942ef6 daemon: silence daemon update warnings on testnet (iDunk5400)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Those take a command line of the form "A [B]", with A being the
name (and optional path, if not in the caller's CWD, but fully
qualified path is recommended, avoids possible security issues)
to a program, and optional arguments. Any occurence of the two
character string "%s" will be replaced by the hash of the block
or transaction which triggered the notification.
Tokenization is barebones. If you want things like pipes, calls
to paths with spaces, etc, then use a script (though exec time
will suffer).
block-notify is called when a new block is added onto the chain.
tx-notify is called when a new transaction happens with the
wallet as source and/or destination.
It is the notification program's responsibility to determine what
to do in those cases.
Note that this is asynchronous, so it is very possible that:
- the notification programs will be run out of order
- several events happen before the notification for the first one
A Windows port would be nice if someone wants to make one.
|
| |\
| |
| |
| |
| |
| |
| | |
357441a2 add checkpoints for testnet and mainnet (Riccardo Spagni)
d9f666d7 update checkpoints.dat (Riccardo Spagni)
6b1b4e83 update version to 13.0 (Riccardo Spagni)
6f153533 update readme with v13.0 (Riccardo Spagni)
|
| | | |
|
| |\ \
| | |
| | |
| | | |
c39ad0cd tx_pool: fix tx removal at startup keeping references (moneromooo-monero)
|
| | |/ |
|
| |/ |
|
| |\
| |
| |
| | |
ac934663 rpc: add a "is an update available" flag in get_info (moneromooo-monero)
|
| | |
| |
| |
| | |
Make it easier for a user to be told when to update
|
| |\ \
| | |
| | |
| | |
| | | |
b2bb9312 blockchain: simplify output distribution code (moneromooo-monero)
befdcbf4 db_lmdb: do not use base for cumulative distribution (moneromooo-monero)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
4e1e9a60 blockchain: add mainnet v8 height targetting 18 october (moneromooo-monero)
|
| | | |
| | |
| | |
| | | |
and v9 a day later
|