Project

General

Profile

Research #40

Research Raiden (state / payment channels)

Added by didi almost 8 years ago. Updated almost 8 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
-

Description

Website
Github PoC releases (currently: PoC 4)
Doc for PoC-0 - contains usage example.

What the PoC supposedly already can do:

  • bidirectional channels
  • P2P routed channels (no direct connection necessary)

There's a time difference of min. 10 blocks between channel closing and settling for security reasons.


Related issues

Related to lab10 - Research #28: Local coin (Grazcoin) In Progress

History

#1 Updated by didi almost 8 years ago

  • Subject changed from Research Raiden (state channel) to Research Raiden (state channels)
  • Description updated (diff)

contract addresses for Ropsten: https://pypi.python.org/pypi/raiden/0.0.4

Install from source worked, but when running it, scrypt couldn't be loaded:

Failed to import scrypt. This is not a fatal error but does
mean that you cannot create or decrypt privkey jsons that use
scrypt

Since the next step is trying to unlock an account, that makes it a non-starter.

2nd try:

virtualenv venv
source venv/bin/activate
pip install --upgrade setuptools
pip install rlp==0.4.6
pip install raiden

worked. However:

venv/bin/raiden --eth_rpc_endpoint 127.0.0.1:2017 --address 0x50258d38ae3c13a6709522edc1e45105521f0e39 --keystore-path /home/didi/src/die-unendliche-wahl/blockchain/testnet-admin/keystore/ --discovery_contract_address 0x79ab17cc105e820368e695dfa547604651d02cbb --registry_contract_address 0x32c5dab9b099a5b6c0e626c1862c07b30f58d76a
Enter the password to unlock 50258d38ae3c13a6709522edc1e45105521f0e39: 
Traceback (most recent call last):
  File "venv/bin/raiden", line 11, in <module>
    load_entry_point('raiden==0.0.4', 'console_scripts', 'raiden')()
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/raiden/__main__.py", line 8, in main
    run()
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/raiden/ui/cli.py", line 207, in run
    app_ = ctx.invoke(app, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/raiden/ui/cli.py", line 174, in app
    decode_hex(registry_contract_address),
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/rlp/utils_py2.py", line 60, in decode_hex
    return s.decode('hex')
  File "/home/didi/src/raiden_pip/venv/lib/python2.7/encodings/hex_codec.py", line 42, in hex_decode
    output = binascii.a2b_hex(input)
TypeError: Non-hexadecimal digit found

~~
No idea what this complaint is about, giving up here.~~

The contract addresses need to be delivered without leading 0x:
venv/bin/raiden --eth_rpc_endpoint http://127.0.0.1:2017 --address 0x50258d38ae3c13a6709522edc1e45105521f0e39 --keystore-path /home/didi/src/die-unendliche-wahl/blockchain/testnet-admin/keystore/ --registry_contract_address 32c5dab9b099a5b6c0e626c1862c07b30f58d76a
New command, new error:

Traceback (most recent call last):
  File "venv/bin/raiden", line 11, in <module>
    load_entry_point('raiden==0.0.4', 'console_scripts', 'raiden')()
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/raiden/__main__.py", line 8, in main
    run()
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/raiden/ui/cli.py", line 211, in run
    *split_endpoint(external_listen_address)
  File "/home/didi/src/raiden_pip/venv/local/lib/python2.7/site-packages/raiden/network/discovery.py", line 47, in register
    raise ValueError('You can only register your own endpoint.')
ValueError: You can only register your own endpoint.

caused by the code

    def register(self, node_address, host, port):
        if node_address != self.node_address:
            raise ValueError('You can only register your own endpoint.')

#2 Updated by didi almost 8 years ago

  • Description updated (diff)

#3 Updated by didi almost 8 years ago

#4 Updated by didi almost 8 years ago

  • Subject changed from Research Raiden (state channels) to Research Raiden (state / payment channels)

#5 Updated by didi almost 8 years ago

  • Description updated (diff)

Also available in: Atom PDF