13827 Commits

Author SHA1 Message Date
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
JoelKatz
4bf1e52c7b Put back the code I commented out. Fix the non-const reference
bound to a temporary.
2011-11-07 13:57:27 -08:00
JoelKatz
1d140e8829 Sync Linux tweaks. 2011-11-07 13:45:32 -08:00
JoelKatz
beef9b47d5 Create 'Makefile'. Make code compile on Linux. (Still does not link.)
Changes include:
Passing objects through ... is a no no.
Don't include windows.h on non-Windows
_vsnprintf doesn't exist on non-Windows
A map's first type is const, so a lot of code had to be changed from 'uint160&' to 'const uint160&'
itoa not available on non-Windows
Fix macro silliness when a parameter to a macro contains a comma.
<: is a digraph, so don't use "...shared_ptr<::google::..."
Must match filename case
Add const-correct 'escape' function to SqliteDatabase
Add const-correct 'begin' function to uint160
2011-11-07 13:18:13 -08:00
jed
aa7946dcfd . 2011-11-03 11:17:06 -07:00
jed
7436a8deec . 2011-10-28 16:51:35 -07:00
jed
e68b0fb8d1 . 2011-10-27 16:59:42 -07:00
jed
7eae6e5886 added sqllite 2011-10-27 13:04:08 -07:00
jed
d26577ffd7 . 2011-10-26 20:49:04 -07:00
jed
880c763dea . 2011-10-26 16:10:43 -07:00
jed
fed4350ccc . 2011-10-25 16:56:15 -07:00
jed
11a964ffed . 2011-10-21 11:32:23 -07:00
jed
0416d64fdc . 2011-10-20 16:34:22 -07:00
jed
650ee74391 . 2011-10-20 13:34:49 -07:00
jed
6715b966fc . 2011-10-14 12:06:55 -07:00
jed
a8e8613475 first 2011-10-14 11:39:06 -07:00