JoelKatz
354da99038
Correct depth to 20+leaf, not 10+leaf.
2011-11-25 13:51:47 -08:00
JoelKatz
a9e6f0b70f
Bugfix: Put root node in map.
2011-11-25 13:51:34 -08:00
JoelKatz
997ea843d1
These uint160/uint256 types internally use little-endian.
2011-11-25 13:51:18 -08:00
JoelKatz
0df9ec91fa
Debug and unit test code. Copy on write logic. Bugfixes.
2011-11-25 00:03:33 -08:00
JoelKatz
83b2f8b73a
Simplify. Rewrite SHAMap::dirtyUp.
2011-11-23 23:45:26 -08:00
JoelKatz
51f3f4e1a4
Some missing handlers. SHAMap traversal top-level code.
2011-11-23 14:57:11 -08:00
JoelKatz
5fc9233fb5
More ledger functions, updateAccountState/addTransaction.
2011-11-23 12:50:51 -08:00
JoelKatz
17c265ee24
Some cleanups.
...
Add functions that avoid an allocate/copy/free where that's not needed.
2011-11-23 12:50:05 -08:00
JoelKatz
451b719ffc
Transaction::setStatus was missing.
2011-11-23 12:49:38 -08:00
JoelKatz
9462cd6718
Account state conversion from ledger to structure forms.
2011-11-23 12:48:45 -08:00
JoelKatz
6c7fd5f195
More work on core ledger and transaction processing code.
2011-11-22 15:42:03 -08:00
JoelKatz
41309b6f72
Part of the 'tray' implementation to avoid a burst of load on ledger close
2011-11-21 13:10:12 -08:00
JoelKatz
73578d6313
Begin trying the ledger code in.
2011-11-21 13:09:47 -08:00
JoelKatz
34265cd55b
Small updates.
2011-11-21 13:09:31 -08:00
JoelKatz
4d8894f71a
It makes much more sense to keep the from account pointer in the transaction
2011-11-18 20:07:57 -08:00
JoelKatz
fa60ccd2df
Start tying all these classes together:
2011-11-18 11:23:06 -08:00
JoelKatz
4096bad636
Cleanup
2011-11-17 22:05:35 -08:00
JoelKatz
b7046ae6f3
Starting tying into serializer code.
2011-11-17 22:05:13 -08:00
JoelKatz
8ae29a3f06
Small cleanups
2011-11-17 22:04:36 -08:00
JoelKatz
76b7b3c68e
More SHA map work.
2011-11-17 19:57:19 -08:00
JoelKatz
477b2df276
More work on the SHAMap/Serialize classes.
2011-11-17 18:11:11 -08:00
JoelKatz
e7bae43261
Continue implementation these classes.
2011-11-17 12:22:25 -08:00
JoelKatz
7137f759a9
Serialization functions.
2011-11-17 12:18:32 -08:00
JoelKatz
55b2111fd5
Updates. Create a class to hold an item in a SHAMap, separating the tag from
...
the data (it's not always the hash of the data). Make ScopedLock's recursive.
2011-11-15 10:49:14 -08:00
JoelKatz
14988dec90
Updates
2011-11-15 10:48:52 -08:00
JoelKatz
c42d3d0fe9
Typo
2011-11-15 10:46:19 -08:00
JoelKatz
da8cdf854a
Missing include
2011-11-15 10:46:12 -08:00
JoelKatz
4625a55c25
Fixes.
2011-11-14 19:48:49 -08:00
JoelKatz
7fb40e1c55
Updates.
2011-11-14 19:48:46 -08:00
JoelKatz
fbf6967d82
Continue fleshing out these classes.
2011-11-14 17:32:05 -08:00
JoelKatz
ccea015c6a
Start coding the guts of the SHAMap structure that will hold, synchronize,
...
sign, and validate our account balances and transactions.
2011-11-14 15:21:14 -08:00
JoelKatz
748a4d62ca
Allow nodes to add status information to transactions they pass on
2011-11-14 10:40:01 -08:00
JoelKatz
2c45e16d5a
Keep binary objects in a hash-indexed table. Remove redundant fields.
2011-11-14 10:39:29 -08:00
JoelKatz
b4198029af
Class for tracking conflicted/rejected transactions
2011-11-14 10:39:09 -08:00
JoelKatz
2793311400
Cleanup.
2011-11-12 14:12:45 -08:00
JoelKatz
53b61d4d65
Start to flesh out this code.
2011-11-12 14:12:38 -08:00
JoelKatz
3f8f7789b3
Tiny mistake in previous commit.
2011-11-11 16:38:49 -08:00
JoelKatz
3452211310
For some reason, Boost provides no good way to return a scoped lock.
...
It appears people usually fake it by not using RAII. This tiny bit of
ugliness will make returned scope lock holders work.
2011-11-11 16:32:21 -08:00
JoelKatz
e9ae645e3b
Transaction Infrastructure Work:
...
Raw account class (address + public key)
Account State class (account + balance + ledgers valid)
Raw Hanko class
Low-level tranasaction class
Small wallet and key bits
Misc updates to the protocol.
Protocol addition to allow code to wait for replies, but that may not be a good idea.
2011-11-11 14:13:25 -08:00
JoelKatz
fd7e41501b
Updated transaction header.
2011-11-10 21:16:49 -08:00
JoelKatz
06816dd73e
The low-level code that manages a tree of hash nodes. This manages the
...
individual nodes but not the logic that connects them. It is designed around
the assumption that not all nodes are necessarily resident in memory.
2011-11-10 21:15:32 -08:00
JoelKatz
965551f898
Updates.
...
Prevent one type of signature being introduced as another.
Some indexes.
2011-11-10 21:15:05 -08:00
JoelKatz
eca7512d96
Update as agreed. Fix Hanko confusion. Remove some extraneous stuff.
2011-11-09 16:17:53 -08:00
JoelKatz
8e2c103c67
Update to fix into new scheme. Simplify some parts.
2011-11-09 13:51:58 -08:00
JoelKatz
07df5f1f81
Add binary formats and SQLite database layouts.
...
Google's protocol buffers cannot be used for the inner portions of
signed/hashed objects.
This SQL database layout will facilitate a cache-based transaction
processing architecture that will scale to billions of accounts and dozens
of transactions per second.
2011-11-09 13:46:32 -08:00
JoelKatz
89670ccff6
Add support for hanko https URL. Make IPs optional so nodes can be anonymous
2011-11-08 11:51:56 -08:00
JoelKatz
e968e59a01
Remove file added by mistake.
2011-11-08 11:49:37 -08:00
JoelKatz
df2734142b
Makefile updates
2011-11-08 10:00:38 -08:00
JoelKatz
6c50e202dd
Updates to protocol
...
Add ping function to test connectivity, detect send buffer attacks, and sync time.
Report a client's own IP back to it.
Add a status field to transactions (optional, used for consensus building)
Update contact field:
Contact records are signed so you can't lie about other nodes
Contact record can contain multiple addresses (say, one IPv4 and one IPv6)
Contact record is timestamped, so you can't provide an obsolete one
Nodes can extend their contact record with an URL, organization name, or policy
Add a command to request contact information.
Allow nodes to locate nodes in their static trust list if they wish.
2011-11-08 09:55:59 -08:00
JoelKatz
b0002dc62a
We compile and link on Linux now, except for runTests
...
Add sqlite3 library
Compile/link database code
Don't use itoa
Don't use stricmp
2011-11-07 14:25:00 -08:00