golem-node


Namegolem-node JSON
Version 0.16.0 PyPI version JSON
download
home_pagehttps://github.com/golemfactory/yagna/core/serv
Summarygolem-node
upload_time2024-08-29 06:31:04
maintainerNone
docs_urlNone
authorGolem Factory <contact@golem.network>
requires_python>=3.7
licenseGPL-3.0
keywords golem
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## Golem

Official Rust implementation of Golem. Golem is a network of nodes that implement the Golem Network protocol. We provide the default implementation of such a node in the form of the Golem daemon, Yagna.

<h5 align="center">
  <a href='https://golem.network/'><img
      width='500px'
      alt=''
      src="https://user-images.githubusercontent.com/35585644/111472751-939f5100-872a-11eb-8c26-926117080e35.png" /></a>
  <br/>A flexible, open-source platform for democratised access to digital resources.
</a>
</h5>

</p>
<p align="center">
    <a href="https://github.com/golemfactory/yagna/workflows/CI/badge.svg" alt="CI">
        <img src="https://github.com/golemfactory/yagna/workflows/CI/badge.svg" /></a>
    <a href="https://github.com/golemfactory/yagna/watchers" alt="Watch on GitHub">
        <img src="https://img.shields.io/github/watchers/golemfactory/yagna.svg?style=social" /></a>
    <a href="https://github.com/golemfactory/yagna/stargazers" alt="Star on GitHub">
        <img src="https://img.shields.io/github/stars/golemfactory/yagna.svg?style=social" /></a>
    <a href="https://discord.com/invite/golem" alt="Discord">
        <img src="https://img.shields.io/discord/684703559954333727?logo=discord" /></a>
    <a href="https://twitter.com/golemproject" alt="Twitter">
        <img src="https://img.shields.io/twitter/follow/golemproject?style=social" /></a>
    <a href="https://reddit.com/r/GolemProject" alt="Reddit">
        <img src="https://img.shields.io/reddit/subreddit-subscribers/GolemProject?style=social" /></a>
</p>

