Skip to content

dincli 0.2.0 — DevNet 1.0

Latest

Choose a tag to compare

@umeradl umeradl released this 26 Oct 06:51
f687d96

dincli 0.2.0 is the command-line client for DevNet 1.0, the InfiniteZero / DIN Protocol federated-learning network running on Optimism Sepolia (chain ID 11155420). It works with the contracts currently deployed there; the contracts themselves are unchanged in this release.

The P3 work on develop (validator staking, slashing, rewards, emission) targets a new contract set that is not deployed yet. It will ship in a later release together with that deployment.

Install

Python 3.12 or newer is required.

pip install https://github.com/InfiniteZeroFoundation/DevNet/releases/download/v0.2.0/dincli-0.2.0-py3-none-any.whl
dincli --help

Then follow the setup guide and getting started.

What's new since 0.1.0 (April 2026 DevNet 1.0 launch)

New commands

  • dincli system bridge-eth: deposit ETH from Ethereum Sepolia to the same address on OP Sepolia (deposits only), for self-funding when OP Sepolia faucets are gated.
  • dincli dintoken read-din-per-eth: read the coordinator's current ETH→DIN rate before buying DIN.
  • Wallet setup is split into connect-wallet (your own key, always stored encrypted) and connect-demo-wallet (well-known local dev keys only). Each refuses to run in the wrong mode, and demo mode now defaults to off.

Security and reliability

  • Files downloaded from IPFS are verified against their CID when a local ipfs binary is available (best effort; skipped with a warning otherwise).
  • The RPC endpoint's chain ID is checked on every connection, so a misconfigured RPC URL can't send transactions to the wrong chain.
  • IPFS retrieval endpoint handling fixed, with an opt-in public-gateway fallback; Filebase is now the recommended provider; a crash with no provider configured is fixed.
  • The package no longer bundles dincli/config/accounts.json from the build machine.

Fixes

  • Aggregator and auditor staking uses the requested amount (it always staked MIN_STAKE before); buying DIN waits for the updated balance; optional password lookups are silent.
  • dincli system configure-ipfs and other wallet-free system subcommands no longer demand a connected wallet.

Requirements and docs

  • Python 3.12 minimum; click declared as an explicit dependency.
  • The example model (cache_model_0) ships separate CPU and CUDA requirements files.
  • Setup guide rewritten for the wallet split, IPFS providers and bridging; .env.example added.
  • Need test ETH? Ask in the Faucet discussion. Stuck? Post in bugs & installation troubleshooting.

DevNet 1.0 contracts (OP Sepolia)

Contract Address
DinCoordinator 0xC5B5B125dcF5d51190f78e2685F7Bc97923Ad46a
DinToken 0x22d38a1965d35478941060dbf39847f36AD443d6
DinValidatorStake 0x5088D7a568E79c6bec0795258591f2435649139a
DinModelRegistry 0xFd2A91E787b4bAa35F83aB63748d01eaa5214Ec6

Contributors

@umeradl, @Santiagocetran, @abrahamnash, @walkonwayvs

Assets

File SHA-256
dincli-0.2.0-py3-none-any.whl d43456fbe2d6b47d003eb44df88a6905c4b4ae61c9a65e45beeff96c05f08157
dincli-0.2.0.tar.gz 9d18cff7cc0bfff7f28e7856416ff315fbc3e31c39bd8b5de00c461a05685846