Commit Graph

225 Commits

Author SHA1 Message Date
parazyd
21dd80ae99 rpc: Replace serde_json with tinyjson. 2023-08-20 18:53:52 +02:00
parazyd
827ec53f63 rpc: Cleanup client and server and refactor into smaller functions.
* Implement a read timeout to avoid a DoS path
* Use dynamic buffer allocation with a max size limit
* Make the JSON-RPC a line-based protocol
2023-08-18 08:56:54 +02:00
aggstam
67d5ed7d28 validator: current slot generation added 2023-08-04 18:42:05 +03:00
parazyd
688da857a8 fud: Implement background tasks for fetching file metadata and file chunks. 2023-07-31 15:50:50 +02:00
parazyd
98a78098bc fud/proto: Implement file request handler 2023-07-29 14:07:40 +02:00
parazyd
63a408c777 fud/proto: Implement chunk request handler. 2023-07-29 12:57:57 +02:00
parazyd
eab4086b15 dht2: Remove module. 2023-07-29 11:46:24 +02:00
aggstam
9f81e693ed darkfid2/rpc: basic tx methods added 2023-07-18 19:00:52 +03:00
aggstam
7f9bed8e50 WIP: contract/consensus/client/proposal: verify coin value is less than slot target before creating proof 2023-07-14 14:01:20 +03:00
aggstam
dce1fb929d darkfid2: calculate genesis txs total and use that for genesis block validation 2023-07-12 20:23:31 +03:00
aggstam
9712efdfb1 validator/consensus/pid: sigmas caclulation foundation 2023-07-07 16:43:48 +03:00
aggstam
b21e787319 error: restore missing error 2023-07-05 16:54:00 +03:00
parazyd
a654341ea4 Remove some unnecessary dependencies. 2023-07-04 23:52:30 +02:00
parazyd
3546af6c79 lilith: Support versioning of spawned networks. 2023-07-03 17:35:33 +02:00
aggstam
bca71304f9 validator: full block validation added 2023-07-01 18:54:33 +03:00
parazyd
55ee919906 net: Perform full p2p code cleanup and improve certain pieces.
Notable changes:

* Rewritten transport protocols into Dialer and Listener (Nym is TODO)

  This simplifies using the transports a lot, as can be seen for example
  in src/rpc, and generally around the p2p library. It also defines features
  for each transport (all of which are enabled by default). We drop the
  socks client for Tor and Nym and use first-class support with the Arti Tor
  library, and nym-sphinx/nym-websockets (to be used with nym-client).

