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
e1eaaf80d9
fix CI: Install dependencies ( #33 )
...
install boost, remove all targets except ubuntu
2023-10-29 01:11:55 +00:00
Boog900
7f5035ece2
Merge Add CI Actions ( #31 )
2023-10-29 00:42:37 +00:00
Boog900
7559532408
fix cryptonight builds with -O3 or -Ofast
...
taken from: https://github.com/monero-project/monero/pull/9042
2023-10-29 01:02:12 +01: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
2440ccbd8d
remove randomX lib
2023-10-29 00:08:37 +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
65378b0523
Merge pull request #30 from hinto-janai/main
...
add `hinto-janai.asc`
2023-10-26 12:07:13 +00:00
Boog900
0cac022605
batch the retrieval of outputs
2023-10-26 03:16:03 +01:00
hinto.janai
39b029f3e7
add CI actions
2023-10-25 21:07:13 -04:00
hinto.janai
049cec184f
add hinto-janai.asc
2023-10-25 20:39:57 -04: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
ac87f9998e
add error handling to cryptonight.
...
Also remove the variant enum for separate functions.
2023-10-18 12:52:43 +01:00
Boog900
21f1448343
add more config options for the verifier
2023-10-15 20:35:33 +01:00
Boog900
55b7699a82
add tests to cryptonight crate
2023-10-15 18:56:25 +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
545189f523
random-x: add dataset/ cache
2023-09-17 19:01:56 +01:00
Boog900
f9c2794af2
Add aes generators/ hash to random-x
2023-09-16 18:46:44 +01:00
Boog900
57630ed9fb
init random-x module
...
super scaler program generation/ execution is complete.
2023-09-14 00:23:10 +01:00
Boog900
0000ee96b3
Clean up some of the rpc code
2023-09-07 21:38:56 +01:00
Boog900
b243ff0021
Remove CryptoNight V3
...
there is no v3 monero goes straight from v2 -> v4 I can only guess this is because of the way monero calculates what variant to use:
5900ed3706/src/cryptonote_core/cryptonote_tx_utils.cpp (L702)
2023-09-07 21:24:33 +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
Boog900
59e7e0b4e8
Remove donation address
2023-08-11 12:48:36 +01:00
Boog900
b483415c87
Add design document
2023-08-01 02:04:57 +01:00
Boog900
58a076f3aa
re-write README
...
This removes a lot of the content from the README.
I have also removed the MIT license file so people don't get confused.
This README is meant to be expanded in the future when more work has been done on Cuprate
2023-07-26 14:09:38 +01:00