mirror of
https://github.com/Xahau/xahaud.git
synced 2025-11-20 10:35:50 +00:00
79 lines
1.9 KiB
SQL
79 lines
1.9 KiB
SQL
|
|
|
|
CREATE TABLE Transactions ( -- transactions in all states
|
|
TransID BLOB PRIMARY KEY,
|
|
FromID BLOB, -- 20 byte hash of pub key
|
|
FromSeq BIGINT UNSIGNED, -- account seq
|
|
FromLedger BIGINT UNSIGNED,
|
|
ToID BLOB, -- 20 byte hash of pub key
|
|
FirstSeen TEXT, -- time first seen
|
|
CommitSeq BIGINT UNSIGNED, -- ledger commited to, 0 if none
|
|
Status VARCHAR(1) -- (N)ew, (A)ctive, (C)onflicted, (D)one, (H)eld
|
|
);
|
|
|
|
|
|
CREATE TABLE PubKeys ( -- holds pub keys for nodes and accounts
|
|
ID BLOB PRIMARY KEY,
|
|
PubKey BLOB NOT NULL
|
|
);
|
|
|
|
|
|
CREATE TABLE Ledgers ( -- closed ledgers
|
|
LedgerHash BLOB PRIMARY KEY,
|
|
LedgerSeq BIGINT UNSIGNED,
|
|
PrevHash BLOB,
|
|
FeeHeld BIGINT UNSIGNED,
|
|
AccountSetHash BLOB,
|
|
TransSetHash BLOB,
|
|
FullyStored VARCHAR(1), -- all data is in our db
|
|
Status VARCHAR(1) -- (A)ccepted, (C)ompatible, (I)ncompatible
|
|
);
|
|
|
|
CREATE INDEX SeqLedger ON Ledgers(LedgerSeq);
|
|
|
|
|
|
|
|
CREATE TABLE LedgerConfirmations (
|
|
LedgerSeq BIGINT UNSIGNED,
|
|
LedgerHash BLOB,
|
|
Hanko BLOB,
|
|
Signature BLOB
|
|
);
|
|
|
|
CREATE INDEX LedgerConfByHash ON LedgerConfirmations(LedgerHash);
|
|
|
|
|
|
CREATE TABLE TrustedNodes (
|
|
Hanko BLOB PRIMARY KEY,
|
|
TrustLevel SMALLINT,
|
|
Comment TEXT
|
|
);
|
|
|
|
CREATE TABLE KnownNodes (
|
|
Hanko BLOB PRIMARY KEY,
|
|
LastSeen TEXT, -- YYYY-MM-DD HH:MM:SS.SSS
|
|
HaveContactInfo VARCHAR(1),
|
|
ContactObject BLOB
|
|
);
|
|
|
|
|
|
CREATE TABLE CommittedObjects ( -- used to synch nodes
|
|
Hash BLOB PRIMARY KEY,
|
|
ObjType CHAR(1) NOT NULL, -- (L)edger, (T)ransaction, (A)ccount node, transaction (N)ode
|
|
LedgerIndex BIGINT UNSIGNED, -- 0 if none
|
|
Object BLOB
|
|
);
|
|
|
|
CREATE INDEX ObjectLocate ON CommittedObjects(LedgerIndex, ObjType);
|
|
|
|
CREATE TABLE LocalAccounts ( -- wallet
|
|
ID BLOB PRIMARY KEY,
|
|
Hash BLOB,
|
|
Seq BIGINT UNSIGNED, -- last transaction seen/issued
|
|
Balance BIGINT UNSIGNED,
|
|
LedgerSeq BIGINT UNSIGNED, -- ledger this balance is from
|
|
KeyFormat TEXT, -- can be encrypted
|
|
PrivateKey BLOB,
|
|
Comment TEXT
|
|
);
|