Commit Graph

566 Commits

Author SHA1 Message Date
parazyd
e493f397dc chore: Update crate dependencies 2025-11-24 12:12:13 +02:00
parazyd
f89300f5f3 sdk/monotree: Add a MonotreeStorageAdapter trait for sled-overlay support 2025-11-24 12:12:13 +02:00
parazyd
dc4e461379 validator/xmr: Add aux chain checks 2025-11-24 12:12:13 +02:00
parazyd
ea74788153 chore: Thaw randomx dependency 2025-11-24 12:12:13 +02:00
parazyd
51a9a7de77 validator/xmr: Add creation of MoneroPowData from monero::Block 2025-11-24 12:12:13 +02:00
oars
4b1cabd13f Cargo.lock,sdk/python/Cargo.toml: add native contract money,dao,deployooor crates as dependency to python sdk crate for darkfid tx bindings 2025-11-10 16:00:33 +03:00
oars
99199786f7 Cargo.lock,sdk/python: port python bindings to pyo3 version 0.26 2025-11-10 16:00:33 +03:00
oars
ac0365cc60 Cargo.toml, Cargo.lock: change dependencies used for logging
- replace log crate with tracing,
- replace simple-log crate with tracing-subscriber and tracing-appender
- add nu-ansi-term crate as a dependency which is itself tracing-subscriber's dependency,
  inorder to write colored outputs to the terminal since we override formatting provided
  by tracing-subscriber
2025-11-07 10:15:36 +03:00
skoupidi
d0c49d24d0 chore: updated sled-overlay to new version 2025-10-24 12:58:55 +03:00
skoupidi
3f033be9a7 drk/interactive: use a print queue instead of two way signal for background task 2025-10-15 14:55:49 +03:00
skoupidi
1de7bfec4a drk/interactive: scan and subscribe infra added 2025-10-15 14:55:49 +03:00
skoupidi
603ebe74f8 drk: introduced interactive shell infra 2025-10-15 14:55:49 +03:00
skoupidi
4eca3e248d drk: introduced sled cache 2025-10-15 14:54:37 +03:00
epiphany
d34113e8a5 fud, dht: add a PoW to fud for node ID generation
- The node ID is not stored on the disk anymore, it's generated when fud starts.