* Outbound session healing

  The outbound session will now poll and try to fill all the requested
  slots more efficiently, and if needed, will activate peer discovery to
  find more peers if we can't connect to any known ones. Also if we're
  unable to connect to any, we shall drop them from our set.

  Additionally, transport mixing is enabled by default, so when we're
  allowing transport mixing, and we use Tor, we will also be able to connect
  to other transports that Tor can connect to (e.g. tcp://).

* Unix socket transport dropped

  We haven't been using this, and it seems we're not going down this path,
  so the code has been obsoleted and removed.

* TLS session verification

  We fully verify server and client TLS certificates upon connection so
  we're able to perform TLS1.3 with forward secrecy.

* lilith pruning

  lilith now periodically prunes known peers from its sets if it's unable
  to connect to them.
2023-06-29 13:13:15 +02:00
aggstam
97445fca25 blockchain: cleanup 2023-06-28 18:29:46 +03:00
aggstam
feabf5a67a blockchain: rewrite completed
Attention: this commit breaks darkfid/faucetd network functionalities, so nodes can't sync or participate in the protocol. Wait for their rewrite(TM)
2023-06-28 14:42:14 +03:00
aggstam
7a2f07502c WIP: validator: blockchain rewrite foundation added 2023-06-26 22:02:25 +03:00
aggstam
ec97e969c8 sdk: renamed SlotCheckpoint to Slot 2023-06-24 18:18:08 +03:00
aggstam
0afaf50d65 contract/test-harness: integrate new validator 2023-06-23 16:12:14 +03:00
aggstam
dd3d6a15e7 src/validator: set foundation for validator rewrite 2023-06-23 12:49:09 +03:00
parazyd
bc9b25bf1f error: Correct error string for wasm failed exit 2023-05-24 13:13:25 +02:00
parazyd
0cbaa2bcac dht: Stub protocols for metadata request-reply. 2023-05-12 21:52:27 +02:00
parazyd
293f74b301 dht: WIP implementation of filesystem-based DHT 2023-05-12 11:26:19 +02:00
aggstam
9214522a79 consensus/validator.rs: verify_transactions refactor and erroneous txs handling
Tests pass, still need to be tested in live conditions of node running
2023-03-17 23:59:19 +02:00
aggstam
7d3090f1ed runtime: Make all the writes atomic in a transaction over all trees 2023-03-09 19:59:46 +02:00
police
e4cb9aca8d update dashu new 0.3 api from main repo 2023-02-27 02:05:03 +02:00
aggstam
2ac20a6f39 contract: minor fixes
dao contract needs to be updated with the new money API
2023-02-25 14:20:29 +01:00
aggstam
3f6fc0d7af consensus: simplyfied total stake calculation and removed slot offset logic 2023-01-15 17:47:11 +02:00
parazyd
4c4132ce7e consensus/types: Wrap Float10 into our own struct for some code simplification. 2023-01-04 15:15:20 +01:00
parazyd
71cd3064d6 Update license year. 2022-12-28 13:06:00 +01:00
aggstam
f2da17ea1e consensus: verify proposer eligibility via coin age 2022-12-18 02:02:33 +02:00
aggstam
1bfef5dce3 consensus: ignore proposals with transactions exceeding cap 2022-12-06 22:34:38 +02:00
aggstam
b0bdc6b633 consensus: proposal eta and sigmas validation against checkpoints impl 2022-11-29 21:30:32 +02:00
aggstam
67160dc83c consensus: slot checkpoints logic added 2022-11-29 17:50:32 +02:00
parazyd
1d7866f688 Update crate dependencies. 2022-11-29 13:54:05 +01:00
aggstam
8fc779782f consensus: renamed block Metadata to LeadInfo 2022-11-25 18:22:30 +02:00
mohab metwally
6c27aae820 [consensus/state] verify eta/mu public values 2022-11-25 16:26:35 +02:00
parazyd
bdf67b41d1 drk: Add stub for block subscription. 2022-11-25 15:24:42 +01:00
aggstam
0bbe9f5588 consensus: ignore proposals after finalization check have been triggered for current slot 2022-11-25 16:20:06 +02:00
parazyd
877c0bb2d5 faucetd: Code cleanup. 2022-11-25 10:35:59 +01:00
aggstam
d6aa0d32ad consensus: overall empty slots calculation along with slots offset logic 2022-11-24 15:16:21 +02:00
mohab metwally
4f45b5cae3 [consensus/state] dynamic f implemented 2022-11-23 18:15:17 +02:00
mohab metwally
8167f81e95 [consensus/stx] verify stx 2022-11-21 14:09:29 +02:00
mohab metwally
2c7b54c702 [consensus/tx] transfer tx fixed 2022-11-20 17:48:37 +02:00
aggstam
ee10a54648 consensus: major changes implemented
finalization syncing period implemented, finalization logic improvements, fork logic improvements, use blockhash instead of header hash as identifiers, remove redundant DELTA, minor fixes
2022-11-18 02:32:47 +02:00
parazyd
fec2304dd8 contract/money: Implement transaction builder. 2022-11-17 20:29:38 +01:00
parazyd
337f80361d blockchain: Add WasmStore and rename ContractStore to ContractStateStore. 2022-11-16 14:26:37 +01:00
parazyd
cea573071b tx2: Initial stub for contract transaction type. 2022-11-15 22:50:36 +01:00