tomFlowee
460d4be807
Add new method Blockchain::blockHeightAtTime()
2021-05-28 14:52:27 +02:00
tomFlowee
d17b8f0c40
Add API docs for new static-headers method.
2021-05-28 12:42:30 +02:00
tomFlowee
c45e7d9c3e
[P2P] Do not save blockchain data when not changed
2021-05-27 19:08:46 +02:00
tomFlowee
d1fa3fa4a9
[P2P] Allow static loading of blockheaders
...
This adds a unit test for the Blockchain class in the p2p lib and this
introduces the functionality to have a blockchain pre-shipped with an
app.
2021-05-27 19:08:46 +02:00
tomFlowee
ccb1016ac7
Avoid deep-copying a bloomfilter when possible.
2021-05-27 19:08:46 +02:00
tomFlowee
3f91689e3e
Minor refactor of bloomfilter.
...
Rename fields to follow the coding guidelines.
Add an isEmpty() getter.
2021-05-23 17:49:57 +02:00
tomFlowee
f9a0050220
Update TransactionBuilder / signature type handling
...
The choice between Schnorr and ECDSA signatures is now per input instead
of once choice for the entire transaction.
2021-05-04 16:57:55 +02:00
tomFlowee
28af16d536
Add TransactionBuilder::pushOutputPay2Script() method
...
Code modified from snipped shared by user Sandurr on noise.cash.
2021-04-22 12:46:35 +02:00
tomFlowee
793e4ed48d
Fix warning: add assignement operator when we have copy-constructor.
2021-04-19 16:29:23 +02:00
tomFlowee
ec5e563125
Make TransactionBuilder sign using Schnorr by default.
2021-04-19 16:09:42 +02:00
tomFlowee
6d33d187d4
Add new CKey::signSchnorr() method.
2021-04-19 15:49:56 +02:00
tomFlowee
6682a4a5b2
Rename CKey::Sign() -> signECDSA()
2021-04-19 15:45:02 +02:00
tomFlowee
fcb648916d
Make pubkey follow coding styleguide
2021-04-19 14:48:18 +02:00
tomFlowee
ea38ab6de5
Make ping more agressive.
...
For native connections we ping in order to disconnect stale connections.
This ensures that pings are sent more agressive, via the priority queue,
and we delay the disconnect to 150s.
So, pings more agressive, disconnects less agressive.
2021-04-19 11:31:53 +02:00
tomFlowee
6e7a54b7d4
[GUI] Update service bits.
2021-04-19 11:29:45 +02:00
tomFlowee
00a29b1df9
Merge branch 'master' of origin:thehub
2021-04-09 13:11:20 +02:00
tomFlowee
72b47b276f
Move disk-free-checker to later in the process
...
This avoids issues where we check for disk space before
the databases are created.
2021-04-05 13:28:27 +02:00
tomFlowee
6142efc7e1
Fix lifetime of the diskSpaceChecker class
...
As the DiskSpaceChecker owns a deadlinetimer, which depends on the asio
io_service, we need to ensure it is destructed before the io_service is.
The io_service, and now the diskSpaceChecker as well, are specifically
shut down, in order.
Application is still a singleton that dies after main() ends, but will
have nearly no members at that time.
2021-04-05 11:36:31 +02:00
tomFlowee
30021be356
Add binding addresses whitelisted for API filters
2021-04-04 17:08:21 +02:00
tomFlowee
9dbf93f7a7
Add assert to fail fast.
2021-04-03 20:35:19 +02:00
tomFlowee
647b5887b5
Have a class that monitors filesystem available space.
...
This will be used to cleanly shut down the node when disk space
available is nearing critical levels. Well before we get into an issue.
2021-04-02 17:25:43 +02:00
tomFlowee
fd7b6096bf
Rename argument enableblockindex to more correct feesmetadata
2021-03-29 12:20:49 +02:00
tomFlowee
c82766d9c7
Micro optimization
2021-03-27 16:02:49 +01:00
tomFlowee
9cd25d4fbf
Be consistent
2021-03-25 18:49:00 +01:00
tomFlowee
3e9fe7aa3c
Add to the Flowee API: Mining::SubmitBlock
...
This adds a new API endpoint that allows submitting of a new block to be
validated and possibly appended to the tip of the chain.
2021-03-24 21:00:25 +01:00
tomFlowee
ce8ecd965e
Add api doc.
2021-03-24 21:00:25 +01:00
tomFlowee
4f3c1ca3e1
Remove dead code.
2021-03-24 21:00:25 +01:00
tomFlowee
d797b1bf50
Minor additions of helper methods.
...
Tested in the upcoming unit test.
2021-03-24 21:00:25 +01:00
tomFlowee
4f8f5ba739
blk file management: handle truncated files.
...
This makes it possible for the most recent file to not be the default
filesize but much smaller. This fixes us to writing outside of the
allocated membuffer and causing a kernel signal.
Additionally we start a new file for writes in that case.
This case is seen in the unit tests where we have a perfect-fitting file
in git which we then try to write to when adding a new block.
As such this is tested in the upcoming unit test.
2021-03-24 21:00:25 +01:00
tomFlowee
41e0739e17
add op_group convenience method to transactionbuilder
2021-03-24 19:08:25 +01:00
tomFlowee
c1cdbba72b
Add new feature, search a block with script-type
...
This new flag to the getBlock API call allows us to select
a transaction based on the usage of a certain script opcode.
This uses the new metadata index.
2021-03-24 19:08:25 +01:00
tomFlowee
8124a65795
Peer reviewed: Blockchain::IncludeTxFees
...
Make plural.
2021-03-18 11:34:59 +01:00
tomFlowee
9d6ba33cc0
Add and test service to receive all double spend proofs.
2021-03-18 11:07:50 +01:00
tomFlowee
9025a2e2ea
Add DoubleSpendService to listen to all double spend notifications
2021-03-16 19:53:14 +01:00
tomFlowee
7406cd6ecf
Remove dead code (xor of stream).
2021-03-16 19:34:33 +01:00
tomFlowee
190de58f3e
Add docs.
2021-03-16 18:56:28 +01:00
tomFlowee
0100c2f9e2
Wrap the services in one class
...
This allows us to avoid duplicating complexity in starting the API
subsystem.
2021-03-16 15:14:13 +01:00
tomFlowee
369fbd7b92
Don't trust inputs.
2021-03-15 12:55:24 +01:00
tomFlowee
9dada4c73e
Separate tx validation and fees fetching.
...
For the txid/fee index we do a bit more than we can do for shallow block
validation.
Now we don't actually fully validate all transactions when this index is
enabled, we just fetch the fees.
2021-03-15 12:54:58 +01:00
tomFlowee
45dd785f39
Follow whole-script sizelimit.
...
Also add unit test for the op_return limits.
2021-03-13 16:52:04 +01:00
tomFlowee
a9d3c2ee92
Support change to allow multiple op_returns
2021-03-13 14:02:38 +01:00
tomFlowee
aa57e4bbb2
Merge branch 'blockMetadata'
2021-03-12 14:12:11 +01:00
tomFlowee
e40b408c37
Put the writing of metadata in a try/catch
...
This solves issues with read-only blockchains.
As used by the unit test.
2021-03-12 14:08:55 +01:00
tomFlowee
e9fd6384d5
Fix regression, and improve message
...
This again fetches the transaction data itself.
2021-03-12 14:08:16 +01:00
tomFlowee
5d750eb736
One less historical check needed so far after making them mandatory
2021-03-12 13:18:31 +01:00
tomFlowee
4e0acff905
Make reindex finding blocks massively faster.
...
The code that connects blocks together uses the block-hash (blockId) for
that, which we always just created on the fly.
Instead store the blockId on the state and in that way make adding
headers not entirely in-sequence be 10 times as fast.
Additionally, we wait with actual validation after a reindex until the
files are all found because otherwise we can't save the meta blocks.
2021-03-12 11:21:46 +01:00
tomFlowee
ad7b81c17a
Simplify and pick during reindex.
2021-03-12 10:28:27 +01:00
tomFlowee
c73a9d850e
Fix compiler warning.
2021-03-12 10:09:03 +01:00
tomFlowee
e048ab1e2c
Fix compiler warning.
2021-03-12 10:08:49 +01:00
tomFlowee
bf5726eb58
Add scripting type on the block metadata
2021-03-12 10:08:31 +01:00