Golem Network has officially gone on Ethereum Mainnet with the [Beta I release](https://blog.golemproject.net/mainnet-release-beta-i/) in March 2021.

Golem democratizes society’s access to computing power by creating a decentralized platform where anyone can build a variety of applications, request computational resources and/or offer their idle systems in exchange for cryptocurrency tokens (GLM). The actors in this decentralized network can assume one of the three non-exclusive roles:

* **Requestor**
Has a need to use IT resources such as computation hardware. Those resources are purchased in the decentralized market. The actual usage of the resources is backed by Golem's decentralized infrastructure.

* **Provider**
Has IT resources available that can be shared with other actors in the network. Those resources are sold in the decentralized market.

* **Developer**
Builds applications to run for requestors on the network. Golem's potential goes much beyond a singular application. See [Awesome Golem](https://github.com/golemfactory/awesome-golem/blob/main/README.md#%EF%B8%8F-apps) for just a taste of the various types of applications that can be built and run on Golem!

## Documentation
For a more in-depth look at how Golem works, head over to our [documentation.](https://docs.golem.network/)

## Project Layout

* [agent/provider](agent/provider) - provider agent implementation based on core services.
* [core](core) - core services for the open computation marketplace.
* [exe-unit](exe-unit) -  ExeUnit Supervisor - a common part of all [runtimes](#runtimes) for yagna.
* [test-utils](test-utils) - some helpers for testing purposes
* [utils](utils) - trash bin for all other stuff ;)
* [docs](docs) - project documentation including analysis and specifications.

## Public API
The public API rust binding with data model is in the 
[ya-client](https://github.com/golemfactory/ya-client) repo.

## High Level APIs
The public high-level API for Python is in 
[yapapi](https://github.com/golemfactory/yapapi) repo and the JS/TS port is contained in the [@golem-sdk/golem-js](https://github.com/golemfactory/golem-js) repo.

## Runtimes
We call our runtime **ExeUnit**. As for now we support
 * [Light VM](https://github.com/golemfactory/ya-runtime-vm) - [QEMU](https://www.qemu.org/)\-based ExeUnit.
 * and WASM in two flavours:
   * [wasmtime](https://github.com/golemfactory/ya-runtime-wasi) - [Wasmtime](https://github.com/bytecodealliance/wasmtime)\-based ExeUnit.
   * [emscripten](https://github.com/golemfactory/ya-runtime-emscripten) - [SpiderMonkey](https://github.com/servo/rust-mozjs)\-based ExeUnit.

Other ExeUnit types are to come (see below).

## Golem Beta Release(s)
Important milestones for Golem development were [Beta I](https://github.com/golemfactory/yagna/releases/tag/v0.6.1) and most recent [Beta II](https://github.com/golemfactory/yagna/releases/tag/v0.7.0). With those releases we have delivered:
* MVP (minimum viable product), though not feature rich yet, it is usable for early adopters
* Clean and easy experience for new and existing users.
* Support for GLM payments (both L1 & L2 on Ethereum Mainnet)
* **Production-ready** and **easy to maintain** code base.
* **Modular architecture** with all the building blocks being replaceable.
* Small binaries (under 30Mb).
* [Documentation and SDK](https://docs.golem.network/) for Golem app developers.

## List of implemented and planned functionality 

1. Distributed computations
    * [x] **Batching**
    * [x] Services _(PoC stage)_
1. Computational environment (aka ExeUnit)
   * [x] **Wasm computation**
   * [x] Light vm-s
   * [ ] Docker on Linux _(optional)_
   * [x] SGX on Graphene _(PoC stage)_
1. Payment platform
    * [x] **Payments with GLM**
    * [x] [**ERC20 token**](https://blog.golemproject.net/gnt-to-glm-migration/)
    * [x] **Layer 1 & [Layer 2](https://blog.golemproject.net/new-golem-alpha-iii-reveal/) transactions**
    * [ ] Payment matching _(optional)_ (Ability for the invoice issuer to match the payment with Debit Note(s)/Invoice(s)).
1. Transaction system
    * [x] **Pay as you go(lem)** ([see more](https://blog.golemproject.net/pay-as-you-use-golem-a-brief-but-effective-primer/))
    * [x] **Pay per task**
    * [ ] Pay for dev _(optional)_
1. Network
    * [ ] **P2P** (Hybrid P2P; in progress) 
    * [ ] **Ability to work behind NAT** (Relays; in progress)
1. Verification
    * [ ] **Verification by redundancy** ([see also](https://blog.golemproject.net/gwasm-verification/))
    * [x] **No verification**
    * [ ] Verification by humans _(optional)_

## Road ahead

We are actively working on improving Yagna and extending its functionality, check upcoming releases and other news on [our blog](https://blog.golem.network/).



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/golemfactory/yagna/core/serv",
    "name": "golem-node",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "Golem",
    "author": "Golem Factory <contact@golem.network>",
    "author_email": "Golem Factory <contact@golem.network>",
    "download_url": null,
    "platform": null,
    "description": "## Golem\n\nOfficial Rust implementation of Golem. Golem is a network of nodes that implement the Golem Network protocol. We provide the default implementation of such a node in the form of the Golem daemon, Yagna.\n\n<h5 align=\"center\">\n  <a href='https://golem.network/'><img\n      width='500px'\n      alt=''\n      src=\"https://user-images.githubusercontent.com/35585644/111472751-939f5100-872a-11eb-8c26-926117080e35.png\" /></a>\n  <br/>A flexible, open-source platform for democratised access to digital resources.\n</a>\n</h5>\n\n</p>\n<p align=\"center\">\n    <a href=\"https://github.com/golemfactory/yagna/workflows/CI/badge.svg\" alt=\"CI\">\n        <img src=\"https://github.com/golemfactory/yagna/workflows/CI/badge.svg\" /></a>\n    <a href=\"https://github.com/golemfactory/yagna/watchers\" alt=\"Watch on GitHub\">\n        <img src=\"https://img.shields.io/github/watchers/golemfactory/yagna.svg?style=social\" /></a>\n    <a href=\"https://github.com/golemfactory/yagna/stargazers\" alt=\"Star on GitHub\">\n        <img src=\"https://img.shields.io/github/stars/golemfactory/yagna.svg?style=social\" /></a>\n    <a href=\"https://discord.com/invite/golem\" alt=\"Discord\">\n        <img src=\"https://img.shields.io/discord/684703559954333727?logo=discord\" /></a>\n    <a href=\"https://twitter.com/golemproject\" alt=\"Twitter\">\n        <img src=\"https://img.shields.io/twitter/follow/golemproject?style=social\" /></a>\n    <a href=\"https://reddit.com/r/GolemProject\" alt=\"Reddit\">\n        <img src=\"https://img.shields.io/reddit/subreddit-subscribers/GolemProject?style=social\" /></a>\n</p>\n\nGolem Network has officially gone on Ethereum Mainnet with the [Beta I release](https://blog.golemproject.net/mainnet-release-beta-i/) in March 2021.\n\nGolem democratizes society\u2019s access to computing power by creating a decentralized platform where anyone can build a variety of applications, request computational resources and/or offer their idle systems in exchange for cryptocurrency tokens (GLM). The actors in this decentralized network can assume one of the three non-exclusive roles:\n\n* **Requestor**\nHas a need to use IT resources such as computation hardware. Those resources are purchased in the decentralized market. The actual usage of the resources is backed by Golem's decentralized infrastructure.\n\n* **Provider**\nHas IT resources available that can be shared with other actors in the network. Those resources are sold in the decentralized market.\n\n* **Developer**\nBuilds applications to run for requestors on the network. Golem's potential goes much beyond a singular application. See [Awesome Golem](https://github.com/golemfactory/awesome-golem/blob/main/README.md#%EF%B8%8F-apps) for just a taste of the various types of applications that can be built and run on Golem!\n\n## Documentation\nFor a more in-depth look at how Golem works, head over to our [documentation.](https://docs.golem.network/)\n\n## Project Layout\n\n* [agent/provider](agent/provider) - provider agent implementation based on core services.\n* [core](core) - core services for the open computation marketplace.\n* [exe-unit](exe-unit) -  ExeUnit Supervisor - a common part of all [runtimes](#runtimes) for yagna.\n* [test-utils](test-utils) - some helpers for testing purposes\n* [utils](utils) - trash bin for all other stuff ;)\n* [docs](docs) - project documentation including analysis and specifications.\n\n## Public API\nThe public API rust binding with data model is in the \n[ya-client](https://github.com/golemfactory/ya-client) repo.\n\n## High Level APIs\nThe public high-level API for Python is in \n[yapapi](https://github.com/golemfactory/yapapi) repo and the JS/TS port is contained in the [@golem-sdk/golem-js](https://github.com/golemfactory/golem-js) repo.\n\n## Runtimes\nWe call our runtime **ExeUnit**. As for now we support\n * [Light VM](https://github.com/golemfactory/ya-runtime-vm) - [QEMU](https://www.qemu.org/)\\-based ExeUnit.\n * and WASM in two flavours:\n   * [wasmtime](https://github.com/golemfactory/ya-runtime-wasi) - [Wasmtime](https://github.com/bytecodealliance/wasmtime)\\-based ExeUnit.\n   * [emscripten](https://github.com/golemfactory/ya-runtime-emscripten) - [SpiderMonkey](https://github.com/servo/rust-mozjs)\\-based ExeUnit.\n\nOther ExeUnit types are to come (see below).\n\n## Golem Beta Release(s)\nImportant milestones for Golem development were [Beta I](https://github.com/golemfactory/yagna/releases/tag/v0.6.1) and most recent [Beta II](https://github.com/golemfactory/yagna/releases/tag/v0.7.0). With those releases we have delivered:\n* MVP (minimum viable product), though not feature rich yet, it is usable for early adopters\n* Clean and easy experience for new and existing users.\n* Support for GLM payments (both L1 & L2 on Ethereum Mainnet)\n* **Production-ready** and **easy to maintain** code base.\n* **Modular architecture** with all the building blocks being replaceable.\n* Small binaries (under 30Mb).\n* [Documentation and SDK](https://docs.golem.network/) for Golem app developers.\n\n## List of implemented and planned functionality \n\n1. Distributed computations\n    * [x] **Batching**\n    * [x] Services _(PoC stage)_\n1. Computational environment (aka ExeUnit)\n   * [x] **Wasm computation**\n   * [x] Light vm-s\n   * [ ] Docker on Linux _(optional)_\n   * [x] SGX on Graphene _(PoC stage)_\n1. Payment platform\n    * [x] **Payments with GLM**\n    * [x] [**ERC20 token**](https://blog.golemproject.net/gnt-to-glm-migration/)\n    * [x] **Layer 1 & [Layer 2](https://blog.golemproject.net/new-golem-alpha-iii-reveal/) transactions**\n    * [ ] Payment matching _(optional)_ (Ability for the invoice issuer to match the payment with Debit Note(s)/Invoice(s)).\n1. Transaction system\n    * [x] **Pay as you go(lem)** ([see more](https://blog.golemproject.net/pay-as-you-use-golem-a-brief-but-effective-primer/))\n    * [x] **Pay per task**\n    * [ ] Pay for dev _(optional)_\n1. Network\n    * [ ] **P2P** (Hybrid P2P; in progress) \n    * [ ] **Ability to work behind NAT** (Relays; in progress)\n1. Verification\n    * [ ] **Verification by redundancy** ([see also](https://blog.golemproject.net/gwasm-verification/))\n    * [x] **No verification**\n    * [ ] Verification by humans _(optional)_\n\n## Road ahead\n\nWe are actively working on improving Yagna and extending its functionality, check upcoming releases and other news on [our blog](https://blog.golem.network/).\n\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "golem-node",
    "version": "0.16.0",
    "project_urls": {
        "Homepage": "https://github.com/golemfactory/yagna/core/serv",
        "repository": "https://github.com/golemfactory/yagna"
    },
    "split_keywords": [
        "golem"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67dad4d5a534a4e9620312fc69d857cc4090af6089aeb6dcb2e748da12ba7486",
                "md5": "09c1849d89da6c75ded73d1bb9659a55",
                "sha256": "9eeb6a7ae3c5d3c2e4c0d4322ba4fea204a968c681adce1965197ba00e131dce"
            },
            "downloads": -1,
            "filename": "golem_node-0.16.0-py3-none-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "09c1849d89da6c75ded73d1bb9659a55",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 18671565,
            "upload_time": "2024-08-29T06:31:04",
            "upload_time_iso_8601": "2024-08-29T06:31:04.801077Z",
            "url": "https://files.pythonhosted.org/packages/67/da/d4d5a534a4e9620312fc69d857cc4090af6089aeb6dcb2e748da12ba7486/golem_node-0.16.0-py3-none-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12b3746b4fb3c359bbc7fc2f18dc8427216e8d91a2b0a996d0d942637caf56ed",
                "md5": "d2f72026169ea2bf044fc69e0e8df8e3",
                "sha256": "f3a3c1432add8d62a2885311b26192e178cb0440b7fcdb19a890524087b0fc16"
            },
            "downloads": -1,
            "filename": "golem_node-0.16.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d2f72026169ea2bf044fc69e0e8df8e3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 19625835,
            "upload_time": "2024-08-29T06:31:06",
            "upload_time_iso_8601": "2024-08-29T06:31:06.892388Z",
            "url": "https://files.pythonhosted.org/packages/12/b3/746b4fb3c359bbc7fc2f18dc8427216e8d91a2b0a996d0d942637caf56ed/golem_node-0.16.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c846076c1eede07976e599ce5496ae08e5ff00bae958efb966eb5eb261bf29c1",
                "md5": "b3682093cd4c74a1c1b9e5dc02b9056b",
                "sha256": "8558e198469a25006886d1493e29880482977ac581d951c272eaeec70cd516c8"
            },
            "downloads": -1,
            "filename": "golem_node-0.16.0-py3-none-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b3682093cd4c74a1c1b9e5dc02b9056b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 20513339,
            "upload_time": "2024-08-29T06:30:53",
            "upload_time_iso_8601": "2024-08-29T06:30:53.280798Z",
            "url": "https://files.pythonhosted.org/packages/c8/46/076c1eede07976e599ce5496ae08e5ff00bae958efb966eb5eb261bf29c1/golem_node-0.16.0-py3-none-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "607363ccf8043487fb6429fb86d9f98aef881eae171a0289d89a3f73f32d182b",
                "md5": "8acdde4860a0c337ef0e6f5d2d595645",
                "sha256": "f3614f7b2cdd0e43573e5e2b75e8bb1aa225805e6351cb94a0ed215abd9f69d2"
            },
            "downloads": -1,
            "filename": "golem_node-0.16.0-py3-none-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8acdde4860a0c337ef0e6f5d2d595645",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 20579525,
            "upload_time": "2024-08-29T06:31:12",
            "upload_time_iso_8601": "2024-08-29T06:31:12.446513Z",
            "url": "https://files.pythonhosted.org/packages/60/73/63ccf8043487fb6429fb86d9f98aef881eae171a0289d89a3f73f32d182b/golem_node-0.16.0-py3-none-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-29 06:31:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "golemfactory",
    "github_project": "yagna",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "golem-node"
}
        
Elapsed time: 4.65931s