Commit Graph

30 Commits

Author SHA1 Message Date
608a57c71d Make the wallet backwards-compatible 2024-03-25 21:28:04 +01:00
77e85886ce Implement the wallet software 2024-03-25 20:59:32 +01:00
7037de6090 Add a missing byteorder parameter
(It caused an exception on Python 3.10)
2024-03-24 15:05:29 +01:00
825b07bc11 Implement the mining software 2024-03-24 13:09:29 +01:00
2f3216a0c4 Implement mining task request/response 2024-03-23 18:57:57 +01:00
56c0598d6b Add a script to show all block messages 2024-03-20 23:00:11 +01:00
54c81810ee Allow clients to transmit payments 2024-03-20 22:59:44 +01:00
c6394d2ca1 Implement exchange of open transactions 2024-03-20 22:23:26 +01:00
0218e34787 Do not rewrite the blockchain file at startup 2024-03-17 18:56:56 +01:00
1d627a83cb Fix a bug during initial blockchain check
An invalid block in the locally stored blockchain caused
the node to crash.
2024-03-17 18:49:22 +01:00
833a300611 Fix a bug during transaction validation
Missing method call - caused an exception
2024-03-17 18:35:13 +01:00
05881a9450 Persist blocks locally in a file 2024-03-17 17:43:59 +01:00
e1fe8b0958 Reorder field in the block
Miners should choose a transaction from the network based on its reward,
not as part of the mining variability.
That's why it's a bad idea to place the transaction as last block element.

Reorder the fields to make less room for harmful mining optimization.
2024-03-17 09:54:00 +01:00
f41710c3dd Implement block transfer logic 2024-03-16 21:56:12 +01:00
44598fc030 Implement blockchain logic 2024-03-16 17:10:03 +01:00
9204f87c56 Plan the carrotcoin launch 2024-03-16 15:56:52 +01:00
53e659fc9d Fill computed fields during validation 2024-03-16 15:20:46 +01:00
c48d2d8e0d method get_block_raw 2024-03-04 18:42:17 +01:00
f57eab2e3e Create a first draft of the blockchain class 2024-02-25 16:29:05 +01:00
e041a8cb04 Describe mining messages 2024-02-25 15:26:27 +01:00
ea2d9577ae Add messages to transfer open transactions 2024-02-25 15:12:46 +01:00
ebf079ff4a Ignore invalid IPv6 addresses 2024-02-25 14:56:03 +01:00
d804c05e75 Describe block transfer and list hash messages 2024-02-25 14:32:57 +01:00
c4942dd716 Send the second last block difficulty sum
This counters a possible attack where a miner could try to replace an
already mined block with a different one that appears to be mined just
one second before.
2024-02-25 00:55:47 +01:00
bd51b5efff Fix a bug that caused a busy loop without peers 2024-02-11 22:31:43 +01:00
bc45c9d5e6 Implement the partner introduction logic 2024-02-11 22:14:19 +01:00
a5e44de6fc Implement sending of heartbeats 2024-02-11 18:27:32 +01:00
b67e01f6dc Define a first peer-to-peer network protocol version 2024-02-11 17:22:56 +01:00
c1af21b442 Describe more criteria 2024-02-11 15:08:34 +01:00
89983c8acb Define the blockchain 2024-02-10 20:32:46 +01:00