diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 649e9a1..e317b0e 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -3,6 +3,6 @@ This repository follows the DUCP project Code of Conduct: **be rigorous with ideas and respectful of people.** The canonical version is maintained in the spec repository: - + Report concerns to Pawan Singh — mr.singhpawan@gmail.com. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f3800a..84bf469 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,11 +1,11 @@ # Contributing to DUCP Node -Thanks for your interest in the DUCP reference implementation. This repository implements the protocol specified in [`ducp-protocol/spec`](https://github.com/ducp-protocol/spec). +Thanks for your interest in the DUCP reference implementation. This repository implements the protocol specified in [`ducp-protocol/ducp-spec`](https://github.com/ducp-protocol/ducp-spec). ## Before you start - Read the spec (white paper v0.1.0) and open an issue to discuss substantial work first. -- **Protocol-level** changes belong in the [spec repo's proposals](https://github.com/ducp-protocol/spec/tree/main/proposals), not here — this repository *implements* the spec, it does not *define* it. +- **Protocol-level** changes belong in the [spec repo's proposals](https://github.com/ducp-protocol/ducp-spec/tree/main/proposals), not here — this repository *implements* the spec, it does not *define* it. ## Workflow @@ -16,8 +16,8 @@ Thanks for your interest in the DUCP reference implementation. This repository i ## Contributor License Agreement -This repository is governed by the project's [DUCP CLA](https://github.com/ducp-protocol/spec/blob/main/CLA.md): contributions are accepted under the CLA, which assigns the contributed rights to the author and grants you a license back. You will be asked to agree before your first contribution is merged. +This repository is governed by the project's [DUCP CLA](https://github.com/ducp-protocol/ducp-spec/blob/main/CLA.md): contributions are accepted under the CLA, which assigns the contributed rights to the author and grants you a license back. You will be asked to agree before your first contribution is merged. ## Conduct & governance -All participation follows the [Code of Conduct](CODE_OF_CONDUCT.md). During the pre-1.0 phase the project is steered by its maintainer — see [GOVERNANCE](https://github.com/ducp-protocol/spec/blob/main/GOVERNANCE.md). +All participation follows the [Code of Conduct](CODE_OF_CONDUCT.md). During the pre-1.0 phase the project is steered by its maintainer — see [GOVERNANCE](https://github.com/ducp-protocol/ducp-spec/blob/main/GOVERNANCE.md). diff --git a/Cargo.toml b/Cargo.toml index 91dac4d..1253065 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ rust-version = "1.75" license = "BUSL-1.1" authors = ["Pawan Singh "] repository = "https://github.com/ducp-protocol/ducp-node-rs" -homepage = "https://github.com/ducp-protocol/spec" +homepage = "https://github.com/ducp-protocol/ducp-spec" [workspace.dependencies] # Internal crates (path-based; shared so member manifests stay terse). diff --git a/README.md b/README.md index 94cde02..658a207 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ The reference implementation of the **Decentralized Universal Compute Protocol ( ## What this is -A node implementation of the DUCP protocol. The protocol itself — the white paper, normative specification, and reference-node binding — lives in [`ducp-protocol/spec`](https://github.com/ducp-protocol/spec). This repository is the **reference implementation** for **DUCP-SPEC v0.2.0**, conforming to the pinned choices in [`spec/bindings/`](https://github.com/ducp-protocol/spec/tree/main/spec/bindings). +A node implementation of the DUCP protocol. The protocol itself — the white paper, normative specification, and reference-node binding — lives in [`ducp-protocol/ducp-spec`](https://github.com/ducp-protocol/ducp-spec). This repository is the **reference implementation** for **DUCP-SPEC v0.2.0**, conforming to the pinned choices in [`spec/bindings/`](https://github.com/ducp-protocol/ducp-spec/tree/main/spec/bindings). The reference-node binding pins the buildable choices — **WebAssembly** IR (wasmtime), **single-sequencer** devnet, **sampled re-execution** — while preserving every protocol invariant. The Quant (ℚ) efficiency observable is recorded as the reward-neutral **(𝕌, ℚ)** pair from genesis (ℚ null until energy attestation exists). @@ -90,11 +90,11 @@ Out of scope for this binding, each represented by a trait so it is additive lat ## Specification <-> implementation -This implementation pins to a specification version; the current target is **DUCP spec v0.2.0**. Anything that would change the protocol belongs first as a proposal in the [spec repo](https://github.com/ducp-protocol/spec/tree/main/proposals) — this repository implements the spec, it does not define it. +This implementation pins to a specification version; the current target is **DUCP spec v0.2.0**. Anything that would change the protocol belongs first as a proposal in the [ducp-spec repo](https://github.com/ducp-protocol/ducp-spec/tree/main/proposals) — this repository implements the spec, it does not define it. ## Contributing -Contributions are welcome under the project's Contributor License Agreement — see [CONTRIBUTING](CONTRIBUTING.md) and the [CLA](https://github.com/ducp-protocol/spec/blob/main/CLA.md). All participation follows the [Code of Conduct](CODE_OF_CONDUCT.md). +Contributions are welcome under the project's Contributor License Agreement — see [CONTRIBUTING](CONTRIBUTING.md) and the [CLA](https://github.com/ducp-protocol/ducp-spec/blob/main/CLA.md). All participation follows the [Code of Conduct](CODE_OF_CONDUCT.md). ## License diff --git a/crates/conformance/src/lib.rs b/crates/conformance/src/lib.rs index 0194ff7..eaf81c3 100644 --- a/crates/conformance/src/lib.rs +++ b/crates/conformance/src/lib.rs @@ -11,7 +11,7 @@ //! Regenerate the committed vector files with the generator binary: //! `cargo run -p ducp-conformance --bin gen-vectors`. //! -//! Specification: +//! Specification: use serde::{Deserialize, Serialize}; use std::path::PathBuf; diff --git a/crates/consensus/src/lib.rs b/crates/consensus/src/lib.rs index e898ab4..32fba8e 100644 --- a/crates/consensus/src/lib.rs +++ b/crates/consensus/src/lib.rs @@ -8,7 +8,7 @@ //! (spec/bindings/04 §6). A BFT engine is a later `impl ConsensusEngine` with //! no change to the ledger. //! -//! Specification: +//! Specification: //! Status: Reference implementation for DUCP-SPEC v0.2.0. use ducp_governance::Params; diff --git a/crates/ducp-types/src/lib.rs b/crates/ducp-types/src/lib.rs index 2f66740..ea5bf8b 100644 --- a/crates/ducp-types/src/lib.rs +++ b/crates/ducp-types/src/lib.rs @@ -3,8 +3,8 @@ //! Canonical DUCP data model shared by every conforming node — identifiers, tasks, //! on-ledger records, transactions, blocks, and the **Quant (ℚ)** efficiency //! observable. Field shapes and encodings follow the reference-node binding specification -//! ([`spec/bindings/01`](https://github.com/ducp-protocol/spec)) and -//! [`spec/09`](https://github.com/ducp-protocol/spec) (DP-0001). +//! ([`spec/bindings/01`](https://github.com/ducp-protocol/ducp-spec)) and +//! [`spec/09`](https://github.com/ducp-protocol/ducp-spec) (DP-0001). //! //! ## Encoding & hashing (spec/bindings/01 §1) //! - **Canonical bytes**: `borsh`, fields in declaration order; no floats in any @@ -15,7 +15,7 @@ //! - **Wire form** (JSON-RPC): binary as hex strings, amounts as decimal strings //! (see the `serde(with = ...)` field attributes). //! -//! Specification: +//! Specification: //! Status: Reference implementation for DUCP-SPEC v0.2.0. use borsh::{BorshDeserialize, BorshSerialize}; diff --git a/crates/dvm/src/lib.rs b/crates/dvm/src/lib.rs index f1ec7b3..d64b646 100644 --- a/crates/dvm/src/lib.rs +++ b/crates/dvm/src/lib.rs @@ -10,7 +10,7 @@ //! same `{module, input, benchmark}`, every conforming DVM MUST produce the //! identical `output`, `result_hash`, and `ucu_count`. //! -//! Specification: +//! Specification: //! Status: Reference implementation for DUCP-SPEC v0.2.0. use borsh::{BorshDeserialize, BorshSerialize}; diff --git a/crates/governance/src/lib.rs b/crates/governance/src/lib.rs index 3b0fed0..a6612c3 100644 --- a/crates/governance/src/lib.rs +++ b/crates/governance/src/lib.rs @@ -8,7 +8,7 @@ //! All rates are expressed in **parts-per-million** (ppm) so every computation is //! exact integer arithmetic — no floats anywhere on a consensus path. //! -//! Specification: +//! Specification: //! Status: Reference implementation for DUCP-SPEC v0.2.0. use ducp_types::{Sp, Ucu, UCU_SCALE}; diff --git a/crates/ledger/src/lib.rs b/crates/ledger/src/lib.rs index b7a5834..a8a8d0f 100644 --- a/crates/ledger/src/lib.rs +++ b/crates/ledger/src/lib.rs @@ -12,7 +12,7 @@ //! Conservation (`I-LEDGER-CONSERVE`): after every transition, //! `Σ(balance + escrowed + bonded) + fee_pool == minted − burned`. //! -//! Specification: +//! Specification: //! Status: Reference implementation for DUCP-SPEC v0.2.0. use borsh::{BorshDeserialize, BorshSerialize}; diff --git a/crates/verification/src/lib.rs b/crates/verification/src/lib.rs index 439b38a..8920cf0 100644 --- a/crates/verification/src/lib.rs +++ b/crates/verification/src/lib.rs @@ -11,7 +11,7 @@ //! with no change to the proof path. Verifiers validate attestations as evidence — //! they never re-measure energy (`I-VERIFY-RUNONCE`). //! -//! Specification: +//! Specification: //! Status: Reference implementation for DUCP-SPEC v0.2.0. use ducp_dvm::{Benchmark, Dvm}; diff --git a/ducp-node/src/lib.rs b/ducp-node/src/lib.rs index 4e72431..1cb33fc 100644 --- a/ducp-node/src/lib.rs +++ b/ducp-node/src/lib.rs @@ -9,7 +9,7 @@ //! //! "node" means a *network participant*; it is unrelated to Node.js. //! -//! Specification: +//! Specification: //! Status: Reference implementation for DUCP-SPEC v0.2.0. use std::collections::BTreeMap; diff --git a/ducp-node/src/main.rs b/ducp-node/src/main.rs index c00aab4..12a1934 100644 --- a/ducp-node/src/main.rs +++ b/ducp-node/src/main.rs @@ -4,7 +4,7 @@ //! the software you run to take part in DUCP (as a Provider, Validator, and so on). //! It is unrelated to Node.js and contains no JavaScript. //! -//! Specification: +//! Specification: //! Status: Reference node for DUCP-SPEC v0.2.0 (reference-node binding). use std::net::SocketAddr;