Lukas
59bbeff1c1
Improve the block transfer logic
...
- Fix a bug where the blockchain could not be synced completely when
block transfers happened in parallel
- Sum up multiple received blocks in the log output
2026-03-22 20:41:53 +01:00
Lukas
0aa58b137b
Fix a bug that prevented the blockchain to sync
...
Blocks with reveal transactions that were loaded from disk could not be
distributed to other nodes before. This prevented new nodes with an old
blockchain state from synchronizing the blockchain.
This bug has now been fixed.
2026-03-22 17:47:42 +01:00
Lukas
1d3cf3e242
Log errors that occur when sending a udp packet
2026-03-22 16:12:39 +01:00
Lukas
de62f95f45
Fix a race condition
2026-01-05 12:02:27 +01:00
Lukas
a3b92fcc72
Document a required dependency
2025-12-14 17:46:31 +01:00
Lukas
2e163f9786
Add a license
2025-12-14 00:23:06 +01:00
Lukas
cbdbb79e4e
Include usage information
2025-12-13 23:56:16 +01:00
Lukas
872e44e317
Implement gambling
2025-12-13 23:41:07 +01:00
Lukas
fd6b5019ac
Describe the advanced blockchain that supports gambling
2025-07-04 21:21:24 +02:00
Lukas
38c204cab2
Improve the wallet output formatting
2024-03-25 22:15:10 +01:00
Lukas
3d239a7526
Fix a bug that caused the node to crash
2024-03-25 21:53:42 +01:00
Lukas
608a57c71d
Make the wallet backwards-compatible
2024-03-25 21:28:04 +01:00
Lukas
77e85886ce
Implement the wallet software
2024-03-25 20:59:32 +01:00
Lukas
7037de6090
Add a missing byteorder parameter
...
(It caused an exception on Python 3.10)
2024-03-24 15:05:29 +01:00
Lukas
825b07bc11
Implement the mining software
2024-03-24 13:09:29 +01:00
Lukas
2f3216a0c4
Implement mining task request/response
2024-03-23 18:57:57 +01:00
Lukas
56c0598d6b
Add a script to show all block messages
2024-03-20 23:00:11 +01:00
Lukas
54c81810ee
Allow clients to transmit payments
2024-03-20 22:59:44 +01:00
Lukas
c6394d2ca1
Implement exchange of open transactions
2024-03-20 22:23:26 +01:00
Lukas
0218e34787
Do not rewrite the blockchain file at startup
2024-03-17 18:56:56 +01:00
Lukas
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
Lukas
833a300611
Fix a bug during transaction validation
...
Missing method call - caused an exception
2024-03-17 18:35:13 +01:00
Lukas
05881a9450
Persist blocks locally in a file
2024-03-17 17:43:59 +01:00
Lukas
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
Lukas
f41710c3dd
Implement block transfer logic
2024-03-16 21:56:12 +01:00
Lukas
44598fc030
Implement blockchain logic
2024-03-16 17:10:03 +01:00
Lukas
9204f87c56
Plan the carrotcoin launch
2024-03-16 15:56:52 +01:00
Lukas
53e659fc9d
Fill computed fields during validation
2024-03-16 15:20:46 +01:00
Atdhe
c48d2d8e0d
method get_block_raw
2024-03-04 18:42:17 +01:00
Lukas
f57eab2e3e
Create a first draft of the blockchain class
2024-02-25 16:29:05 +01:00
Lukas
e041a8cb04
Describe mining messages
2024-02-25 15:26:27 +01:00
Lukas
ea2d9577ae
Add messages to transfer open transactions
2024-02-25 15:12:46 +01:00
Lukas
ebf079ff4a
Ignore invalid IPv6 addresses
2024-02-25 14:56:03 +01:00
Lukas
d804c05e75
Describe block transfer and list hash messages
2024-02-25 14:32:57 +01:00
Lukas
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
Lukas
bd51b5efff
Fix a bug that caused a busy loop without peers
2024-02-11 22:31:43 +01:00
Lukas
bc45c9d5e6
Implement the partner introduction logic
2024-02-11 22:14:19 +01:00
Lukas
a5e44de6fc
Implement sending of heartbeats
2024-02-11 18:27:32 +01:00
Lukas
b67e01f6dc
Define a first peer-to-peer network protocol version
2024-02-11 17:22:56 +01:00
Lukas
c1af21b442
Describe more criteria
2024-02-11 15:08:34 +01:00
Lukas
89983c8acb
Define the blockchain
2024-02-10 20:32:46 +01:00