{"id":22072553,"url":"https://github.com/broxus/everscale-network","last_synced_at":"2025-03-04T10:09:49.256Z","repository":{"id":48089182,"uuid":"371665237","full_name":"broxus/everscale-network","owner":"broxus","description":"Implementation of the network part of the Everscale blockchain.","archived":false,"fork":false,"pushed_at":"2024-08-29T12:42:08.000Z","size":648,"stargazers_count":15,"open_issues_count":1,"forks_count":9,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-02-25T09:15:47.362Z","etag":null,"topics":["adnl","blockchain","dht","everscale","overlay","protocol","rldp","venom-blockchain","venom-developer-program","venom-network"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/broxus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-28T10:32:12.000Z","updated_at":"2024-10-19T14:01:58.000Z","dependencies_parsed_at":"2024-08-29T14:09:31.046Z","dependency_job_id":"eb6b525b-50c7-4bf5-93e4-bb16936107a3","html_url":"https://github.com/broxus/everscale-network","commit_stats":{"total_commits":216,"total_committers":3,"mean_commits":72.0,"dds":0.01851851851851849,"last_synced_commit":"12d04dd670a3d38628775e6d9665ef1b131ac2a6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Feverscale-network","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Feverscale-network/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Feverscale-network/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Feverscale-network/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/broxus","download_url":"https://codeload.github.com/broxus/everscale-network/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241827113,"owners_count":20026601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adnl","blockchain","dht","everscale","overlay","protocol","rldp","venom-blockchain","venom-developer-program","venom-network"],"created_at":"2024-11-30T21:13:40.749Z","updated_at":"2025-03-04T10:09:49.084Z","avatar_url":"https://github.com/broxus.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/venom-blockchain/developer-program\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/venom-blockchain/developer-program/main/vf-dev-program.png\" alt=\"Logo\" width=\"366.8\" height=\"146.4\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# everscale-network \u0026emsp; [![Latest Version]][crates.io] [![Workflow badge]][workflow] [![License Apache badge]][license apache] [![Docs badge]][docs]\n\n## Table of Contents\n\n- [About](#about)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n\n## About\n\nImplementation of the network part of the Everscale blockchain.\n\n### Network stack\n\n```text\n           ┌─────────────────────┐\n           │            Overlay  │ - Overlay: Virtual subnetwork\n┌──────────┼──────────┐          │ - DHT: Kademlia-like Distributed Hash Table\n│    DHT   │   RLDP   │          │ - RLDP: Reliable Large Datagram Protocol\n├──────────┴──────────┴──────────┤\n│              ADNL              │ - ADNL: Abstract Data Network Layer\n├────────────────────────────────┤\n│              UDP               │ - underlying transport protocol\n└────────────────────────────────┘\n```\n\n## Usage\n\n```bash\ncargo add everscale-network\n```\n\n```rust\nuse anyhow::Result;\nuse everscale_network::{adnl, NetworkBuilder};\nuse tl_proto::{TlRead, TlWrite};\n\n#[derive(TlWrite, TlRead)]\n#[tl(boxed, id = 0x11223344)]\nstruct MyCustomData {\n    counter: u32,\n}\n\nasync fn example() -\u003e Result\u003c()\u003e {\n    const DHT_KEY_TAG: usize = 0;\n    // Create and fill keystore\n    let keystore = adnl::Keystore::builder()\n        .with_tagged_key([1u8; 32], DHT_KEY_TAG)?\n        .build();\n\n    // Create basic network parts\n    // NOTE: our ip address must be accessible from other peers\n    let (_adnl, dht) = NetworkBuilder::with_adnl(\"1.2.3.4:10000\", keystore, Default::default())\n        .with_dht(DHT_KEY_TAG, Default::default())\n        .build()?;\n\n    // Store some data in DHT\n    let stored = dht\n        .entry(dht.key().id(), \"some_value\")\n        .with_data(MyCustomData { counter: 0 })\n        .with_ttl(3600)\n        .sign_and_store(dht.key())?\n        .then_check(|_, MyCustomData { counter }| Ok(counter == 0))\n        .await?;\n    assert!(stored);\n\n    Ok(())\n}\n```\n\nFor more information you can check the [docs](https://docs.rs/everscale-network) or the [examples](https://github.com/broxus/everscale-network/tree/master/examples).\n\n### Minimum Rust version\n\nThe current minimum required Rust version is `1.64.0`.\n\n## Contributing\n\nWe welcome contributions to the project! If you notice any issues or errors, feel free to open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the [License Apache].\n\n[latest version]: https://img.shields.io/crates/v/everscale-network.svg\n[crates.io]: https://crates.io/crates/everscale-network\n[workflow badge]: https://img.shields.io/github/actions/workflow/status/broxus/everscale-network/master.yml?branch=master\n[workflow]: https://github.com/broxus/everscale-network/actions?query=workflow%3Amaster\n[license apache badge]: https://img.shields.io/github/license/broxus/everscale-network\n[license apache]: https://opensource.org/licenses/Apache-2.0\n[docs badge]: https://docs.rs/everscale-network/badge.svg\n[docs]: https://docs.rs/everscale-network\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroxus%2Feverscale-network","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbroxus%2Feverscale-network","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroxus%2Feverscale-network/lists"}