{ "info": { "author": "Christian Decker", "author_email": "decker.christian+pypi@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Operating System :: MacOS", "Operating System :: POSIX", "Programming Language :: Python :: 3" ], "description": "# lnet -- Simplified Lightning Network Setup\n\nHave you ever tried setting up a small Lightning Network on regtest to\ndevelop or demo against, and found it frustrating and confusing?\n`lnet`'s goal is to make it easy to spin up any network topology for\ntesting or demoing, all you need to do is describe the network in the\ngraphviz `dot` format.\n\nTake the following example, which will spin up two nodes, called\n`client` and `server` respectively, connect them and fund a\nchannel. It'll also create an invoice on the server to balance the\nchannel by sending over 500'000msat. You describe it, we make it\nhappen.\n\n\n```dot\ngraph g {\n client -- server [capacity=\"10000000:500000\"];\n}\n```\n\nA more complicated setup could be a star topology and some multi-hop paths:\n\n```dot\ngraph g {\n client1 -- server [capacity=\"10000000\"];\n client2 -- server [capacity=\"10000000\"];\n client3 -- server [capacity=\"10000000\"];\n client4 -- server [capacity=\"10000000\"];\n client5 -- server [capacity=\"10000000\"];\n \n \"client5-1\" -- client5 [capacity=\"10000000\"];\n \"client5-2\" -- client5 [capacity=\"10000000\"];\n \"client5-3\" -- client5 [capacity=\"10000000\"];\n\n}\n```\n\n\n\n## Installation\n\n`lnet` is just a simple `pip install` away:\n\n```bash\npip3 install lnet\n```\n\nThis will install the `lnet-cli` and `lnet-daemon` command line\nutilities. `lnet-daemon` starts, monitors and provides access to\n`bitcoind` and any number of `c-lightning` nodes, while `lnet-cli` is\nused to interact with the daemon and the nodes.\n\n## Usage\n\nAll operations are performed through `lnet-cli`, which will start\n`lnet-daemon` if required. `lnet-cli` has the following commands:\n\n - `start [dotfile]` parses the `dotfile`, extracting nodes and\n channels, and tries to recreate the desired topology. It'll open\n channels and confirm them to make the usable, however it currently\n requires that the network topology is not partitioned. See below\n for attributes that are defined.\n - `stop` stops the currently running topology\n - `shutdown` stops the running topology and shuts down the `lnet-daemon`\n - `node [nodename] [rpc_method] [params...]` executes `rpc_method` on\n the node with name `nodename` and the specified `params`. This is\n mainly used as a shorthand to give access without having to\n configure your shell.\n - `alias` configures your shell with a number of aliases to make it\n easy to interact with the daemons without going through\n `lnet-cli`. You can use it with `eval $(lnet-cli alias)`.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cdecker/lnet", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "lnet", "package_url": "https://pypi.org/project/lnet/", "platform": "", "project_url": "https://pypi.org/project/lnet/", "project_urls": { "Homepage": "https://github.com/cdecker/lnet" }, "release_url": "https://pypi.org/project/lnet/0.0.5/", "requires_dist": null, "requires_python": "", "summary": "Utilities to define and bootstrap lightning networks for testing", "version": "0.0.5" }, "last_serial": 4612528, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7ada719736784ef0f7f1808372e59e3a", "sha256": "1cf89c0e1c0e95ede2b7e4076d5d5f1958a375ae372080164d8c192986748122" }, "downloads": -1, "filename": "lnet-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7ada719736784ef0f7f1808372e59e3a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4426, "upload_time": "2018-10-26T17:42:53", "url": "https://files.pythonhosted.org/packages/d9/da/e1bc3c6a2f6b39220544698a82711f7ceeadda7d78e3f28821bfcc7d5bcd/lnet-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dbf5bbd9111bede7571223cda67fef4", "sha256": "47b56673e8e965c4a537e872f2310da0f6b9e462446abfbaff6a3a949623e00a" }, "downloads": -1, "filename": "lnet-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1dbf5bbd9111bede7571223cda67fef4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3050, "upload_time": "2018-10-26T17:42:55", "url": "https://files.pythonhosted.org/packages/bb/c3/7bc853a3fd3c2a4f43c04e1a665aaf802f7cb7060ea6a84320d444b25443/lnet-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "c9e0dd1498d8aba0320ee6cc410dfc32", "sha256": "b61adb1749640d7bf3dd2e5ea66da30a6c62585687df4b3e29b1652a78788699" }, "downloads": -1, "filename": "lnet-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c9e0dd1498d8aba0320ee6cc410dfc32", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4428, "upload_time": "2018-11-07T00:20:19", "url": "https://files.pythonhosted.org/packages/02/06/e2bd2be640041c483fdfd760d49597093e69013ba375b3cb536357ecc359/lnet-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbfaafa47ec0199ea172b361f4424757", "sha256": "fdc6bf66019970d14457358fdb5903ce680735f9e48b6f1d401c7067f7463e34" }, "downloads": -1, "filename": "lnet-0.0.2.tar.gz", "has_sig": false, "md5_digest": "fbfaafa47ec0199ea172b361f4424757", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3058, "upload_time": "2018-11-07T00:20:21", "url": "https://files.pythonhosted.org/packages/5d/17/0861eb73e5411b116ad146fd8b72fa3dc63c296a3d896f61c7d4363cf1ae/lnet-0.0.2.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "4a77e8d3c5863068de4b74503a3676e5", "sha256": "170f870595393276c0065ec1f0835c22f73cefb9334e24f1beaf16de8da41e8b" }, "downloads": -1, "filename": "lnet-0.0.4.tar.gz", "has_sig": false, "md5_digest": "4a77e8d3c5863068de4b74503a3676e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14714, "upload_time": "2018-12-18T14:34:07", "url": "https://files.pythonhosted.org/packages/37/b2/e9174101a9fe3752bb86f78261e48f6c44fe64c3b08f90bb8be533255009/lnet-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "9d6db788130b990d4c69b4732977df55", "sha256": "53c1d2b2e88f5873e08f7a4dba5f0ac6b5c3198691648c0cee03163fce58c2ab" }, "downloads": -1, "filename": "lnet-0.0.5.tar.gz", "has_sig": false, "md5_digest": "9d6db788130b990d4c69b4732977df55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14739, "upload_time": "2018-12-18T14:52:03", "url": "https://files.pythonhosted.org/packages/98/67/71c280263542e5f8fb26a59e8f033b2aa76350763a4f20bce12a35ba056a/lnet-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9d6db788130b990d4c69b4732977df55", "sha256": "53c1d2b2e88f5873e08f7a4dba5f0ac6b5c3198691648c0cee03163fce58c2ab" }, "downloads": -1, "filename": "lnet-0.0.5.tar.gz", "has_sig": false, "md5_digest": "9d6db788130b990d4c69b4732977df55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14739, "upload_time": "2018-12-18T14:52:03", "url": "https://files.pythonhosted.org/packages/98/67/71c280263542e5f8fb26a59e8f033b2aa76350763a4f20bce12a35ba056a/lnet-0.0.5.tar.gz" } ] }