587 Commits

Author SHA1 Message Date
x
d18de935ac sdk/python: Update to latest pyo3 2026-01-01 19:48:04 +00:00
x
fcdf5ee488 chore: Update crate dependencies 2026-01-01 19:48:04 +00:00
x
ed9be657ab serial: Bring it back home 2026-01-01 19:48:04 +00:00
x
500f0c2891 chore: Unify all halo2 deps to be exact
We should still figure out what to do before publishing darkfi-sdk to
crates.io since it probably can't reference a git version.

This might imply publishing our halo2 fork as well, probably under
halo2-darkfi namespace.
2025-12-31 16:54:04 +00:00
x
c3e227adf1 net/tls: Port code to latest rcgen version 2025-12-25 12:55:19 +00:00
x
add9bb596c chore: Update crate dependencies 2025-12-25 12:22:56 +00:00
x
51ec47e20c chore: Disable minerd from building before removal 2025-12-24 17:56:20 +00:00
skoupidi
5d47358902 chore: updated sled-overlay to new version 2025-12-24 14:01:20 +02:00
x
f2363a806b minerd: Add Linux MSR operations impl 2025-12-23 10:39:43 +00:00
skoupidi
5d9bfe7507 chore: updated sled-overlay to new version 2025-12-22 16:09:09 +02:00
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