Repository navigation
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 --helpThen 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) andconnect-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
ipfsbinary 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.jsonfrom the build machine.
Fixes
- Aggregator and auditor staking uses the requested amount (it always staked
MIN_STAKEbefore); buying DIN waits for the updated balance; optional password lookups are silent. dincli system configure-ipfsand other wallet-freesystemsubcommands no longer demand a connected wallet.
Requirements and docs
- Python 3.12 minimum;
clickdeclared 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.exampleadded. - 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 |