zkFMI
日本語

Get started

Everything is Rust with checked-in lock files. Library tests run anywhere Rust does. The network gates need Linux, an explicitly supplied AvalancheGo, and for the MPC paths an official MP-SPDZ checkout. The scripts never download an external binary for you.

Clone and test

git clone https://github.com/zkFMI/defmi.git
cd defmi/rust
cargo test -j 4 --locked --workspace

The same command works in zkpi and qomm. The standalone crates use the four-gate form:

git clone https://github.com/zkFMI/dekyx.git   # or deccp, aethel
cd dekyx
cargo test --workspace --locked
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo fmt --all -- --check
cargo build --workspace --release --locked

There is no rust-toolchain.toml; record rustc --version at the start of an evaluation and pin it across build machines. The integration Docker build currently references Rust 1.97.1.

Check the instruction vectors

zkpi-verify --check-vectors artifacts/zkpi_vectors
zkpi-verify --self-test

Two library packages (qomm-proofs, qomm-transport) and one binary (qomm-avalanche-vm) keep the historical qomm- prefix; every other package now carries its layer name. The commands on this page are the ones that run today.

Exit 0 accepts, 1 rejects, 2 could not be asked. The accepted vector must decode and re-encode to the same bytes. Regenerate vectors with --vectors <dir> only when the format changes, never because a check disagreed.

Run the five-validator L1 gate

From defmi/, with AvalancheGo and avalanche-network-runner supplied at approved versions:

cargo build --release --manifest-path rust/Cargo.toml -p defmi-avalanche-vm -p defmi-harness
# launchers and configuration under avalanche/defmivm/
cargo run --release --manifest-path rust/Cargo.toml -p defmi-harness --bin run_avalanche_l1_acceptance

The run writes artifacts/avalanche_l1_acceptance.json. The enterprise PoC guide (Japanese) walks through pinning sources, building the VM, launching the network, the trade scenarios, the QOMM path with no extra signature, the mandatory rejection and fault tests, the evidence to retain, and the pass criteria, then continues into hardware sizing, process separation, network design, genesis, key management, backup, monitoring and fault injection for a company-run evaluation.

Try the QOMM seat demo

cd qomm
cargo run -j 4 --release --manifest-path rust/Cargo.toml -p qomm-harness --bin serve_demo
# then hand out seats:
#   http://<host>:8800/?seat=taker
#   http://<host>:8800/?seat=maker:1&label=Ann
#   http://<host>:8800/?seat=node:3&label=Rin
#   http://<host>:8800/?seat=observer

Each browser is sent only what its role would see. The observer seat shows everything and says on every frame that it is a view no deployment has.

Run the OCLOB gates

OCLOB builds and tests only inside a Linux container on a remote host; the Makefile ships the source there.

make release-gate REMOTE_TEST_HOST=<linux-host> REMOTE_TEST_REUSE_IMAGE=0
make remote-distributed-e2e REMOTE_TEST_HOST=<linux-host>
make remote-integrated-e2e  REMOTE_TEST_HOST=<linux-host>

Results land in artifacts/oclob_rough_e2e.json, oclob_distributed_e2e.json and oclob_distributed_avalanche_acceptance.json, each carrying its own non_claims and privacy_boundary fields.

Regenerate a document from its artifacts

cd defmi
make defmi-doc      # DEFMI.md from artifacts/*.json; no number typed by hand
cd ../qomm
make audit-doc      # AUDIT.md likewise

Enterprise PoC guides

  • DeFMI: installation, role separation, failure cases, evidence, acceptance, and 41 sections of operational guidance.
  • QOMM, DeKYX, DeCCP, Aethel, OCLOB.

All are in Japanese. They assume synthetic assets, disposable keys and a network not exposed to the internet, and they say which evidence to keep so that a later auditor can check the run rather than take the word for it.

License

MIT across all seven repositories. Third-party notices are carried where vendored code requires them.