Commit Graph

577 Commits

Author SHA1 Message Date
skoupidi
346a3517bd chore: updated sled-overlay to new version 2025-12-22 15:36:52 +02:00
skoupidi
82ac85872c chore: updated sled-overlay to new version 2025-12-22 14:37:17 +02:00
skoupidi
940418cabc validator/pow: use optimized vm hashing api and an atomic nonce to ensure sequential nonce mining 2025-12-11 15:54:49 +02:00
skoupidi
9d2683fc6f validator/pow: properly initialize the dataset with all available threads 2025-12-10 17:28:49 +02:00
x
06a3538261 sdk/keypair: Extend for future addr support 2025-12-10 15:17:15 +00:00
skoupidi
5155425c19 minerd: cache current randomx key vms and pregenerate next ones in background 2025-12-03 14:58:19 +02:00
skoupidi
9b141f3fcb minerd: changed comms logic so it polls darkfid for new mining jobs 2025-11-29 17:41:00 +02:00
skoupidi
85f52088b7 validator/pow: removed redundant x86 features checks 2025-11-26 18:56:01 +02:00
skoupidi
a80800aac8 validator/pow: multithreaded mining fixed 2025-11-24 15:34:40 +02:00
x
aa537b9e4b chore: Update crate dependencies 2025-11-24 12:12:14 +02:00
x
95a8319007 darkfid: Monero Merge Mining 2025-11-24 12:12:14 +02:00
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