Boog900
343e979e82
Use a connection task for RPC connections.
2023-11-18 14:00:33 +00:00
Boog900
484b418faf
add batch preparing for blocks.
2023-11-11 01:55:15 +00:00
Boog900
f025513950
cache sorted long and short term block weights
2023-11-08 00:28:15 +00:00
Boog900
9471ca5d6a
consensus: use a custom spawn function when using rayon in async code.
...
Before we were using tokio's `spawn_blocking`, which wasn't ideal as this put tasks in a queue to be put on rayon's pool.
Instead, now we create an oneshot and use rayon::spawn.
2023-11-07 23:52:56 +00:00
Boog900
b49878ac6b
fix doc comment
2023-11-06 02:19:49 +00:00
Boog900
fc7b676f7b
consensus: add a tx pool trait.
...
This means we don't have to rely on people giving the verifier the correct txs for a block.
Also allows some speedup as we can put the fetching of outputs on a different task.
2023-11-05 18:44:41 +00:00
Boog900
34bb293f95
keep track of blockchain context validity internally.
2023-10-31 02:59:31 +00:00
Boog900
3a52b346e1
add tests to context sub-services + fix issues in other tests
...
+ fmt + clippy.
2023-10-29 00:39:58 +01:00
Boog900
216bedaf06
stop batching transactions across blocks when a hard-fork happens..
...
in the batch.
2023-10-27 00:55:08 +01:00
Boog900
d0bd17c560
use BufWritter to save the cache
2023-10-27 00:55:05 +01:00
Boog900
0cac022605
batch the retrieval of outputs
2023-10-26 03:16:03 +01:00
Boog900
cb7d8b7b5e
fix cumulative diff calculations + sort timestamps before getting median
...
we were not accounting for the genesis blocks difficulty of 1.
2023-10-24 23:35:24 +01:00
Boog900
2033a2d16c
add rules for blocks
...
TODO: the tests need re-ordering they are just all chucked in at the moment.
2023-10-24 23:02:19 +01:00
Boog900
b727062e97
finish rules for v1 txs - clean up is needed
2023-10-24 20:18:46 +01:00
Boog900
9b7f778f60
fix getting the median timestamp
...
we were excluding the genesis block
2023-10-24 15:34:41 +01:00
Boog900
edccf83481
add saving cache to disk.
2023-10-24 02:25:11 +01:00
Boog900
6bfc4da4e4
cache more blockchain data to reduce number of RPC calls
2023-10-23 22:24:02 +01:00
Boog900
eeefe49d63
add block/ tx verifier svc
2023-10-23 19:14:40 +01:00
Boog900
50f9458528
move hardforks, weights and pow cache to single context
with unified API
2023-10-22 17:27:37 +01:00
Boog900
387278b821
add more consensus rules.
2023-10-20 01:04:26 +01:00
Boog900
21f1448343
add more config options for the verifier
2023-10-15 20:35:33 +01:00
Boog900
bfbafa4ed5
change epee-encoding to monero-epee-bin-serde
2023-10-09 21:10:16 +01:00
Boog900
20f6af7951
use get_blocks_by_height.bin
in RPC
2023-10-05 17:54:19 +01:00
Boog900
88b646c5a3
add back monero-epee-bin-serde
...
I am now a maintainer of monero-rs, so I can keep this maintained and not using serde was annoying.
2023-10-05 14:24:42 +01:00
Boog900
f60bb1a678
init scan chain code
2023-10-04 14:50:13 +01:00
Boog900
d5595b7eaf
add logic to build all caches synchronously
2023-10-03 22:10:31 +01:00
Boog900
eb3c727b4d
add effective median weight calculations
...
+ more rpc speedup for the rest of the consensus lib
2023-10-02 21:07:11 +01:00
Boog900
d7798328b6
consensus: add block weight calculations + rcp speedup
...
Instead of asking for one block at a time, we ask for batches of blocks, which significantly speeds up getting blocks.
2023-09-28 12:21:06 +01:00
Boog900
0000ee96b3
Clean up some of the rpc code
2023-09-07 21:38:56 +01:00
Boog900
b4711c7118
add references to monero protocol docs
...
+ skip genesis block in DifficultyCalculator
2023-09-06 19:50:49 +01:00
Boog900
ab3c496bbd
add difficulty calculations
2023-09-06 15:54:49 +01:00
Boog900
367ea1a837
add method to init the hard fork struct at a certain height.
2023-09-05 19:49:01 +01:00
Boog900
a56d8ea87f
fetch block headers in parallel and support multiple rpc endpoints
...
this significantly speeds up initiating the hardfork struct
2023-09-05 19:13:46 +01:00
Boog900
42548f733d
add cryptonight bindings
2023-09-05 11:56:07 +01:00
Boog900
2f08978e67
init consensus rules crate
2023-09-03 23:50:38 +01:00