32 lines
761 B
Rust
32 lines
761 B
Rust
|
|
use bft_json_crdt::json_crdt::BaseCrdt;
|
||
|
|
use fastcrypto::ed25519::Ed25519KeyPair;
|
||
|
|
|
||
|
|
use crate::{keys, list_transaction_crdt::TransactionList, utils, websocket::WebSocketClient};
|
||
|
|
|
||
|
|
pub(crate) struct SideNode {
|
||
|
|
crdt: BaseCrdt<TransactionList>,
|
||
|
|
keys: Ed25519KeyPair,
|
||
|
|
websocket_client: WebSocketClient,
|
||
|
|
}
|
||
|
|
|
||
|
|
impl SideNode {
|
||
|
|
pub(crate) fn new(
|
||
|
|
websocket_client: WebSocketClient,
|
||
|
|
crdt: BaseCrdt<TransactionList>,
|
||
|
|
name: String,
|
||
|
|
) -> Self {
|
||
|
|
let side_dir = utils::home(&name);
|
||
|
|
let keys = keys::load_from_file(side_dir);
|
||
|
|
|
||
|
|
Self {
|
||
|
|
crdt,
|
||
|
|
keys,
|
||
|
|
websocket_client,
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
pub(crate) async fn start(&mut self) {
|
||
|
|
self.websocket_client.start().await;
|
||
|
|
}
|
||
|
|
}
|