blockchaininnovation / zkzkrollup

1 stars 0 forks source link

LocalDB #16

Open shibano2 opened 1 year ago

shibano2 commented 1 year ago

LocalDBは各ユーザーのステート(マークルツリーのリーフ情報)を管理するDB.

shibano2 commented 1 year ago

テーブルは2つ

drop table if exists account;
create table account(
    _id integer not null primary key,
    public_key_for_eddsa text not null,
    created_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime')),
    updated_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime'))
);
create unique index idx_account_01 on account(public_key_for_eddsa);

drop table if exists state;
create table state(
    account_id integer not null primary key,
    balance_encrypted text not null,
    created_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime')),
    updated_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime'))
);
shibano2 commented 1 year ago

accountテーブルのpublic_key_for_eddsa,stateテーブルのbalance_encryptedは両方ともバイト列をHEXにした文字列を保存.

public_key_for_eddsaはx,y座標がそれぞれ31バイトを直列につないだものを, balance_encryptedは31*4bytes.