MCPcopy
hub / github.com/raiden-network/raiden

github.com/raiden-network/raiden @v3.0.1 sqlite

repository ↗ · DeepWiki ↗ · release v3.0.1 ↗
3,877 symbols 23,622 edges 385 files 1,126 documented · 29%
README

Raiden

Fast, cheap, scalable token transfers for Ethereum

Quicklinks

Python 3.9 Chat on Gitter

The Raiden Network is an off-chain scaling solution, enabling near-instant, low-fee and scalable payments. It's complementary to the Ethereum Blockchain and works with any ERC20 compatible token. The Raiden project is work in progress. Its goal is to research state channel technology, define protocols and develop reference implementations.

INFO: The Raiden client and smart contracts have been released for Mainnet for the Alderaan release of the Raiden Network in May 2020.

The Raiden Network is an infrastructure layer on top of the Ethereum Blockchain. While the basic idea is simple, the underlying protocol is quite complex and the implementation non-trivial. Nonetheless the technicalities can be abstracted away, such that developers can interface with a rather simple API to build scalable decentralized applications based on the Raiden Network.

Raiden in a Nutshell

Table of Contents

Getting Started

Learn about Raiden

If you haven't used Raiden before, you can

Use Raiden

If you want to use Raiden: * Install Raiden easily with the Raiden Wizard * Read all installation options for Raiden * Read the updated WebUI tutorial to quickly get started doing payments * Read the thorough guide to get started with the Raiden API

Specification

Read the tentative specification for the Raiden Network to understand in detail how Raiden works. It is maintained within this repository.

Repositories

The Raiden Network is getting created with a set of tools, which are maintained in different repositories.

Core

  • The solidity smart contracts, libraries and deployment tools are used to bootstrap a Raiden Network on an Ethereum Chain.

  • The Raiden Python client within the current repository is used to manage payment channels and to make token transfers.

  • A configured matrix server joins a federation of Matrix servers which is used as the transport layer for the Raiden Network.

  • The Service repository contains the code for following services:

    • The Monitoring Service watches open payment channels when the user is not on-line.
    • The Pathfinding service supports users in finding the cheapest or shortest way to route a payment through the network.
  • The Light Client repository contains the code for following applications:

    • The Raiden Light Client SDK is a Raiden Network compatible client written in JavaScript/Typescript.
    • The Raiden DApp is a reference implementation of the Raiden Light Client SDK.

Tools

  • The Raiden WebUI is Raiden Web User Inteface to manage channels and make token transfers.

  • The Raiden Explorer visualizes the nodes of the Raiden Networks and shows more statistical information.

  • The Raiden Wizard makes it easy to install a Raiden client and join the Raiden Network.

  • The Scenario Player is an integration testing tool for the Raiden contracts, the Raiden client and the services.

  • The Workshop Scripts enable workshop facilitators to easily host a Raiden Workshop.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Also have a look at the Raiden Development Guide and the Raiden Developer On-boarding Guide for more info.

License

Distributed under the MIT License.

Contact

Dev Chat: Gitter

Twitter: @raiden_network

Website: Raiden Network

Blog: Medium

Mail: contact@raiden.network

The Raiden project is led by brainbot labs Est.

Disclaimer: Please note, that even though we do our best to ensure the quality and accuracy of the information provided, this publication may contain views and opinions, errors and omissions for which the content creator(s) and any represented organization cannot be held liable. The wording and concepts regarding financial terminology (e.g. "payments", "checks", "currency", "transfer" [of value]) are exclusively used in an exemplary way to describe technological principles and do not necessarily conform to the real world or legal equivalents of these terms and concepts.

Core symbols most depended-on inside this repo

to_checksum_address
called by 516
raiden/utils/formatting.py
get
called by 312
raiden/api/v1/resources.py
search_for_item
called by 152
raiden/tests/utils/events.py
api_url_for
called by 134
raiden/tests/integration/api/rest/utils.py
typecheck
called by 110
raiden/utils/typing.py
addresses_to_channel
called by 106
raiden/tests/utils/factories.py
assert_proper_response
called by 89
raiden/tests/integration/api/rest/utils.py
create_model
called by 80
raiden/tests/unit/channel_state/utils.py

Shape

Function 1,923
Method 1,298
Class 621
Route 35

Languages

Python100%

Modules by API surface

raiden/tests/utils/factories.py107 symbols
raiden/tests/fuzz/test_state_changes.py103 symbols
raiden/transfer/channel.py95 symbols
raiden/storage/sqlite.py76 symbols
raiden/network/rpc/client.py69 symbols
raiden/network/transport/matrix/rtc/web_rtc.py62 symbols
raiden/transfer/state_change.py61 symbols
raiden/api/v1/encoding.py60 symbols
raiden/tests/utils/mocks.py57 symbols
raiden/exceptions.py57 symbols
raiden/transfer/events.py56 symbols
raiden/api/v1/resources.py56 symbols

Dependencies from manifests, versioned

aiohttp3.7.4.post0 · 1×
aioice0.7.5 · 1×
aiortc1.2.1 · 1×
aiortc-pyav-stub0.1.1 · 1×
alabaster0.7.12 · 1×
altgraph0.16.1 · 1×
aniso86017.0.0 · 1×
apipkg1.5 · 1×
asn1crypto1.3.0 · 1×
astroid2.8.0 · 1×
astunparse1.6.2 · 1×
async-timeout3.0.1 · 1×

For agents

$ claude mcp add raiden \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact