Skip to content

Commit 6cae7ec

Browse files
committed
add project mangagement state
1 parent 4128091 commit 6cae7ec

3 files changed

Lines changed: 102 additions & 14 deletions

File tree

PROGRESS

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
2+
COMPONENTS
3+
==========
4+
5+
block
6+
db
7+
netpeer_server
8+
netpeer
9+
pow
10+
tokenomics
11+
tx
12+
wallet
13+
merkle-tree
14+
100%
15+
16+
genesis
17+
90%
18+
19+
need genesis block serialised as json
20+
need multiple genesis blocks / network configs potentially
21+
22+
blockdag
23+
80%
24+
25+
needs refactoring some methods
26+
needs timestamp calculation (subjective) in there
27+
needs parallel sig verification
28+
needs(?) to verify tx validity
29+
30+
state-machine
31+
50%
32+
33+
needs either UXTO model or account nonces to prevent duplicate txs
34+
needs proper testing
35+
36+
node
37+
50%
38+
39+
needs to sync properly on divergent branches
40+
needs to restart miner on new full tip
41+
needs to revalidate mempool on new full tip
42+
need to manage miner so it doesnt run in headers mode?
43+
needs to discover other nodes via dns seed or something
44+
45+
cli
46+
10%
47+
48+
needs light mode to just follow chain
49+
needs wallet to send/receive txs
50+
51+
sync
52+
50%
53+
54+
needs simplification pass
55+
needs proper testing
56+
57+
sync-downloader
58+
50%
59+
60+
needs fixing since it fails weirdly?
61+
62+
explorer
63+
90%
64+
65+
entire state recomputed after each block. inefficient
66+
coins showed in full integer, no decimalisation yet
67+
68+
69+
PROJECT
70+
=======
71+
72+
testnet 1
73+
100%
74+
75+
done
76+
77+
post-testnet 1 pass
78+
50%
79+
80+
need to clean up comments and docs
81+
need to clean up repo - delete old files
82+

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Taking inspiration from projects like SQLite, TempleOS, Cosmos/Tendermint, Linux
4646

4747
tinychain is in-development. Currently we can run a node, mine blocks, ingest them into a DAG, create and sign transactions, run a state machine, build the UXTO set from processing transactions, connect to peers and gossip.
4848

49-
In progress: state synchronisation, user wallet API's.
49+
We ran our first testnet back in Aug 2024 in sprint 1. Now we are refining in preparation for testnet 2. See [PROGRESS](./PROGRESS) for the open state of different subcomponents.
5050

5151
## Install.
5252

TODO

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,4 @@
11

2-
DAG
3-
4-
[x] test IngestHeader
5-
[x] test IngestBody
6-
test updates full tip / headers tip
7-
8-
Parallel download
9-
10-
[x] implement a really basic version which downloads in parallel. basically a dumb bittorrent
11-
[x] make sure it can work with peers joining/leaving
12-
[x] probably try to do it without channels just to start with (simpler mental model)
13-
14-
152
Currently:
163
- rename Sign(msg) to accept a sighash, and then add a sighash method to tx.go
174
- why is block body not being matched with block header?
@@ -21,6 +8,25 @@ Currently:
218
sync_test.go:361: Error ingesting body: Block header not found for txs merkle root.
229

2310

11+
mempool
12+
listen for new txs
13+
put them in mempool
14+
inside node/miner?
15+
get a bundle from mempool
16+
mine on it
17+
18+
adjust miner
19+
restart mechanism to mine on new tip
20+
how does it do it now?
21+
documentation on the functionality
22+
23+
24+
state machine
25+
remove sanity check for blockreward/iscoinbase
26+
add proper tests
27+
28+
29+
2430

2531

2632
Sync / search

0 commit comments

Comments
 (0)