- PoW uses Equi-X (https://spec.torproject.org/hspow-spec/v1-equix.html), the challenge contains a recent BTC block hash because it's 1) unpredictable 2) known by all fud nodes 3) periodically updated 4) stable. Once the block you chose for your node ID is too old, you will generate another one with another keypair and block hash (or other nodes will exclude you from their DHT).

- BTC block hashes are fetched from the Electrum nodes defined in the config file (you can use tor/i2p nodes if you want).

- Equi-X challenge is `(public_key || btc_block_hash || nonce)`, a node ID is `Hash(equix_challenge || equix_solution)`. You must evaluate the PoW to get a valid node ID.

- The keypair is random and regenerated when you create a new node ID, it's only there so that you can sign messages.

- `Dht` and `DhtHandler` now have a generic parameter which is any struct implementing the `DhtNode` trait. It was not needed before because fud did not use any fud-specific fields for its node struct. All the PoW stuff is in `fud` and NOT in `dht`.

- `fud/src/equix.rs` does not depend on fud, we can move it elsewhere if we want to use Equi-X in another bin.

- `FudPingRequest` now includes a random u64, the other node must provide a signature of that u64 (along with other data, including the data making up its node ID) in its `FudPingReply`.
2025-08-21 23:05:06 +02:00
parazyd
fda2a84034 chore: Update dependencies 2025-08-05 09:41:05 +02:00
epiphany
c8ca15fc54 fu: handle downloaded bytes, download speed, eta 2025-07-30 17:10:30 +02:00
parazyd
2e2de47c69 v0.5.0 release 2025-06-06 13:50:10 +02:00
parazyd
46d815ace0 chore: Update crate deps and freeze RandomX git rev 2025-05-21 15:01:54 +02:00
epiphany
55e08ae605 fud, geode: chunks are written and fetched from the full file 2025-05-18 19:14:38 +02:00
skoupidi
61c4b831e3 chore: updated sled-overlay to new version 2025-05-17 19:10:01 +03:00
parazyd
e002530bb2 chore: Update packages to v0.5.0 2025-05-09 11:32:44 +02:00
parazyd
75444e21fa lib: Update crate version 2025-05-07 17:06:53 +02:00
skoupidi
ee0b139e45 script/research/powdata: moved into blockchain/monero 2025-05-07 10:32:39 +03:00
skoupidi
7656bde63b blockchain: contracts states checksums monotree(smt) added 2025-05-06 16:28:40 +03:00
parazyd
81f37b7b2a chore: Update crate dependencies 2025-05-03 10:35:40 +02:00
parazyd
790238e120 sdk: Implement barebones version of monotree (smt)
This is a Sparse Merkle Tree used for contract state proofs.
We only support in-memory storage and BLAKE3 as the hasher.

Implementation is taken and stripped down from the repository located at
<https://github.com/thyeem/monotree/> and is licensed under the MIT License.
2025-05-01 15:44:29 +02:00
skoupidi
c4f3b4eb11 chore: updated sled-overlay to new version 2025-04-25 14:47:40 +03:00
parazyd
c040d9c00f chore: Update crate dependencies 2025-04-15 10:49:43 +02:00
darkfi
ff112dd6c2 fud: add resource.rs, add fu watch, add fu rm, merge announcing task and pruning task 2025-04-11 16:03:17 +00:00
darkfi
f630e1cd7c fud: remove chunk seeders, change file hash, replace hex with bs58 2025-04-11 16:03:17 +00:00
darkfi
058faffa75 fud: add dht lookups & improvements 2025-04-11 16:03:17 +00:00
darkfi
e219954da2 fud, fu, geode: fixes & improvements 2025-04-11 16:03:17 +00:00
kalm
8c92599e67 darkfi: add thiserror to the explorerd package in Cargo.lock
This commit adds `thiserror 2.0.11` as a dependency to the `explorerd` package in the project's `Cargo.lock`.
2025-03-24 01:27:00 -07:00
parazyd
c7d9414bf2 runtime: Port to wasmer-6.0 2025-02-25 16:22:56 +01:00
parazyd
f5baac83cf chore: Update crate dependencies 2025-02-25 12:15:28 +01:00
parazyd
ee96346e4c net/connector: Allow socks5+tls with transport mixing 2025-02-25 12:10:43 +01:00
kalm
fcdfc3f1bb darkfi: update Cargo.lock to reflect updated explorerd package dependencies
This commit updates Cargo.lock to add the new `toml` dependency and remove the unused `drk` dependency for the explorerd package.
2025-02-24 06:11:24 -08:00
kalm
f852967618 explorer: move explorer source code from research to bin/explorer for project releases
This commit relocates the explorer code from the research directory to `bin/explorer` to include it as part of future releases.

### Summary of Updates:

#### Darkfi Project
- Updated `Cargo.toml` to include `bin/explorer/explorerd` as a workspace member
- Updated `Cargo.lock` to include the `explorerd` package
- Updated the `Makefile` to include `explorerd` in the build process

#### Explorer Daemon
- Renamed the project directory from `blockchain-explorer` to `explorer`
- Moved the explorer daemon source code to `bin/explorer/explorerd`
- Updated the cargo package name to `explorerd`
- Updated log statement targets from `blockchain-explorer::` to `explorerd::`
- Renamed the explorer configuration file to `explorerd_config.toml`
- Removed Halo2 patches as they are now included in the root package
- Changed default db_path to use explorerd instead of blockchain-explorer in the path
- Changed binary crate Arg structopt name from blockchain-explorer to explorerd

#### Explorer Site
- Moved the explorer site source code to `bin/explorer/site`
- Updated README.md to include new build instructions for explorerd
2025-02-18 03:49:44 -08:00
parazyd
2f55e8e09d chore: Update RandomX to 1.2.1 2025-02-18 11:11:40 +01:00
dasman
a4334bb53f tau: remove ring crate and use darkfi-sdk 2025-02-11 16:38:48 +03:00
parazyd
13620224c0 chore: Update crate dependencies 2025-02-09 10:32:33 +01:00
parazyd
b5d7c52191 chore: Update crate dependencies 2025-01-21 14:21:32 +01:00
skoupidi
ae0283b0b4 chore: pushed updated Cargo.lock 2025-01-16 18:03:27 +02:00
skoupidi
7739d8a40e blockchain: use sled-overlay record parsing functions 2024-12-03 15:27:10 +02:00
skoupidi
a51211c037 Cargo.toml: updated sled-overlay version 2024-12-02 15:08:01 +02:00
parazyd
61b9f538b8 rpc: Implement HTTP-based JSON-RPC server and client 2024-11-27 14:45:31 +01:00
zerin
adc9078c70 [src/sdk/python] upgrade pyo3 to 0.22.6 2024-11-13 18:36:29 +02:00
skoupidi
d753f8d700 blockchain: store each block db state diff 2024-10-15 21:24:24 +03:00
skoupidi
ea87f3767d chore: updated sled-overlay to new version 2024-10-15 18:18:29 +03:00
parazyd
7a3b554e0d chore: Use published darkfi-serial crate where applicable 2024-10-15 16:20:47 +02:00